1.PostgreSql安装

发布时间 2023-12-12 22:27:41作者: 站在巨人的肩上Z

1.创建用户

创建数据库组和组
groupadd postgres
useradd -g postgres postgres

2.创建目录

创建目录并授权
mkdir -p /usr/local/pg14
mkdir -p /padata/14/data
mkdir -R postgres:postgres /pgdata
chown -R  postgres:postgres /usr/local/pg14
chmod 700 /pgdata/14/data -R 

3.配置环境变量

export PGDATA=/pgdata/14/data
export LANG=en_US.utf8
export PGHOME=/usr/local/pg14
export LD_LIBRARY_PATH=$PGHOME/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH
export DATA=`data + "%Y%m%d%H%M"`
export MANPATH=$PGHOME/share/man:%MANPATH

4.配置内核参数

系统优化参数
vi /etc/sysctl.conf
kernel.shmmax=68719476763          (默认)          #最大共享内存段的大小
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   使其立即生效。

5.安装依赖包

安装依赖包
yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake 

6.下载pg源码包进行源码安装(使用postgres用户)

./configure --prefix=/usr/local/pg14 
make 
make install

或者使用
gmake world      -- 这个包括第三方插件的全部编译
gmake check-world -- 这个需要使用普通用户执行,可选,执行时间较长
gmake install      -- 包括第三方插件的全部安装

7.初始化数据库(使用postgres用户)

inittab -D $PGDATA -W  --data-checksums   # --data-checksums 复制时需要
initdb -A md5 -D $PGDATA -E utf8 --locale=C -W #生产上用可以这个

8.启动postgresql

pg_ctl start | reload | stop | restart