ITPub博客

首页 > 数据库 > PostgreSQL > 源码编译安装pg11.5

源码编译安装pg11.5

原创 PostgreSQL 作者:yhluffy 时间:2020-03-11 14:33:14 0 删除 编辑

 一、环境准备

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、设置开机自启动

配置脚本服务

在源码包的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=#


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31536355/viewspace-2679619/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: Oracle的并行
请登录后发表评论 登录
全部评论

注册时间:2018-05-14

  • 博文量
    35
  • 访问量
    44821