Postgresql官网的安装推荐方式是通过包管理器方式来安装,并且最新版本的已经不提供二进制包,只提供源码包,需要自行编译来进行安装,网上教程眼花缭乱,因此下面通过自己实际操作来演示下银河麒麟v10如何编译安装postgresql
环境准备:
postgresql-16.3.tar.gz
银河麒麟V10
源码下载地址:https://www.postgresql.org/ftp/source/
1、首先安装依赖包,命令如下:
yum install readline-devel libicu-devel perl* zlib*
复制
2、执行命令编译并安装postgresql,如下:
./configure --prefix=/usr/local/postgresql16.3
make
make install
复制
安装后,在目录postgresql16.3下可以看到编译后的文件,如图:
3、创建用户和用户组,给安装目录赋权,命令如下:
groupadd postgres
useradd -m -g postgres postgres
chown postgres:postgres -R usr/local/postgresql16.3
复制
4、创建数据目录,并设置属主以及属组,如下:
mkdir -p data/postgresql/data
chown -R postgres:postgres /data/postgresql
复制
5、初始化数据库,首先登录postgres,通过initdb命令初始化,如图:
su - postgres
/usr/local/postgresql16.3/bin/initdb -D /data/postgresql/data -E UTF8 --locale=en_US.UTF-8
复制
初始化完成后,可以看到数据目录下内容如图:
6、启动postgresql,执行如下命令:
su - postgres
/usr/local/postgresql16.3/bin/pg_ctl -D /data/postgresql/data -l /data/postgresql/data/postgresql.log start
复制
启动后查看输出的日志信息postgresql.log,内容如图:
停止方法:
su - postgres
/usr/local/postgresql16.3/bin/pg_ctl -D /data/postgresql/data -l /data/postgresql/data/postgresql.log stop
复制
7、编写服务启动文件,通过systemctl托管,编辑/lib/systemd/system/postgresql.service,内容如下:
[Unit]
Description=PostgreSQL RDBMS
[Service]
Type=oneshot
ExecStart=/usr/local/postgresql16.3/bin/pg_ctl -D /data/postgresql/data -l /data/postgresql/data/postgresql.log start
ExecStop=/usr/local/postgresql16.3/bin/pg_ctl -D /data/postgresql/data -l /data/postgresql/data/postgresql.log stop
RemainAfterExit=on
User=postgres
Group=postgres
[Install]
WantedBy=multi-user.target
复制
最后通过如下命令来管理启动或者停止即可,如下:
systemctl start postgresql
systemctl stop postgresql
复制
注:如果通过postgres来使用systemctl命令需要配置下sudo,默认情况下只能本地连接,如果需要远程客户端连接需要修改postgresql.conf和pg_hba.conf等配置文件后才可以
文章转载自运维DevOps,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。