| Протестировано |
|---|
Ubuntu: 24.04 LTSPostgreSQL: 18 |
PostgreSQL (или просто Postgres) — это мощная, открытая реляционная база данных, которая сочетает в себе возможности документоориентированных систем. Она расширяет язык SQL, предлагая широкий спектр функций для безопасного хранения и управления данными. Postgres известна своей эффективностью, надежностью и масштабируемостью, что делает ее идеальным выбором для обработки больших объемов сложных данных в корпоративных средах с высокой отказоустойчивостью и строгим контролем целостности данных.
Среди ключевых преимуществ PostgreSQL — расширяемость: поддержка продвинутой индексации, полнотекстового поиска и API для разработки собственных решений. В этой статье мы подробно разберем, как установить PostgreSQL 18 на сервер Ubuntu 24.04 LTS, и изучим основные способы ее эффективного использования. Это руководство подойдет как новичкам, так и опытным администраторам, ищущим актуальную информацию по установке PostgreSQL 18 на Ubuntu.
- Установка PostgreSQL 18 на Ubuntu
- Установка pgAdmin 4 для администрирования PostgreSQL
- Настройка ролей и баз данных в PostgreSQL
- Основы использования PostgreSQL на Ubuntu
- Работа с таблицами в PostgreSQL
- Список и удаление баз данных
- Настройка удаленного доступа к PostgreSQL
- Оптимизация производительности PostgreSQL
- Резервное копирование и восстановление
- Полезные команды PostgreSQL
- Заключение
- Читайте также
Установка PostgreSQL 18 на Ubuntu
PostgreSQL по умолчанию входит в репозитории Ubuntu, но версия в них фиксирована на протяжении всего жизненного цикла релиза. Для доступа к свежим обновлениям, включая PostgreSQL 18, рекомендуется использовать официальный репозиторий PostgreSQL.
Сначала установите необходимые пакеты и настройте репозиторий с помощью скрипта:
sudo apt install -y postgresql-common ca-certificates
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.shЗатем обновите список пакетов и установите PostgreSQL 18:
sudo apt update
sudo apt install postgresql-18 postgresql-contrib-18
После установки служба PostgreSQL запустится автоматически. Проверьте ее статус:
sudo systemctl status postgresqlЧтобы PostgreSQL стартовала при загрузке системы:
sudo systemctl enable postgresqlЭто базовая установка PostgreSQL на Ubuntu 24.04. Теперь перейдем к графическому инструменту для управления.
Установка pgAdmin 4 для администрирования PostgreSQL
Для удобного управления базами данных через веб-интерфейс установите pgAdmin 4 — официальный инструмент PostgreSQL. Он позволяет работать с базами, пользователями и запросами в удобном дашборде.
pgAdmin 4 отсутствует в стандартных репозиториях Ubuntu 24.04, поэтому добавьте официальный репозиторий:
sudo apt install -y curl ca-certificates gnupg
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'Установите pgAdmin 4 в зависимости от нужного режима:
- Для десктопного и веб-режима:
sudo apt install pgadmin4 - Только десктоп:
sudo apt install pgadmin4-desktop - Только веб:
sudo apt install pgadmin4-web
Для веб-режима настройте сервер:
sudo /usr/pgadmin4/bin/setup-web.shПосле этого откройте pgAdmin в браузере по адресу: http://127.0.0.1/pgadmin4.

Настройка ролей и баз данных в PostgreSQL
Аутентификация в PostgreSQL управляется файлом /etc/postgresql/18/main/pg_hba.conf. По умолчанию используется метод «peer» для локальных подключений, где имя пользователя ОС проверяется на соответствие имени пользователя базы.
Во время установки создается системный пользователь postgres без пароля — это администратор по умолчанию.
Откройте файл для редактирования:
sudo nano /etc/postgresql/18/main/pg_hba.confПонимание ролей в PostgreSQL
Роли в PostgreSQL — это гибкий механизм управления доступом. Роль может быть пользователем или группой, не связанной напрямую с пользователями ОС, но использующей их для аутентификации.
Роли могут:
- Владеть объектами (таблицами, функциями).
- Назначать привилегии другим ролям.
- Наследовать членство в других ролях.
Включение шифрованных паролей для ролей
Для безопасной аутентификации измените метод на scram-sha-256 (рекомендуется) или md5. В файле pg_hba.conf найдите строки:
# TYPE DATABASE USER ADDRESS METHOD
local all all peerИзмените на:
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
local all all scram-sha-256
Перезапустите службу:
sudo systemctl restart postgresqlОсновы использования PostgreSQL на Ubuntu
Доступ к shell PostgreSQL через пользователя postgres:
sudo -i -u postgres
psqlИли напрямую:
sudo -u postgres psqlВыход: \q или Ctrl+D.

Создание ролей в PostgreSQL
Создайте роль:
CREATE ROLE testrole;С атрибутом LOGIN (пользователь):
CREATE ROLE testrole LOGIN;Или с паролем:
CREATE USER testrole WITH PASSWORD 'secure_password_here';С суперпривилегиями:
CREATE ROLE admin WITH LOGIN PASSWORD 'admin_password' SUPERUSER;С правом создания баз:
CREATE ROLE developer WITH LOGIN PASSWORD 'dev_password' CREATEDB;Список и модификация ролей
Список ролей: \du или SELECT rolname FROM pg_roles;
Изменение пароля: ALTER ROLE testrole WITH PASSWORD 'new_password';
Добавление суперпривилегий: ALTER ROLE testrole WITH SUPERUSER;
Удаление роли: DROP ROLE ; (сначала удалите зависимые объекты).testrole
Создание базы данных
CREATE DATABASE testbase OWNER testrole ENCODING 'UTF8' LC_COLLATE='en_US.UTF-8' LC_CTYPE='en_US.UTF-8';Назначьте привилегии:
GRANT ALL PRIVILEGES ON DATABASE testbase TO testrole;Подключитесь: psql -U testrole -d testbase
Работа с таблицами в PostgreSQL
Создайте таблицу:
CREATE TABLE authors (
code SERIAL PRIMARY KEY,
name VARCHAR(40) NOT NULL,
city VARCHAR(40) NOT NULL,
joined_on DATE NOT NULL
);Вставьте данные:
INSERT INTO authors (name, city, joined_on) VALUES
('Ravi Saive', 'Mumbai', '2012-08-15'),
('Aaron Kili', 'Nairobi', '2014-03-20'),
('Matei Cezar', 'Bucharest', '2015-06-10');Запросите данные: SELECT * FROM authors;
С фильтром: SELECT * FROM authors WHERE city = 'Mumbai';
Обновите: UPDATE authors SET city = 'Delhi' WHERE name = 'Ravi Saive';
Удалите: DELETE FROM authors WHERE name = 'Ravi Saive';

Список таблиц: \dt
Структура: \d authors
Изменение: ALTER TABLE authors ADD COLUMN email VARCHAR(100);
Удаление таблицы: DROP TABLE authors;
Список и удаление баз данных
Список: \l или SELECT datname FROM pg_database;
Удаление: DROP DATABASE tecmint;
Переключение: \c tecmint
Настройка удаленного доступа к PostgreSQL
По умолчанию только локальные подключения. Откройте /etc/postgresql/18/main/postgresql.conf:
listen_addresses = '*'В pg_hba.conf добавьте:
host all all 192.168.1.0/24 scram-sha-256Или для всех IP: 0.0.0.0/0.
Разрешите порт в firewall: sudo ufw allow 5432/tcp
Перезапустите: sudo systemctl restart postgresql

Оптимизация производительности PostgreSQL
В /etc/postgresql/18/main/postgresql.conf настройте:
shared_buffers = 256MB
effective_cache_size = 1GB
maintenance_work_mem = 64MB
checkpoint_completion_target = 0.9
wal_buffers = 16MB
default_statistics_target = 100
random_page_cost = 1.1
effective_io_concurrency = 200
work_mem = 4MBПерезапустите службу.
Резервное копирование и восстановление
Бэкап базы: pg_dump -U postgres testdb > testdb_backup.sql
Все базы: pg_dumpall -U postgres > all_databases_backup.sql
Восстановление: psql -U postgres testdb < testdb_backup.sql

Полезные команды PostgreSQL
\l: Список баз\c dbname: Подключение к базе\dt: Список таблиц\d tablename: Структура таблицы\du: Список ролей\q: Выход
Заключение
В этой статье мы подробно разобрали установку PostgreSQL на Ubuntu LTS, настройку ролей, работу с базами и таблицами, оптимизацию и бэкапы. PostgreSQL — надежный инструмент для разработчиков и администраторов. Для углубленного изучения обратитесь к официальной документации PostgreSQL.
Если у вас есть вопросы по установке PostgreSQL на Ubuntu или использованию, оставьте комментарий ниже. Поделитесь статьей, если она была полезна!
Читайте также
- Мониторинг изменений файлов в Linux.
- Samba: Интеграция Linux-сервера в Сеть Windows.
- Rocky Linux: анализ, стратегия миграции и практики администрирования
- Linux Permissions
Было ли это полезно?
0 / 0