Centos7源码编译安装postgresql 11.7
1.安装依赖
yum install gcc bison gcc-c++ readline readline-devel zlib zlib-devel perl perl-devel python-devel openssl-devel gmake
2.添加用户及组
groupadd postgres
useradd -g postgres postgres
echo "postgres" |passwd --stdin postgres
3.创建PG目录
mkdir -p /usr/local/postgersql_11.0 && chown -R postgres:postgres /usr/local/postgersql_11.0
mkdir -p /data/pg11/{pg_root,pgxlog,archive,scripts,soft} && chown -R postgres:postgres /data/pg11/
说明:下面所有的步骤都用postgres用户操作
4.下载及安装
[postgres@hadoop102:/home/postgres]$ wget https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v11.7/postgresql-11.7.tar.gz --no-check-certificate
[postgres@hadoop102:/home/postgres]$ tar -zxf postgresql-11.7.tar.gz
[postgres@hadoop102:/home/postgres]$ cd postgresql-11.7
[postgres@hadoop102:/home/postgres]$ ./configure --prefix=/usr/local/postgersql_11.0
#gmake word会编译所有的extension扩展插件
[postgres@hadoop102:/home/postgres]$ gmake world && gmake install-world
5.初始化
[postgres@hadoop102:/home/postgres]$ /usr/local/postgersql_11.0/bin/initdb -D /data/pg11/pg_root
/usr/local/postgersql_11.0/bin/initdb -D /data/pg11/pg_root -E UTF8 --lc-collate=C --lc-ctype=en_US.utf8 -U postgres -X /data/pg11/pgxlog
6.启动及关闭实例
[postgres@hadoop102:/home/postgres]$nohup /usr/local/postgersql_11.0/bin/pg_ctl start -D /data/pg11/pg_root -l /data/pg11/pg_root/pgsql.log & #启动实例
/usr/local/postgersql_11.0/bin/pg_ctl status -D /data/pg11/pg_root #检查状态
/usr/local/postgersql_11.0/bin/pg_ctl stop -D /data/pg11/pg_root -m fast -W #关闭实例
#smart : 等待活动事务提交结束,并等待客户端主动断开所有连接后关闭
#fast: 回滚所有活动的事务,并强制断开客户端连接后关闭
#immediate : 终止所有服务器进程,下一次数据库启动时首先进入恢复状态
7.设置密码
/usr/local/postgersql_11.0/bin/psql -p 5432
sql> \password
8.配置外部访问
systemctl stop firewalld #关闭操作系统防火墙
vim /data/pg11/pg_root/pg_hba.conf #修改 pg_hba.conf
0.0.0.0.0/24
9.环境变量设置
vi ~/.bash_profile
export LANG=en_US.UTF8
export PS1="[`whoami`@`hostname`:"'$PWD]$'
export PGHOME=/usr/local/postgersql_11.0
export PGDATA=/data/pg11/pg_root
export PATH=$PATH:$PGHOME/bin