0
点赞
收藏
分享

微信扫一扫

在CentOS8上部署Postgres11数据库

Python百事通 2021-09-26 阅读 91
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的工作目录了。
举报

相关推荐

0 条评论