Как установить PostgreSQL на Ubuntu 22.04

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

В этом посте мы расскажем вам, как установить базу данных PostgreSQL на Ubuntu 22.04.

Начало работы

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

apt update -y
apt upgrade -y

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

apt install wget curl gnupg2 -y

После установки всех зависимостей можно приступать к установке InfluxDB.

Добавление репозитория PostgreSQL

По умолчанию последняя версия PostgreSQL недоступна в стандартном репозитории Ubuntu 22.04. Поэтому вам необходимо добавить официальный репозиторий PostgreSQL в вашу систему.

Вы можете добавить репозиторий PostgreSQL и ключ GPG с помощью следующей команды:

sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget -qO- https://www.postgresql.org/media/keys/ACCC4CF8.asc | tee /etc/apt/trusted.gpg.d/pgdg.asc &>/dev/null

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

apt update -y

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

Теперь вы можете установить PostgreSQL 15, выполнив следующую команду:

apt install postgresql postgresql-client -y

После установки PostgreSQL проверьте статус PostgreSQL с помощью следующей команды:

systemctl status postgresql

Вы должны получить следующий результат:

? postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2022-12-05 14:28:18 UTC; 1min 57s ago
   Main PID: 10824 (code=exited, status=0/SUCCESS)
        CPU: 4ms

Dec 05 14:28:18 ubuntu2204 systemd[1]: Starting PostgreSQL RDBMS...
Dec 05 14:28:18 ubuntu2204 systemd[1]: Finished PostgreSQL RDBMS.

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

sudo -u postgres psql -c "SELECT version();"

Вы получите следующий результат:

                                                              version                                                              
-----------------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 15.1 (Ubuntu 15.1-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
(1 row)

Настройка PostgreSQL для удаленного подключения

По умолчанию PostgreSQL разрешает подключения только с локального хоста. Если вы хотите разрешить удаленное подключение, то вам необходимо отредактировать конфигурационный файл PostgreSQL и определить метод аутентификации. Это можно сделать, отредактировав следующий файл:

nano /etc/postgresql/15/main/pg_hba.conf

Измените следующие строки:

local   all             all                                     trust

host    all             all             0.0.0.0/0                md5

Сохраните и закройте файл, когда закончите. Затем отредактируйте основной конфигурационный файл PostgreSQL и измените порт прослушивания:

nano /etc/postgresql/15/main/postgresql.conf

Измените следующую строку:

listen_addresses='*'

Сохраните и закройте файл, затем перезапустите службу PostgreSQL, чтобы применить изменения:

systemctl restart postgresql

Создание административного пользователя

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

sudo -u postgres psql

После входа в систему вы получите следующую оболочку:

psql (15.1 (Ubuntu 15.1-1.pgdg22.04+1))
Type "help" for help.

postgres=# 

Далее создайте пользователя admin и установите пароль с помощью следующей команды:

CREATE ROLE root WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'password';

Затем проверьте созданного пользователя с помощью следующей команды:

\du

Вы должны увидеть следующий результат:

                                   List of roles
 Role name |                         Attributes                         | Member of 
-----------+------------------------------------------------------------+-----------
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
 root      | Superuser, Create role, Create DB                          | {}


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

В этом разделе мы покажем вам, как создать базу данных и пользователя в PostgreSQL.

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

create database wpdb;

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

create user wpuser with encrypted password 'password';

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

grant all privileges on database wpdb to wpuser;

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

\l

Вы должны получить список всех баз данных в следующем выводе:

                                                 List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    | ICU Locale | Locale Provider |   Access privileges   
-----------+----------+----------+-------------+-------------+------------+-----------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | 
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =c/postgres          +
           |          |          |             |             |            |                 | postgres=CTc/postgres
 wpdb      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |            | libc            | =Tc/postgres         +
           |          |          |             |             |            |                 | postgres=CTc/postgres+
           |          |          |             |             |            |                 | wpuser=CTc/postgres
(4 rows)

Как подключить PostgreSQL с удаленной машины

На данном этапе PostgreSQL установлен и настроен на разрешение подключений с удаленных узлов. Чтобы проверить удаленное подключение PostgreSQL, выполните следующую команду:

psql 'postgres://wpuser:password@postgres-ip-address:5432/wpdb?sslmode=disable'

Заключение

Поздравляем! Вы успешно установили и настроили сервер PostgreSQL на Ubuntu 22.04. Теперь вы можете использовать PostgreSQL в производственной среде для достижения высокой производительности и целостности данных. Не стесняйтесь спрашивать меня, если у вас возникнут вопросы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *