Установка и использование Postgresql в Linux(Ubuntu/Debian)

lepiloff

Nov. 13, 2018, 12:16 p.m.

Установка PostgreSQL

Пакет PostgreSQL можно загрузить из официального репозитория Ubuntu с помощью стандартного менеджера пакетов. Сначала нужно обновить индекс пакетов системы, а затем можно загрузить пакеты PostgreSQL и contrib (он предоставляет дополнительные утилиты):

sudo apt update
sudo apt install postgresql postgresql-contrib

Установка программы завершена. Теперь можно ознакомиться с её функциями и особенностями.


Роли и базы данных PostgreSQL

По умолчанию PostgreSQL использует так называемые роли. Роли чем-то похожи на учётные записи пользователей или группы Unix-подобных систем.

Во время установки PostgreSQL использует модель аутентификации ident, которая связывает роли PostgreSQL со стандартными пользователями Unix/Linux. Открыть существующую роль можно при помощи связанной с ней учётной записи Linux.

Во время установки был создан Linux-пользователь postgres, который связан со стандартной ролью системы. Можно использовать этот аккаунт, чтобы подключиться к Postgres.

Существует несколько способов получить доступ к PostgreSQL при помощи этого аккаунта.

Пользователь postgres

Чтобы перейти в сессию пользователя postgres, введите:

sudo -i -u postgres

Чтобы получить доступ к командной строке, введите: psql

Команда выполнит вход и откроет доступ к управлению СУБД.

Чтобы закрыть командную строку PostgreSQL, наберите:\q

Это вернёт командную строку postgres в Linux.

Прямой доступ к командной строке PostgreSQL

Можно также получить доступ к командной строке PostgreSQL, не изменяя при этом сессии пользователя. Для этого нужен доступ к команде sudo.

Чтобы получить доступ к командной строке Postgres, запустите команду psql как пользователь postgres с правами sudo:

sudo -u postgres psql

Эта команда выполнит автоматический вход в PostgreSQL без промежуточной оболочки bash.

Чтобы закрыть эту командную строку, введите: \q

Создание пользователя и базы

Юзер postgres это "root" для postgresql. Удобней зайти в консоль от него 

sudo -u postgres -i

Создать нового пользователя

createuser -P username

Создать базу для него

createdb -O username mydb

выйти из-под postgres exit и коннектиться 

psql -h localhost -U username mydb

Команды psql

\l - список баз данных

\c dbname - подсоединение к БД dbname

\dt - список всех таблиц текущей базы

\d table - структура таблицы table

\du - список всех пользователей и их привилегий

\dt+ - список всех таблиц с описанием

\dt *s* - список всех таблиц, содержащих s в имени

 

Отношения и CRUD операции с данными

Создание новой таблицы данных на примере countries

CREATE TABLE countries(country_code char(2) PRIMARY KEY, country_name TEXT UNIQUE);

Вставка новых строк

INSERT INTO countries (country_code, country_name) VALUES  ('US' , 'United State'), ('MX','Mexico');

Проверить содержимое таблицы

SELECT * FROM countries;

Удаление строк

DELETE FROM countries WHERE country_code = "us"

Обновление данных

UPDATE countries SET country_name ='Kingdom' WHERE country_name = 'United Kingdom';

postgresql, linux