postgresql源码安装

1.下载源码

postgresql源码官方下载

2.上传至服务器并解压

cd /data/software
tar -zvxf postgresql-10.6.tar.gz

3.编译安装

3.1.配置

# 安装依赖包
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
# 配置
cd postgresql-10.6
./configure --help

./configure --prefix=/usr/local/pgsql10.6 --with-segsize=16 --with-blocksize=32 --with-wal-segsize=64 --with-wal-blocksize=64 --with-libedit-preferred --with-perl --with-python --with-openssl --with-libxml --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8
./configure --prefix=/usr/local/pgsql-10.6  --with-wal-segsize=512 --with-wal-blocksize=16 --with-pgport=5432 --with-segsize=1 --with-blocksize=8 --with-libedit-preferred --with-perl --with-openssl --with-libxml  --with-libxslt --enable-thread-safety --enable-nls=en_US.UTF-8

segsize:段尺寸,操作系统对当个文件大小有限制,因此一个表的文件最大不能超过文件系统规定的大小。为解决这个问题,可以将大表的文件拆分为小文件,每个文件的大小即为段设置的大小,单位为G

blocksize:块大小,数据库IO的最小单位

wal-segsize:日志段大小,即日志的大小

wal-blocksize:日志块大小,日志的最小IO单位

具体的参数可以根据实际需求修改

3.2.编译安装

# -j并行编译,应该小于等于CPU核心数
make -j 10
make install

4.创建用户,数据目录

4.1.创建

useradd postgres
cd /pgdata/
mkdir data
chown postgres.postgres -R /pgdata/

4.2.配置环境变量

# 以后数据库升级,环境变量不变
ln -sf /usr/local/pgsql10.6/ /usr/local/pgsql
su - postgres
vi .bash_profile
###############################################
export PGDATA=/pgdata/data
export PGHOME=/usr/local/pgsql/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/lib
export PATH=$PATH:$PGHOME/bin/
###############################################

其他的程式在运行的过程中,可能会用到postgresql的库文件,但因pg并未默认安装,其库文件未在/lib或/usr/lib下,因此我们将其加入环境变量,方便其他程式查找

5.安装扩展

su - root
export PATH=$PATH:/usr/local/pgsql/bin/
cd /data/software/postgresql-10.6/contrib
more README 
make all
make install

6.初始化数据库

su - postgres
initdb

7.开启数据库

su - postgres
pg_ctl start
posted @ 2019-03-14 12:00  monkey6  阅读(4839)  评论(1编辑  收藏  举报