2016-02-03 3 views
0

Как установить расширение pg_stat_statements один раз для всех схем в одной базе данных postgresql 9.4?Установка расширения postgresql 9.4 для всех схем

CREATE EXTENSIONS pg_stat_statements; 

устанавливается только в общественной схеме

UPD: Я решил эту проблему следующим образом:

sudo -u postgres psql -d "template1" -c "CREATE EXTENSION pg_stat_statements;" 
sudo -u postgres psql -d "template1" -c "ALTER EXTENSION pg_stat_statements SET SCHEMA pg_catalog;" 

Недавно созданная база данных будет иметь расширение в pg_catalog схеме, которая позволит это расширение для работы со всеми другими схемами в базе данных.

+0

Расширение не установлено «для каждой схемы», оно устанавливается на базу данных. –

ответ

0

Как указано, here, хотя расширение устанавливается по умолчанию по умолчанию, вы можете изменить его и установить на любой схеме с использованием данного синтаксиса.

С вашего вопроса кажется, что вам необходимо установить расширение во всех схемах .... Обратите внимание, что вам не нужно устанавливать данное расширение во всех схемах (в базе данных). Схема является всего лишь заполнителем для всех объектов БД, но после установки расширение как таковое доступно для всех схем в базе данных (и их не нужно устанавливать для каждой схемы).

+1

По умолчанию это не 'public', а * Если не указано, и в управляющем файле расширения не указывается также схема, используется текущая схема создания объекта по умолчанию. * (Которая является первой допустимой строкой' search_path') – pozs

Смежные вопросы