PostgreSQL源码编译安装指南

本文详细介绍了在CentOS7.9系统中安装和配置PostgreSQL12.2的过程,包括创建用户、设置环境变量、调整系统参数、安装依赖、源码编译和数据库集簇初始化等关键步骤。
摘要由CSDN通过智能技术生成

一、版本说明

centos 7.9
postgresql 12.2

二、配置系统基本环境
# 1.创建postgres用户
groupadd postgres
useradd -g postgres postgres
echo "666666" | passwd postgres --stdin

# 2.配置用户环境变量
su - postgres
cat >> ~/.bash_profile << EOF
export PGPORT=1922
export PG_HOME=/usr/local/pg12.2
export PATH=\$PG_HOME/bin:\$PATH
export PGDATA=/data
export LD_LIBRATY_PATH=$PG_HOME/lib
export LANG=en_US.utf8
EOF
exit

# 3. root用户创建目录
mkdir -m 755 -p /data /usr/local/pg12.2
chown -R postgres:postgres /data
chown -R postgres:postgres /usr/local/pg12.2

# 3. 配置系统参数
vi /etc/sysctl.conf
# (默认) 最大共享内存段大小
kernel.shmmax=68719476736 
#(默认)可以使用的共享内存的总量
kernel.shmall=4294967296 
#整个系统共享内存段的最大数目
kernel.shmmni=4096
#每个信号对象集的最大信号对象数
kernel.sem=50100 64128000 50100 1280
#文件句柄的最大数量。
fs.file-max=7672460
#应用程序可使用的IPv4端口范围
net.ipv4.ip_local_port_range=9000 65000
#套接字接收缓冲区大小的缺省值
net.core.rmem_default=1048576
#套接字发送缓冲区大小的缺省值
net.core.wmem_default=262144
#套接字发送缓冲区大小的最大值
net.core.wmem_max=1048576
#配置生效
sysctl-p

# 4. 安装依赖包
yum install -y gcc gcc-c++ zib-devel readline-devel perl-ExtUtils-Embed pam-devel libxml22-devel libxslt-devel openldap-devel python-devel openssl--devel cmake
三、源码安装
1. 下载源码
yum install -y wget bzip2
su - postgres
wget https://ftp.postgresql.org/pub/source/v12.2/postgresql-12.2.tar.bz2
tar xjvf postgresql*.bz2
cd postgresql-12.2
2. 编译安装
# --with-blocksize :如果数据库需要经常做插入的操作,数据量增长非常快,尽量把此参数设大一点,经常做小数据查询、更新且内存不是非常大的时候可以设小一点,默认8K即可。
# 生产环境不要加 -enable-dtrace-enable-debug
./configure --prefix=/usr/local/pg12.2 --with-pgport=1922 --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=8 --enable-dtrace --enable-debug

make && make install
四、数据库集簇初始化流程
initdb -D $PGDATA -W --data-checksums

# 启动数据库集簇
pg_ctl -D $PGDATA start
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值