本文介绍了如何在CentOS系统中安装和配置PostgreSQL。首先需要安装依赖包,然后下载并解压PostgreSQL的离线包,接着创建并安装PostgreSQL的安装目录。接着,生成Makefile并编译安装。
一、准备工作
首先安装依赖包:
yum -y install readline-devel zlib-devel
二、部署工作
2.1 安装postgresql
将postgresql的包上传到(/tmp)文件夹中进行解压。
postgresql的离线包到官方网站下载:https://www.postgresql.org/
tar -xzvf postgresql-13.3.tar.gz
2.2 创建postgresql的安装目录
mkdir /data01/postgresql //data01目录下创建postgresql
2.3 生成makefile
需要到解压的目录下操作:
./configure --prefix=/data01/postgresql //需要到解压的目录下操作
2.4 编译安装
在解压的目录下执行:
make && make install //在解压的目录下执行
2.5 安装工具集
PS:进入到解压后的目录下的contrib文件夹。
cd /data01/postgresql-11.7/contrib //进入到解压后的目录下的contrib文件夹
make && make install
2.6 创建postgresql用户
groupadd postgres
useradd -g postgres postgres
为了安全考虑,postgresql不允许使用root用户操作数据库,我们在系统中为了使用postgresql添加一个用户postgres:
也可以是其他用户名,但是习惯上大家都是创建postgres用户作为数据库的超级用户。
初始化数据库时,就以这个用户作为数据库的超级用户。
2.7 修改data目录的用户为postgres
cd /data01/postgresql //进入到安装的postgresql目录
mkdir data //在postgresql目录下创建data文件夹
chown -R postgres:postgres /data01/postgresql/data
2.8 修改环境变量
su - postgres
vim /home/postgres/.bash_profile
添加环境变量:
export PGHOME=/data01/postgresql
export PGDATA=/data01/postgresql/data
export PATH=$PGHOME/bin:$PATH
export MANPATH=$PGHOME/share/man:$MANPATH
export LANG=en_US.utf8
export DATE=`date +"%Y-%m-%d %H:%M:%S"`
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH
alias rm='rm -i'
alias ll='ls -lh'
保存后使环境变量立即生效,否则initdb命令会找不到:
source /home/postgres/.bash_profile
2.9 初始化数据库
initdb -D /data01/postgresql/data/
2.10 启动数据库
su - postgres
cd /home/postgres //logfile需要在postgres的用户目录下创建
pg_ctl -D /data01/postgresql/data/ -l logfile start
查看5432端口是否已经启动:
netstat -nltp|grep 5432
2.1-2.10,主库备库服务器上都要操作。
2.11 主库修改/data01/postgresql/data/pg_hba.conf文件,允许备库IP通过复制用户访问数据库
2.12 主库修改/data01/postgresql/data/postgresql.conf
listen_addresses= '*'
wal_level = replica
max_connections = 10000
archive_mode = on
archive_command = 'cp %p /data01/postgresql/archive/%f'
max_wal_senders= 10
wal_keep_size = 1000 # in megabytes; 0 disables
max_slot_wal_keep_size = 10 # in megabytes; -1 disables
wal_sender_timeout = 120s # in milliseconds; 0 disables
hot_standby = on
2.13 修改完后重启主库服务
pg_ctl -D /data01/postgresql/data/ -l logfile restart
2.14 备库使用pg_basebackup命令将主节点的data同步过来
pg_basebackup -h 192.XXX.XXX.208 -p 5432 -U postgres -P -X stream -D /data01/postgresql/data -R
END
本文作者:李黄衍(上海新炬中北团队)
本文来源:“IT那活儿”公众号
来源:本文内容搜集或转自各大网络平台,并已注明来源、出处,如果转载侵犯您的版权或非授权发布,请联系小编,我们会及时审核处理。
声明:江苏教育黄页对文中观点保持中立,对所包含内容的准确性、可靠性或者完整性不提供任何明示或暗示的保证,不对文章观点负责,仅作分享之用,文章版权及插图属于原作者。
Copyright©2013-2024 JSedu114 All Rights Reserved. 江苏教育信息综合发布查询平台保留所有权利
苏公网安备32010402000125 苏ICP备14051488号-3技术支持:南京博盛蓝睿网络科技有限公司
南京思必达教育科技有限公司版权所有 百度统计