PostgreSQL源码编译安装

创建用户与环境配置

创建用户

groupadd postgres
useradd -g postgres postgres

环境配置

# root用户配置环境变量,creating directory -W ... initdb: error: could not create directory "-W": Permission denied 会出现权限报错,此时将环境变量配置到postgres权限的温江当中
export PGPORT="" #默认,也可自定义
export PG_HOME=/usr/local/pg12 #自定义安装,默认安装路径不是这个
export PATH=$PG_HOME/bin:$PATH 
export PGDATA=$PG_HOME/data
export LD_LIBRARY_PATH=$PG_HOME/lib # 库文件的指针
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

系统内核参数配置

# 对数据库运行的性能有很大的影响

kernel.shmmax=68719476736(默认) #最大共享内存段大小
kernel.shmall = 4294967296(默认) #可以使用的共享内存的总量
kernel.shmmni= 4096 #整个系统共享内存段的最大数目
kernel.sem =5010064128000 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 #套接字发送缓冲区大小的最大值

PostgreSQL安装

# 三种方式
1、二进制
https://ftp.postgresql.org/pub/sourece
2、yum安装
yum search postgresql && yum install postgres
3、源码编译安装
wget https://ftp.postgresql.org/pub/source/v14.6/postgresql-14.6.tar.gz
# 依赖
readline,flex,bison
4、依赖包检查
最小依赖: gcc、gcc-c++、zlib-devel、readline-devel
其他依赖: 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 tcl tcl-devel

源代码安装

--使用postgres用户安装
$ cd /soft/postgresql-12.2
$ ./configure --prefix=/usr/local/pg12.2
$  make
$ make install
Configure 常用配置选项:
prefix:指定安装路径
with-openssl: 对openssl进行扩展支持
with-python:对python进行扩展支持
with-perl:对perl进行扩展支持
with-libxml:对xml进行扩展支持

安装示例

# 示例
./configure --prefix=/usr/local/pg-14 --with-pgport=5432 --with-openssl \
--with-perl --with-tcl --with-python --with-pam --without-ldap --with-libxml --with-libxslt --enable-thread-safety --with-wal-blocksize=16 --with-blocksize=8 --enable-dtrace --enable-debug
# 注意
--with-blocksize
如果数据库需要经常做插入的操作,数据量增长非常快,尽量把此参数设大一点,经常做小数据查询、更新且内存不是非常大的时候可以设小一点,默认8K即可。

生产环境不要加--enable-dtrace --enable-debug。

# 插件编译安装
gmake world --第三方插件全部编译 
su - postgres # postgres用户下执行
gmake check-world --执行时间较长
gmake install --第三方所有的插件 # contrib

创建数据库集簇

mkdir /usr/local/pg-14/data
# 初始化
initdb -D $PGDATA -W --data-checksums #主从复制参数--datachecksums
# 启动数据库集簇
pg_ctl -D $PGDATA start 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值