• 创建用户
groupadd postgres
useradd -g postgres postgres
passwd postgres
创建目录
mkdir -p /usr/local/pg17.0
mkdir -p /usr/local/pg17.0/data
chown -R postgres:postgres /usr/local/pg17.0
环境变量配置(.bash_profile)
export PGPORT=1922
export PG_HOME=/usr/local/pg17.0
export PATH=$PG_HOME/bin:$PATH
export PGDATA=$PG_HOME/data
export LD_LIBRARY_PATH=$PG_HOME/lib
export LANG=en_US.utf8
内核参数配置
vi /etc/sysctl.conf
kernel.shmmax = 68719476736(默认) #最大共享内存段大小
kernel.shmall = 4294967296(默认) #可以使用的共享内存的总量
kernel.shmmni = 4096 #整个系统共享内存段的最大数目
kernel.sem = 50100 64128000 50100 1280 #每个信号对象集的最大信号对象数
fs.file-max = 7672460 #文件句柄的最大数量
net.ipv4.ip_local_port_range = 9000 65000 #应用程序可使用的 IPv4 端口范围
net.core.rmem_default = 1048576 #套接字接收缓冲区大小的缺省值
net.core.wmem_default = 262144 #套接字发送缓冲区大小的缺省值
net.core.wmem_max = 1048576 #套接字发送缓冲区大小的最大值sysctl -p #配置生效
依赖包检查
编译前依赖包,以 RedHat/CentOS 为例:
• 最小依赖:gcc、gcc-c++、zlib-devel、readline-devel
• 其他依赖:perl-ExtUtils-Embed、pam-devel、libxml2-devel、libxslt-devel、openldap-devel、
python-devel、openssl-devel、cmake
源代码安装步骤
使用 postgres 用户安装
cd /soft/postgresql-12.2
./configure --prefix=/usr/local/pg12.2
make
make installConfigure 常用配置选项:
prefix:指定安装路径
with-openssl:对 openssl 进行扩展支持
with-python:对 python 进行扩展支持
with-perl:对 perl 进行扩展支持
with-libxml:对 xml 进行扩展支持
初始化数据库集簇
initdb -D $PGDATA –W
1.启动数据库集簇pg_ctl -D $PGDATA start
2. 正常快速关闭数据库集簇(默认,fast 可以省略)pg_ctl -D $PGDATA stop -m fast
3. 正常关闭数据库集簇pg_ctl -D $PGDATA stop -m smart
4. 非正常快速关闭数据库集簇(下一次数据库启动需要做实例恢复)pg_ctl -D $PGDATA stop -m immediate