Установка PostgreSQL
Пакет PostgreSQL можно загрузить из официального репозитория Ubuntu с помощью стандартного менеджера пакетов. Сначала нужно обновить индекс пакетов системы, а затем можно загрузить пакеты PostgreSQL и contrib (он предоставляет дополнительные утилиты):
sudo apt install postgresql postgresql-contrib
Установка программы завершена. Теперь можно ознакомиться с её функциями и особенностями.
Роли и базы данных PostgreSQL
По умолчанию PostgreSQL использует так называемые роли. Роли чем-то похожи на учётные записи пользователей или группы Unix-подобных систем.
Во время установки PostgreSQL использует модель аутентификации ident, которая связывает роли PostgreSQL со стандартными пользователями Unix/Linux. Открыть существующую роль можно при помощи связанной с ней учётной записи Linux.
Во время установки был создан Linux-пользователь postgres, который связан со стандартной ролью системы. Можно использовать этот аккаунт, чтобы подключиться к Postgres.
Существует несколько способов получить доступ к PostgreSQL при помощи этого аккаунта.
Пользователь postgres
Чтобы перейти в сессию пользователя postgres, введите:
Чтобы получить доступ к командной строке, введите: psql
Команда выполнит вход и откроет доступ к управлению СУБД.
Чтобы закрыть командную строку PostgreSQL, наберите:\q
Это вернёт командную строку postgres в Linux.
Прямой доступ к командной строке PostgreSQL
Можно также получить доступ к командной строке PostgreSQL, не изменяя при этом сессии пользователя. Для этого нужен доступ к команде sudo.
Чтобы получить доступ к командной строке Postgres, запустите команду psql как пользователь postgres с правами sudo:
Эта команда выполнит автоматический вход в PostgreSQL без промежуточной оболочки bash.
Чтобы закрыть эту командную строку, введите: \q
Создание пользователя и базы
Юзер postgres это "root" для postgresql. Удобней зайти в консоль от него
Создать нового пользователя
Создать базу для него
выйти из-под postgres exit
и коннектиться
Команды psql
\l
- список баз данных
\c dbname
- подсоединение к БД dbname
\dt
- список всех таблиц текущей базы
\d table
- структура таблицы table
\du
- список всех пользователей и их привилегий
\dt+
- список всех таблиц с описанием
\dt *s*
- список всех таблиц, содержащих s в имени
Отношения и CRUD операции с данными
Создание новой таблицы данных на примере countries
Вставка новых строк
Проверить содержимое таблицы
Удаление строк
Обновление данных