2015-03-10 3 views
0

У меня есть проект в php, там я подключаюсь к серверу через ssh, и моя задача - изменить параметры postgresql.conf. Я попытался это:как изменить postgresql config через ssh

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 с помощью СЭД, какую команду я должен использовать?

ответ

1

Любая настройка сервера, с которой вам удалось перейти с помощью 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 

Такого рода изменения, как правило, требует либо перезагрузки или перезапуска СУБД PostgreSQL.

+0

Хороший ответ! Спасибо. И как изменить настройку с помощью sed? нужно найти строку с параметром, удалить ее и вставить новую с новым значением параметра. –

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