Запросить параметр (параметр postgresql.conf), например «max_connections»

124

Кто-нибудь знает, возможно ли (и как, если да) запросить настройку сервера базы данных в PostgreSQL (9.1)?

Мне нужно проверить max_connectionsнастройку (максимальное количество открытых подключений к базе данных ).

Грег Крамида
источник

Ответы:

229

Вы можете использовать SHOW:

SHOW max_connections;

Это возвращает текущую действующую настройку. Имейте в виду, что он может отличаться от настройки, postgresql.confпоскольку существует несколько способов установить параметры времени выполнения в PostgreSQL . Чтобы сбросить "исходные" настройки postgresql.confв текущем сеансе:

RESET max_connections;

Однако это не применимо к данной настройке. Руководство:

Этот параметр можно установить только при запуске сервера.

Чтобы увидеть все настройки:

SHOW ALL;

Также есть pg_settings:

Представление pg_settingsобеспечивает доступ к параметрам времени выполнения сервера. Это, по существу , альтернативный интерфейс к SHOWи SETкомандам. Он также обеспечивает доступ к некоторым фактам о каждом параметре, которые не доступны напрямую SHOW, например, к минимальным и максимальным значениям.

По вашему первоначальному запросу:

SELECT *
FROM   pg_settings
WHERE  name = 'max_connections';

Наконец, есть current_setting(), которые могут быть вложены в операторы DML:

SELECT current_setting('max_connections');

Связанный:

Эрвин Брандштеттер
источник