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

Дата публикации: 2025-04-26T14:33:51

Теги: ["PostgreSQL", "ubuntu"]

⏪ Вернуться домой
⏪ В Gemlog

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

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

Предпосылки

Конвенции

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

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

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

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

Установка PostgreSQL

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

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

$ sudo apt install -y postgresql-common -y

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

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

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

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.

$ sudo apt install -y postgresql

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

$ sudo systemctl start postgresql

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

$ sudo systemctl enable postgresql

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

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, чтобы подтвердить, что он находится в активном состоянии.

$ sudo systemctl status postgresql

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

● 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.

$ psql --version

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

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

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

$ sudo -u postgres psql

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

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

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

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

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

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

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

postgres=# EXIT;

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

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

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

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

$ sudo systemctl restart postgresql

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

$ sudo systemctl status postgresql

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

● 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`.

$ sudo -u postgres createdb amusement_park -O park_admin

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

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

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

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

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

amusement_park=> CREATE TABLE visitors (
           visitor_id SERIAL PRIMARY KEY,
           first_name VARCHAR(50),
           last_name VARCHAR(50),
           entry_date DATE
      );

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

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

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`, чтобы просмотреть все доступные записи.

amusement_park=> SELECT * FROM visitors;

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

 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.

amusement_park=> EXIT;

Завершение

Вы установили PostgreSQL на сервере Ubuntu 25.04 и использовали утилиту psql для создания баз данных и управления записями. Теперь вы можете интегрировать PostgreSQL с вашими приложениями для безопасного управления данными. Для дополнительной информации и вариантов конфигурации обратитесь к [официальной документации PostgreSQL](https://www.postgresql.org/docs/).

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