如何通过 ssh 更改 postgresql 配置

how change postgresql config via ssh

我在 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
        ^

或者我应该使用 sed 更改 postgresql.conf 中的设置,我应该使用哪个命令?

您使用 psql 成功更改的任何服务器设置只会在您的会话期间有效。要使更改持续存在,您必须使用您喜欢的文本编辑器(vim、emacs 等)或实用程序(sed、awk 等)编辑 postgresql.conf。以下所有内容均假定您具有适当的权限来编辑 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 数据库管理系统。