美文网首页Linux
在CentOS8上部署Postgres11数据库

在CentOS8上部署Postgres11数据库

作者: 通靈鹿小六 | 来源:发表于2020-11-20 15:12 被阅读0次
    1、执行安装命令

    逐个执行以下命令:

    yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
    
    yum install postgresql11
    
    yum install postgresql11-server
    
    2、创建存储目录

    在home目录下面创建postgresql目录

    cd /home
    
    mkdir postgresql
    

    赋予文件夹权限

    chmod 777 /home/postgresql
    
    3、初始化数据库

    su命令切换到postgres

    su - postgres
    

    初始化数据库

    /usr/pgsql-11/bin/initdb -D /home/postgresql/data
    

    运行结果如下图所示:

    启动Postgres数据库服务

    /usr/pgsql-11/bin/pg_ctl -D /home/postgresql/data -l logfile start
    

    使用exit退出su命令。

    4、修改数据库密码

    使用su命令切换到postgres

    su - postgres
    

    输入psql命令

    psql
    

    修改数据库密码为postgres,如果想更改为其他密码,修改引号内容即可。

    ALTER USER postgres WITH PASSWORD 'postgres';
    

    整体命令执行过程如下图所示:


    使用exit命令可以退出psql和su命令。

    5、修改配置文件
    5.1、修改监听IP和端口

    找到配置文件/home/postgresql/data/postgresql.conf

    在文件上右键——>选择文本编辑器——>内置编辑器,如下图所示:

    (由于对Linux系统不熟练,所以没有使用vim命令,熟悉的人也可以直接使用命令来修改。 Linux服务器连接工具是FinalShell)

    修改以下两项:

    修改完成后,保存退出。

    5.2、开启远程访问权限

    同样的方式,打开pg_hba.conf文件,在文件中添加 host all all 0.0.0.0/0 md5。

    如下图所示:

    6、重启数据库

    使用su命令切换到postgres

    su - postgres
    

    执行重启命令

    /usr/pgsql-11/bin/pg_ctl -D /home/postgresql/data -l logfile restart
    

    整体命令执行过程如下图所示:

    此时使用数据库连接工具,可以通过连接上数据库了。

    6.1、重启报错说明

    在重启数据库的时候,由于使用命令不正确所以造成报错。

    could not change directory to "/root": 权限不够

    报错如下图所示:

    此报错的原因是,切户root身份的时候,使用的命令不正确。不应该使用su postgres,应该使用su - postgres。

    su 命令和su - 命令区别就是:

    • su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误,报command not found的错误。
    • su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。

    相关文章

      网友评论

        本文标题:在CentOS8上部署Postgres11数据库

        本文链接:https://www.haomeiwen.com/subject/zcwdiktx.html