В этом руководстве мы расскажем, как установить PostgreSQL 16 на Ubuntu 22.04. Кроме того, мы рассмотрим некоторые фундаментальные настройки для включения удаленных подключений, включения аутентификации по паролю и начала создания пользователей и баз данных.

PostgreSQL это система управления реляционными базами данных (СУБД) с открытым исходным кодом, разработка которой ведется уже более 35 лет. Она известна своей масштабируемостью, высокой репутацией в области целостности данных, оптимальной производительностью и соответствием стандартам SQL.

С момента первоначальной разработки в Калифорнийском университете в Беркли в 1986 году она претерпела значительные изменения благодаря вкладу активного сообщества разработчиков открытого кода.

14 сентября 2023 года PostgreSQL анонсировал очередной значительный релиз — PostgreSQL 16. Эта последняя версия обладает повышенной безопасностью, дополнительными возможностями настройки сервера и оптимальной производительностью. Кроме того, в нем улучшены управление политикой доступа, контроль синтаксиса SQL/JSON и др.

Предварительные условия

  • Активная и работающая Ubuntu 22.04
  • Привилегии Root или доступ sudo

1. Добавьте репозиторий PostgreSQL

Мы начнем с обновления репозитория программного обеспечения и установки необходимых пакетов с помощью команда apt.

$ sudo apt update
$ sudo apt install gnupg2 wget vim -y

Install-PostgreSQL-Dependecies-Ubuntu-22-04

Теперь выполните команду ниже, чтобы добавить репозиторий postgresql apt.

$ sudo sh -c 'echo "deb  $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

Далее импортируйте ключ подписи репозитория, выполнив следующую команду команда wget.

$ sudo wget --quiet -O -  | sudo apt-key add -

Снова обновите индекс пакета:

$ sudo apt update

2. Установка PostgreSQL 16 на Ubuntu 22.04

Чтобы установить PostgreSQL16 и модули contrib, выполните следующую команду:

$ sudo apt install postgresql-16 postgresql-contrib-16

Установка PostgreSQL 16 на Ubuntu 22.04

Далее запустите и включите службу PostgreSQL:

$ sudo systemctl start postgresql
$ sudo systemctl enable postgresql

Убедитесь, что служба PostgreSQL запущена и работает:

$ sudo systemctl status postgresql

Check-PostgreSQL-Service-Status-Ubuntu-22-04

Чтобы проверить версию PostgreSQL, выполните команду, как показано ниже:

$ sudo psql --version

Psql-Version-Check-Ubuntu

3. Настройка PostgreSQL 16 на Ubuntu 22.04

Теперь вы можете продолжить настройку PostgreSQL. PostgreSQL имеет несколько механизмов аутентификации. По умолчанию используется идентификационная аутентификация. При использовании этого метода аутентификации по умолчанию роль Postgres привязывается к пользователю UNIX.

Другие механизмы аутентификации включают:

  • Аутентификация по паролю: Использует пароль для установления соединения с PostgreSQL.
  • Доверительная аутентификация: Этот метод аутентификации позволяет роли подключаться при условии, что выполняются требования, перечисленные в pg_hba.conf.
  • Пиринговая аутентификация: Этот метод аутентификации похож на ident; разница в том, что он ограничен только локальными соединениями.

Для начала давайте настроим PostgreSQL 16 на разрешение удаленных подключений. Для этого отредактируйте приведенный ниже файл:

$ sudo vim /etc/postgresql/16/main/postgresql.conf

Здесь установите параметр listen_addresses в * и удалите комментарий, как показано ниже:

Allow-Remote-Connections-PostgreSQL-Ubuntu-22-04

После внесения необходимых изменений сохраните файл.

Выполните следующую команду sed, чтобы разрешить аутентификацию по паролю:

$ sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/16/main/pg_hba.conf

Теперь используйте следующую команду для переключения механизма аутентификации с peer на trust:

$ sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/16/main/pg_hba.conf

Завершите конфигурацию, добавив следующие строки, чтобы включить удаленный доступ к PostgreSQL:

$ sudo vim /etc/postgresql/16/main/pg_hba.conf

Allow-Remote-Access-PostgreSQL-Database-Ubuntu

Сохраните изменения и перезапустите службу PostgreSQL:

$ sudo systemctl restart postgresql

Если ваш брандмауэр включен, разрешите порту PostgreSQL проходить через него:

$ sudo ufw allow 5432/tcp

Allow-PostgreSQL-Port-Ubuntu-Firewall

4. Подключитесь к PostgreSQL

Чтобы подключиться к этому механизму базы данных, выполните следующую команду для подключения от имени пользователя Postgres:

$ sudo -u postgres psql

Connect-PostgreSQL-Database-Ubuntu

5. Начало работы с PostgreSQL 16

После установления соединения с базой данных вы можете выполнять различные действия. Среди них:

Настройка пароля пользователя Postgres

Чтобы задать пароль для пользователя Postgres, выполните следующую команду:

ALTER USER postgres PASSWORD 'StronGlinuxbuzz@254';

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

$ psql -h localhost -U postgres

Access-PostgreSQL-Database-with-Postgres-User-Ubuntu

Создание базы данных PostgreSQL

Используйте следующую команду для создания тестовой базы данных:

CREATE DATABASE sampleDB;

Кроме того, с помощью следующей команды создайте пользователя с правами на управление базой данных:

CREATE USER pradeep with encrypted password 'deza@1123';
GRANT ALL PRIVILEGES ON DATABASE sampleDB to pradeep;

Create-Database-in-PostgreSQL-Ubuntu-22-04

Чтобы выйти из базы данных PostgreSQL, можно воспользоваться следующей командой \q.

Заключение

Вот и все! Мы успешно установили PostgreSQL 16 на Ubuntu 22.04. Теперь с помощью PostgreSQL вы можете создавать сложные и надежные базы данных для своих приложений.