postgresql 单实例源码安装配置

1.获取源码并解压
地址
解压
tar -xzvf postgresql-11.6.tar.gz
2. 安装依赖包
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
3.配置
cd postgresql-11.6./configure \--prefix=/usr/local/pgsql-11.6 \--with-segsize=16 \--with-wal-segsize=512 \--with-blocksize=32 \--with-wal-blocksize=64 \--with-libxslt \--enable-thread-safety \--with-pgport=5432 \--with-libedit-preferred \--with-perl \--with-openssl \--with-libxml \--with-libxslt \--enable-thread-safety \--enable-nls=en_US.UTF-8
--with-wal-segsize=512
postgresql 11开始,此参数废弃segsize:段尺寸,操作系统对文件的大小限制,因此一个表的文件最大不能超过文件系统规定的大小。为解决这个问题,可以将大表的文件拆分为小文件,每个文件的大小即为段设置的大小,单位为G
blocksize:块大小,数据库IO的最小单位
wal-segsize:日志段大小,即日志的大小
wal-blocksize:日志块大小,日志的最小IO单位
具体参考:
英文文档
中文文档
4.编译并安装
make
一定要记得用GNU make。依你的硬件而异,编译过程可能需要 5 分钟到半小时。显示的最后一行应该是:
All of PostgreSQL successfully made. Ready to install.
make install
出现 PostgreSQL installation complete.
5.创建postgresql用户,数据目录
useradd postgresmkdir -p pgdata/datachown postgres.postgres -R /pgdata/
6.创建连接文件,方便后期的升级
ln -sf /usr/local/pgsql-11.6/ /usr/local/pgsql
设置环境变量
su - postgresvi .bash_profile###############################################export PGDATA=/pgdata/dataexport PGHOME=/usr/local/pgsql/export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PGHOME/libexport PATH=$PATH:$PGHOME/bin/###############################################
其他的程式在运行的过程中,可能会用到postgresql的库文件,但因pg并未默认安装,其库文件未在/lib或/usr/lib下,因此我们将其加入环境变量,方便其他程式查找
7.安装扩展
su - rootexport PATH=$PATH:/usr/local/pgsql/bin/cd /postgresql-11.6/contribmore READMEmake allmake install
8.初始化数据库
su - postgresinitdb
9.开启数据库
pg_ctl -D /pgdata/data -l logfile start
10.卸载:
要撤销安装可以使用命令make uninstall
。不过这样不会删除任何创建出来的目录。
文章转载自运维笔记本,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




