源码编译安装PostgresSQL(11.5)

来源:这里教程网 时间:2026-03-14 19:49:19 作者:

原文链接: https://www.modb.pro/db/22220?cyn (阅读原文,支持作者)

摘要:源码编译安装pg11.5(Centos7.4+PG11.5)。

一、环境准备

1、安装依赖包

yum -y install gcc* yum -y install python python-devel yum -y install perl-ExtUtils-Embed yum -y install zlib-devel yum -y install readline*

2、创建用户组、目录

groupadd -g 1001 postgres #新增用户组 useradd -g 1001 -u 1001 postgres #新增用户 [root@pg11 ~]# id postgres uid=1001(postgres) gid=1001(postgres) groups=1001(postgres) passwd postgres #为用户设置密码

3、创建目录

mkdir -p /usr/local/pgsql11.5 chown -R postgres:postgres /usr/local/pgsql11.5/

mkdir -p /home/osdata/pgdata chown -R postgres:postgres /home/osdata/ chmod 0700 /home/osdata/pgdata

4、修改环境变量(postgres用户)

export PATH=/usr/local/pgsql11.5/bin:$PATH export LD_LIBRARY_PATH=/usr/local/pgsql11.5/lib export PGDATA=/home/osdata/pgdata

5、上传软件包,并且解压缩(root)

[root@pg11 pgsql11.5]# ll total 19312 -rw-r–r--. 1 root root 19773087 Oct 30 20:05 postgresql-11.5.tar.bz2 [root@pg11 pgsql11.5]#chown -R postgres:postgres /usr/local/pgsql11.5/ [root@pg11 pgsql11.5]# ll total 19312 -rw-r–r--. 1 postgres postgres 19773087 Oct 30 20:05 postgresql-11.5.tar.bz2

tar -xvf postgresql-11.5.tar.bz2

6、生成链接

ln -sf /usr/local/pgsql11.5 /usr/local/pgsql

二、安装postgresql

1、编译

cd postgresql-11.5/ ./configure --prefix=/usr/local/pgsql11.5 --with-perl --with-python

2、安装

一次性把文档及附加模块全部进行编译和安装 gmake world 出现“PostgreSQL, contrib, and documentation successfully made. Ready to install.”说明编译成功

gmake install-world 出现“PostgreSQL, contrib, and documentation installation complete.”说明安装成功

查看版本 [postgres@pg11 postgresql-11.5]$ postgres --version postgres (PostgreSQL) 11.5

3、初始化数据库

initdb -D /home/osdata/pgdata/ -W

4、启动数据库

pg_ctl -D $PGDATA -l logfile start

5、查看实例进程

[postgres@pg ~]$ ps -ef|grep postgres postgres 56625 1 0 Mar04 ? 00:00:03 /usr/local/pgsql11.5/bin/postgres -D /home/osdata/pgdata postgres 56627 56625 0 Mar04 ? 00:00:00 postgres: checkpointer postgres 56628 56625 0 Mar04 ? 00:00:01 postgres: background writer postgres 56629 56625 0 Mar04 ? 00:00:01 postgres: walwriter postgres 56630 56625 0 Mar04 ? 00:00:05 postgres: autovacuum launcher postgres 56631 56625 0 Mar04 ? 00:00:10 postgres: stats collector postgres 56632 56625 0 Mar04 ? 00:00:00 postgres: logical replication launcher root 76758 76699 0 11:01 pts/0 00:00:00 su - postgres postgres 76759 76758 0 11:01 pts/0 00:00:00 -bash postgres 76797 76759 0 11:01 pts/0 00:00:00 psql postgres 76801 56625 0 11:01 ? 00:00:00 postgres: postgres test [local] idle root 77192 77145 0 11:21 pts/1 00:00:00 su - postgres postgres 77193 77192 0 11:21 pts/1 00:00:00 -bash postgres 79582 77193 0 13:45 pts/1 00:00:00 ps -ef postgres 79583 77193 0 13:45 pts/1 00:00:00 grep --color=auto postgres

查看数据库状态 [postgres@pg11 ~]$ pg_ctl -D /home/osdata/pgdata/ status pg_ctl: server is running (PID: 23588) /usr/local/pgsql11.5/bin/postgres “-D” “/home/osdata/pgdata”

6、设置开机自启动

1、配置脚本服务 在源码包的contrib目录中有linux、freebsd、macos适用的服务脚本 [root@pg11 ~]# cd /usr/local/pgsql/postgresql-11.5/contrib/start-scripts [root@pg11 start-scripts]# ll total 8 -rw-r–r--. 1 postgres postgres 1467 Aug 6 2019 freebsd -rw-r–r--. 1 postgres postgres 3552 Aug 6 2019 linux drwxrwxr-x. 2 postgres postgres 84 Aug 6 2019 macos 把名为linux的脚本拷贝到/etc/init.d目录,并且重命名为postgresql11 [root@pg11 ~]# cp /usr/local/pgsql/postgresql-11.5/contrib/start-scripts/linux /etc/init.d/postgresql11 [root@pg11 init.d]# chmod +x postgresql-11 [root@pg11 init.d]# chkconfig postgresql-11 on [root@pg11 init.d]# chkconfig --list |grep postgresql-11 postgresql-11 0:off 1:off 2:on 3:on 4:on 5:on 6:off

7、登录数据库

[postgres@pg ~]$ psql psql (11.5) Type “help” for help.

postgres=#

 

更多PG相关入门分享、进阶练习: https://www.modb.pro/tag/postgresql?cyn

相关推荐