Подключение:
psql -U username -d dbname -h host -p port
Конфигурация:
/etc/postgresql/<версия>/main/postgresql.conf
/etc/postgresql/<версия>/main/pg_hba.conf
/etc/postgresql/<версия>/main/pg_ident.conf
/var/lib/pgsql/<версия>/data/postgresql.conf
/var/lib/pgsql/<версия>/data/pg_hba.conf
Дамп:
pg_dump -U username -d dbname > dump.sql
psql -U username -d dbname < dump.sql
# ----------------------------- # Основные настройки PostgreSQL # ----------------------------- # Слушать подключения на всех IP listen_addresses = '*' # Максимальное количество соединений max_connections = 100 # Порт по умолчанию port = 5432 # Суперпользователь superuser_reserved_connections = 3 # Аутентификация password_encryption = scram-sha-256
# ----------------------------- # Параметры памяти # ----------------------------- shared_buffers = 128MB # 25% от доступной RAM work_mem = 4MB # Память для операций сортировки maintenance_work_mem = 64MB # Память для операций обслуживания effective_cache_size = 4GB # Оценка кеша ОС
# ----------------------------- # Настройки WAL # ----------------------------- wal_level = replica # Для репликации archive_mode = on # Включить архивирование WAL archive_command = 'cp %p /path/to/archive/%f' max_wal_senders = 8 # Макс. число процессов передачи WAL
# ----------------------------- # Настройки репликации # ----------------------------- hot_standby = on # Разрешить чтение на реплике primary_conninfo = 'host=primary port=5432 user=repl password=secret' recovery_target_timeline = 'latest' # Следовать за последним timeline
# ----------------------------- # Настройки автовакуума # ----------------------------- autovacuum = on # Включить автовакуум autovacuum_max_workers = 3 # Количество процессов автовакуума autovacuum_vacuum_cost_limit = 2000 # Лимит стоимости вакуума
# ----------------------------- # Настройки логирования # ----------------------------- logging_collector = on # Включить сбор логов log_directory = 'pg_log' # Директория для логов log_filename = 'postgresql-%Y-%m-%d.log' log_rotation_age = 1d # Ротация логов ежедневно log_min_duration_statement = 1000 # Логировать медленные запросы (>1s)