У меня есть проект в php, там я подключаюсь к серверу через ssh, и моя задача - изменить параметры postgresql.conf. Я попробовал это:
psql -Upgadmin -p 11935 -d postgres -c array_nulls=off
ERROR: syntax error at or near "array_nulls"
LINE 1: array_nulls=off
^
или мне нужно изменить настройки в postgresql.conf с помощью sed, какую команду мне использовать?
Любой параметр сервера, который вам удастся изменить с помощью psql, будет длиться до тех пор, пока ваш сеанс. Чтобы изменения сохранялись, вы должны отредактировать postgresql.conf либо с помощью вашего любимого текстового редактора (vim, emacs и т.д.), Либо с помощью служебной программы (sed, awk и т.д.). Все, что следует, предполагает, что у вас есть подходящие привилегии для редактирования postgresql.conf.
Ваша первая работа - найти его. Различные дистрибутивы Linux хранят его в разных местах. В Ubuntu это в
/etc/postgresql/9.4/main ^^^
Обратите внимание на номер версии. Разумеется, разные для каждой версии PostgreSQL. Если бы я хотел изменить настройку, я бы сделал это после того, как файл был под управлением версии.
$ sudoedit /etc/postgresql/9.4/main/postgresql.conf [sudo] password for mike:
Затем найдите настройку и измените ее. Вот здесь выглядит соответствующий раздел postgresql.conf.
#------------------------------------------------------------------------------ # VERSION/PLATFORM COMPATIBILITY #------------------------------------------------------------------------------ # - Previous PostgreSQL Versions - #array_nulls = on
Я бы изменил настройку на
array_nulls = off # array_nulls = on
Для такого рода изменений обычно требуется перезагрузка или перезапуск dbms PostgreSQL.