Как установить PostgreSQL в Ubuntu 20.04 [Быстрый старт]
Введение
Язык запросов SQL. Он соответствует стандартам и имеет множество дополнительных функций, таких как надежные транзакции и параллелизм без блокировки чтения.
В этом руководстве показано, как быстро настроить и запустить Postgres на сервере Ubuntu 20.04, от установки PostgreSQL до настройки нового пользователя и базы данных. Если вы предпочитаете более подробное руководство по установке и управлению базой данных PostgreSQL, см. раздел Установка и использование PostgreSQL в Ubuntu 20.04.
Предпосылки
Чтобы следовать этому руководству, вам понадобится один сервер Ubuntu 20.04, настроенный в соответствии с нашим руководством по начальной настройке сервера для Ubuntu 20.04. После завершения этого обязательного руководства на вашем сервере должен быть пользователь без полномочий root с разрешениями sudo и базовым брандмауэром.
Шаг 1 — Установка PostgreSQL
Чтобы установить PostgreSQL, сначала обновите локальный индекс пакетов вашего сервера:
- sudo apt update
Затем установите пакет Postgres вместе с пакетом -contrib
, который добавляет некоторые дополнительные утилиты и функции:
- sudo apt install postgresql postgresql-contrib
Убедитесь, что служба запущена:
- sudo systemctl start postgresql.service
Шаг 2 — Использование ролей и баз данных PostgreSQL
По умолчанию Postgres использует концепцию, называемую «ролями», для обработки аутентификации и авторизации. В некотором смысле они аналогичны обычным пользователям и группам в стиле Unix.
После установки Postgres настраивается на использование аутентификации ident, что означает, что он связывает роли Postgres с соответствующей системной учетной записью Unix/Linux. Если в Postgres существует роль, имя пользователя Unix/Linux с таким же именем может войти в систему в качестве этой роли.
Процедура установки создала учетную запись пользователя с именем postgres, связанную с ролью Postgres по умолчанию. Есть несколько способов использовать эту учетную запись для доступа к Postgres. Один из способов — переключиться на учетную запись postgres на вашем сервере, выполнив следующую команду:
- sudo -i -u postgres
Затем вы можете получить доступ к командной строке Postgres, выполнив:
- psql
Вы войдете в командную строку PostgreSQL, и отсюда вы сможете сразу взаимодействовать с системой управления базой данных.
Чтобы выйти из приглашения PostgreSQL, выполните следующее:
- \q
Это вернет вас в командную строку postgres Linux. Чтобы вернуться к обычному системному пользователю, выполните команду exit
:
- exit
Другой способ подключиться к командной строке Postgres — запустить команду psql
от имени учетной записи postgres напрямую с помощью sudo
:
- sudo -u postgres psql
Это позволит вам напрямую войти в Postgres без промежуточной оболочки bash
между ними.
Опять же, вы можете выйти из интерактивного сеанса Postgres, выполнив следующее:
- \q
Шаг 3 — Создание новой роли
Если вы вошли в систему как учетная запись postgres, вы можете создать новую роль, выполнив следующую команду:
- createuser --interactive
Если вместо этого вы предпочитаете использовать sudo
для каждой команды, не переключаясь с вашей обычной учетной записи, запустите:
- sudo -u postgres createuser --interactive
В любом случае сценарий предложит вам несколько вариантов и, основываясь на ваших ответах, выполнит правильные команды Postgres для создания пользователя в соответствии с вашими требованиями.
OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
Шаг 4 — Создание новой базы данных
Еще одно предположение, которое система аутентификации Postgres делает по умолчанию, заключается в том, что для любой роли, используемой для входа в систему, эта роль будет иметь базу данных с тем же именем, к которой она может получить доступ.
Это означает, что если пользователя, которого вы создали в последнем разделе, зовут sammy, эта роль попытается подключиться к базе данных, которая по умолчанию также называется «sammy». Вы можете создать соответствующую базу данных с помощью createdb
команда.
Если вы вошли в систему как учетная запись postgres, вы должны ввести что-то вроде следующего:
- createdb sammy
Если вместо этого вы предпочитаете использовать sudo
для каждой команды, не переключаясь с вашей обычной учетной записи, вы должны запустить:
- sudo -u postgres createdb sammy
Шаг 5 — Открытие командной строки Postgres с новой ролью
Чтобы войти с аутентификацией на основе ident
, вам понадобится пользователь Linux с тем же именем, что и у вашей роли и базы данных Postgres.
Если у вас нет соответствующего пользователя Linux, вы можете создать его с помощью команды adduser
. Вам нужно будет сделать это из своей учетной записи без полномочий root с привилегиями sudo
(это означает, что вы не вошли в систему как пользователь postgres):
- sudo adduser sammy
Как только эта новая учетная запись будет доступна, вы можете переключиться и подключиться к базе данных, выполнив следующее:
- sudo -i -u sammy
- psql
Или вы можете сделать это встроенным:
- sudo -u sammy psql
Эта команда автоматически войдет в систему, предполагая, что все компоненты настроены правильно.
Если вы хотите, чтобы ваш пользователь подключался к другой базе данных, вы можете сделать это, указав базу данных следующим образом:
- psql -d postgres
После входа в систему вы можете проверить текущую информацию о подключении, запустив:
- \conninfo
OutputYou are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
Заключение
Теперь вы настроили PostgreSQL на своем сервере Ubuntu 20.04. Если вы хотите узнать больше о Postgres и о том, как его использовать, мы рекомендуем вам ознакомиться со следующими руководствами:
- Сравнение систем управления реляционными базами данных
- Попрактикуйтесь в выполнении запросов с помощью SQL