rehat7.X下postgresql 11编译安装

文档目录结构:

一、准备

操作系统版本:rehat7.6

Postgresql:11.2

软件安装目录:/pgsql11/basedir

数据文件存放目录:/pgsql11data/

11.2的下载地址:

https://www.postgresql.org/ftp/source/v11.2/

1.修改防火墙:

vim /etc/selinux/config

修改内容:

SELINUX=disabled

systemctl disable firewalld

systemctl stop  firewalld

2.选择deadline IO调度

cat > /etc/udev/rules.d/60-oracle-schedulers.rules<<EOF

ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0", ATTR{queue/scheduler}="deadline"

EOF

udevadm control --reload-rules

3.安装依赖包

yum install -y gcc gcc-c++  epel-release llvm5.0 llvm5.0-devel clang libicu-devel perl-ExtUtils-Embed zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel openldap-devel systemd-devel tcl-devel python-devel llvm*

二、编译安装后操作

安装过程与linux下其他软件的编译安装过程相同,都是:

./configure

make

make install

2.1默认情况安装会用到数据库中的压缩功能这个功能的实现需要第三方的压缩开发包zlib支持,linux包名字一般都包含zlib和dev 两个关键字,dev是develop开发的意思。

操作如下:

创建用户:

groupadd pgsql

useradd -g pgsql pgsql

passwd pgsql

mkdir -p /pgsql11/basedir   --这个为安装目录

mkdir -p /pgsql11data   --这个放数据文件

chown -R pgsql:pgsql /pgsql11

chown -R pgsql:pgsql /pgsql11data

 

把上传的包放到/pgsql11/basedir目录并解压。

tar -zxvf postgresql-11.2.tar.gz

 

vi postgresql-11.2/src/Makefile.global.in

 

去掉红圈的部分。

安装帮助命令

如果不指定,则默认安装到 /usr/loca/pgsql目录下,这是数据库的安装路径,跟具体的数据(表)存放没有任何关系。

./configure --prefix=/pgsql11/basedir/ --without-readline --without-zlib

生产中建议用较大的数据块提高I/O性能

 

make

 

make install

 

chown -R pgsql:pgsql /pgsql11

三、初始化数据库

1、设置启动配置

su - pgsql

vi .bash_profile

export PGPORT=5432

export PGHOME=/pgsql11/basedir

export PGDATA=/pgsql11data/

export PATH=$PGHOME/bin:$PATH

export MANPATH=$PGHOME/share/man:$MANPATH

export LANG=en_US.UTF-8

export DATE='date +"%Y%m%d%H%M"'

export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

source .bash_profile

2.初始化数据库

/pgsql11/basedir/bin/initdb -D /pgsql11data/

 

  

启动数据库:

/pgsql11/basedir/bin/pg_ctl -D /pgsql11data/ -l logfile start

帮助命令如下:

 

  

关闭数据库:

pg_ctl stop -D /pgsql11data/ -m fast

-m是指数据库停止的方法,有三种:

smart,fast,immediate  相当于oracle数据库中的normal,immediate,abort模式,尤其注意,两个数据库immediate模式不一样。

四.参数修改

修改监听的IP和端口

vi /pgsql11data/postgresql.conf

最大连接数

看情况 比如说 500

 

  

开启日志:

 

 其中开启syslogger系统日志

日志保留:

日志有3种方法可保留:

1.每天生成一个新的日志文件

2.每当日志写满一定的大小(如20M),则切换一个日志

3.只保留7天的日志,循环覆盖。

我采用第三种:

 

共享内存的调整:

主要是用户共享数据块。

 

默认是128M,根据内存大小,进行适当的调整,由于我的是虚拟机,我改成512MB(建议缓存数据库的参数设置成内存的25%—40%)。

 有关TCP keepalives的设置:

预写日志设置:

开启归档模式,且归档方式是拷贝到 /pgsql11data/pgarchivelog/ 路径下。

用户访问设置:

比如我的用户:

修改

vi /pgsql11data/pg_hba.conf 

 

注意,默认的是127.0.0.1/32,由于这个表示只能本机登陆,且掩码是32,修改成 192.168.211.0/24 表示掩码是24,且192.168.211这个网段的都可以登陆,后面那个是md5,建议不要用true。

改完后,重启数据库。

配置用户访问前:

配置用户访问后:

原文地址:https://www.cnblogs.com/hmwh/p/10704672.html