Вопрос проверяет знание конфигурационных файлов PostgreSQL, используемых для управления доступом и аутентификацией.
PostgreSQL использует два основных конфигурационных файла для управления доступом: pg_hba.conf и postgresql.conf. Первый отвечает за аутентификацию и авторизацию клиентов, второй — за общие настройки сервера, включая сетевые параметры.
Файл pg_hba.conf (Host-Based Authentication) определяет правила подключения к базе данных. Каждая запись задает тип подключения, базу данных, пользователя, IP-адрес и метод аутентификации. Пример записи:
# TYPE DATABASE USER ADDRESS METHOD
host all all 192.168.1.0/24 md5Здесь разрешено подключение по TCP/IP для всех баз и пользователей из подсети 192.168.1.0/24 с парольной аутентификацией MD5.
Файл postgresql.conf содержит глобальные настройки, влияющие на доступ. Ключевые параметры:
listen_addresses — определяет, на каких IP-адресах сервер принимает соединения (например, '*' для всех интерфейсов).port — порт для подключений (по умолчанию 5432).max_connections — максимальное количество одновременных подключений.Пример настройки в postgresql.conf:
listen_addresses = 'localhost, 192.168.1.100'
port = 5432
max_connections = 100Для изменения доступа необходимо отредактировать эти файлы и перезагрузить конфигурацию командой pg_ctl reload или через SQL: SELECT pg_reload_conf();. Это позволяет гибко управлять безопасностью и сетевыми настройками без остановки сервера.
Вывод: знание этих файлов необходимо для администрирования PostgreSQL, особенно при настройке удаленного доступа и обеспечении безопасности базы данных.