代码之家  ›  专栏  ›  技术社区  ›  Danil

如何通过ssh更改postgresql配置

  •  0
  • Danil  · 技术社区  · 11 年前

    我有一个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中的设置,我应该使用哪个命令?

    1 回复  |  直到 11 年前
        1
  •  1
  •   Mike Sherrill 'Cat Recall'    11 年前

    使用psql成功更改的任何服务器设置只会持续会话的时间。要使更改保持不变,您必须使用您喜爱的文本编辑器(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 dbms。

    推荐文章