Как установить PostgreSQL на Ubuntu 25.04
Дата публикации: 2025-04-26T14:33:51
Теги: ["PostgreSQL", "ubuntu"]
PostgreSQL - это надежная и масштабируемая система реляционных баз данных с открытым исходным кодом, которая поддерживает сложные запросы, типы пользовательских данных и JSON. Это идеально подходит для управления большими наборами данных в таких приложениях, как аналитика, ГИС и динамические веб-сайты. Он имеет богатый набор функций, совершенный на протяжении десятилетий и сильное сообщество, которое обеспечивает устойчивость и целостность данных. Разработчики предпочитают его гибкость и совместимость с современными рабочими процессами данных.
Эта статья объясняет, как установить PostgreSQL на сервере Ubuntu 25.04. Вы позволите серверу базы данных PostgreSQL и обезопасите его для использования на вашем сервере.
Предпосылки
- Сервер с Ubuntu 25.04 в качестве ОС
- Права пользователя: пользователь root или обычный пользователь с привилегиями sudo
Конвенции
# - данные команды должны выполняться с правами 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` со следующими колонками:
- `visitor_id` - это `PRIMARY KEY`, который уникально идентифицирует каждого посетителя.
- `SERIAL` генерирует новый `visitor_id` для каждой новой записи.
- `first_name` и `last_name` сохранить имя посетителя.
- `entry_date` сохраняет дату входа посетителя в `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, пожалуйста, поделитесь им со своими друзьями в социальных сетях, которым может быть интересна эта статья или оставьте комментарий ниже.