Примечание
Для данных рекомендуется подключить отдельный виртуальный диск.
Для установки выполните команды:
sudo apt update
sudo apt install postgresql-15
Проверка установки:
systemctl status postgresql
Инструкция на сайте разработчика ОС — https://wiki.astralinux.ru/pages/viewpage.action?pageId=147162402
Настройка postgresql.conf:
sudo nano /etc/postgresql/<версия>/main/postgresql.conf
Найдите и замените строку:
listen_addresses = 'localhost'
Настройка pg_hba.conf:
sudo nano /etc/postgresql/<версия>/main/pg_hba.conf
Добавьте строку для разрешения доступа (пример для всех IPv4-адресов):
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5 # или "scram-sha-256"
Выполнить вход в сессию служебного пользователя Postgres:
sudo su - postgres
Возможно, потребуется настройка политики для команды su
(небезопасно, использовать только на тестовом стенде в момент настройки):
sudo nano /etc/pam.d/su
# Оставить одну строку:
auth sufficient pam_wheel.so trust
Установить пароль администратора СУБД:
psql -c "alter user postgres with password '<указать_пароль>'"
Если требуется сменить папку для файлов БД:
sudo nano /etc/postgresql/15/main/postgresql.conf
__
# Изменить строку:
data_directory = '/путь/к/папке/данных'
__
Скопировать данные из прежней папки в новую.
__
sudo systemctl restart postgresql
Создание БД:
createdb [dbName] -O [owner user]
__
Для целей Timetta нужны 3 БД, если пользователей postgres то:
createdb data -O postgres
createdb passport -O postgres
createdb scheduler -O postgres
Примечание
Для управления PostgreSQL есть несколько инструментов. Примеры ниже используют psql.
Утилита устанавливается вместе с ядром СУБД. Если PostgreSQL установлен в контейнере Docker, то откройте оболочку контейнера:
docker ps
docker exec -it <container_name_or_id> /bin/bash
psql -U username -d database_name -h hostname -p port -W
Для аутентификации в psql
(интерактивном терминале PostgreSQL) можно использовать несколько способов в зависимости от настроек сервера.
-U
— имя пользователя (по умолчанию postgres
)-d
— база данных (если не указать, подключается к БД с именем как у пользователя)-h
— хост (по умолчанию localhost
)-p
— порт (по умолчанию 5432
)-W
— запросить парольПример:
psql -U dba -d postgres_db -W
После ввода команды будет запрошен пароль.
Примечание
При развертывании указывается имя системной БД (например, postgres_db) — можно использовать это имя.
Создать БД можно так:
CREATE DATABASE data;
Для основной БД требуется включить расширение (подключиться к созданной БД, например data
):
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
Перейти на русскую версию?