PostgreSQL - это надежная и масштабируемая система реляционных баз данных с открытым исходным кодом, которая поддерживает сложные запросы, типы пользовательских данных и JSON. Это идеально подходит для управления большими наборами данных в таких приложениях, как аналитика, ГИС и динамические веб-сайты. Он имеет богатый набор функций, совершенный на протяжении десятилетий и сильное сообщество, которое обеспечивает устойчивость и целостность данных. Разработчики предпочитают его гибкость и совместимость с современными рабочими процессами данных.

Эта статья объясняет, как установить PostgreSQL на сервере Ubuntu 25.04. Вы позволите серверу базы данных PostgreSQL и обезопасите его для использования на вашем сервере.

Предпосылки

  • Сервер с Ubuntu 25.04 в качестве ОС
  • Права пользователя: пользователь root или обычный пользователь с привилегиями sudo

Конвенции

1
2
# - данные команды должны выполняться с правами root либо непосредственно от имени пользователя root, либо с помощью команды sudo.
$ - данные команды должны выполняться от имени обычного пользователя.

Обновите систему

Свежая установка Ubuntu 25.04 требует обновления пакетов до последних доступных версий.

1
$ sudo apt update -y && sudo apt upgrade -y

Установка PostgreSQL

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

Установите пакет postgresql-common, который включает в себя общие утилиты и конфигурации для управления PostgreSQL.

1
$ sudo apt install -y postgresql-common -y

Запустите настройку, чтобы добавить хранилище PostgreSQL APT на вашем сервере.

1
$ sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

При нажатии нажмите клавишу Enter для установки хранилища на вашем сервере:

1
2
3
4
This script will enable the PostgreSQL APT repository on apt.postgresql.org on
your system. The distribution codename used will be plucky-pgdg.

Press Enter to continue, or Ctrl-C to abort.

Установить пакет сервера PostgreSQL.

1
$ sudo apt install -y postgresql

Начните службу PostgreSQL.

1
$ sudo systemctl start postgresql

Включить системный сервис PostgreSQL для запуска во время загрузки системы.

1
$ sudo systemctl enable postgresql

Ваш вывод должен быть похож на следующий:

1
2
Synchronizing state of postgresql.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.
Executing: /usr/lib/systemd/systemd-sysv-install enable postgresql

Посмотрите на статус сервиса PostgreSQL, чтобы подтвердить, что он находится в активном состоянии.

1
$ sudo systemctl status postgresql

Ваш вывод должен быть похож на следующий:

1
2
3
4
5
6
7
 postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Wed 2025-04-23 13:47:47 UTC; 3min 25s ago
 Invocation: 40d8e6047ffc4124834b0fb0d1fc16d8
   Main PID: 4811 (code=exited, status=0/SUCCESS)
   Mem peak: 1.6M
        CPU: 6ms

Защищать PostgreSQL

PostgreSQL использует учетную запись по умолчанию postgres superuser для решения административных задач, таких как управление базами данных и пользователями. На Ubuntu он по умолчанию для одноранговой аутентификации, что позволяет получать доступ только к пользователям локальной системы, не требуя пароля. Следуйте приведенным ниже шагам, чтобы улучшить безопасность, разрешить более широкий контроль доступа, включить аутентификацию паролей и ограничить доступ только к авторизованным пользователям.

Проверьте установленную версию PostgreSQL.

1
$ psql --version

Ваш вывод должен быть похож на следующий:

1
psql (PostgreSQL) 17.4 (Ubuntu 17.4-1.pgdg25.04+2)

Войдите на сервер PostgreSQL в качестве пользователя postgres.

1
$ sudo -u postgres psql

Установите новый надежный пароль для пользователя postgres.

1
postgres=# ALTER USER postgres WITH ENCRYPTED PASSWORD 'strong_password';

Заменить strong_password сильным паролем, включая случайные символы.

Создайте новый пользователь под названием park_admin и установите надежный пароль для безопасной аутентификации.

1
postgres=# CREATE USER park_admin ENCRYPTED PASSWORD 'strong_password';

Заменить strong_password сильным паролем, включая случайные символы.

Выйдите из консоли PostgreSQL.

1
postgres=# EXIT;

Включить аутентификацию паролей путем изменения файла pg_hba.conf.

1
$ sudo sed -i '/^local/s/peer/scram-sha-256/' /etc/postgresql/17/main/pg_hba.conf

Заменить 17 на установленную версию PostgreSQL, если она отличается.

Перезапустите сервис PostgreSQL, чтобы применить изменения, внесенные в конфигурацию.

1
$ sudo systemctl restart postgresql

Просмотр статуса сервиса для подтверждения сервиса PostgreSQL находится в активном состоянии.

1
$ sudo systemctl status postgresql

Ваш вывод должен быть похож на следующий:

1
2
3
4
5
6
7
8
 postgresql.service - PostgreSQL RDBMS
     Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
     Active: active (exited) since Thu 2025-04-24 19:59:41 UTC; 1 day 19h ago
Invocation: 3bb07d5e081e4289976cf4d957be27a0
    Process: 7257 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
   Main PID: 7257 (code=exited, status=0/SUCCESS)
   Mem peak: 1.6M
        CPU: 6ms

Доступ к PostgreSQL

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

Создайте новый образец базы данных PostgreSQL amusement_park и дайте право собственности пользователю park_admin.

1
$ sudo -u postgres createdb amusement_park -O park_admin

При постановке введите пароль пользователя postgres, который вы создали ранее.

Войдите в базу данных PostgreSQL в качестве пользователя park_admin.

1
$ sudo -u postgres psql -U park_admin -d amusement_park

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

Создайте новую таблицу visitors в базе данных amusement_park.

1
2
3
4
5
6
amusement_park=> CREATE TABLE visitors (
           visitor_id SERIAL PRIMARY KEY,
           first_name VARCHAR(50),
           last_name VARCHAR(50),
           entry_date DATE
      );

Вышеупомянутое заявление SQL создает новую таблицу в базе данных amusement_park со следующими колонками:

  • visitor_id - это PRIMARY KEY, который уникально идентифицирует каждого посетителя.
  • SERIAL генерирует новый visitor_id для каждой новой записи.
  • first_name и last_name сохранить имя посетителя.
  • entry_date сохраняет дату входа посетителя в amusement_park.

Вставить данные выборки в таблицу visitors.

1
2
3
4
5
6
amusement_park=> INSERT INTO visitors
       ( first_name, last_name, entry_date)
       VALUES
       ( 'Alice', 'Wong', '2024-11-15'),
       ( 'Brian', 'Taylor', '2024-02-28'),
       ( 'Clara', 'Nguyen', '2024-04-10');

Запросите visitors, чтобы просмотреть все доступные записи.

1
amusement_park=> SELECT * FROM visitors;

Ваш вывод должен быть похож на следующий:

1
2
3
4
5
6
 visitor_id | first_name | last_name | entry_date 
------------+------------+-----------+------------
          1 | Alice      | Wong      | 2024-11-15
          2 | Brian      | Taylor    | 2024-02-28
          3 | Clara      | Nguyen    | 2024-04-10
(3 rows)

Выйдите из консоли PostgreSQL.

1
amusement_park=> EXIT;

Завершение

Вы установили PostgreSQL на сервере Ubuntu 25.04 и использовали утилиту psql для создания баз данных и управления записями. Теперь вы можете интегрировать PostgreSQL с вашими приложениями для безопасного управления данными. Для дополнительной информации и вариантов конфигурации обратитесь к официальной документации PostgreSQL.

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