1 总体规划
操作系统 | CentOS Linux release 7.5.1804 |
处理器 | 1 |
内存 | 4G |
硬盘 | 38G |
主机名称 | chenzx |
IP地址 | 192.168.56.8 |
1.1 用户组和用户规划
PostgreSQL数据库建议运行在特定的用户与用户组下。对于同一主机安装不同PostgreSQL数据库的场景,建议使用不同的用户管理不同的数据库。
用户ID | 用户名称 | 用户组ID | 用户组名称 | 备注 |
1002 | postgres | 1002 | postgres | 数据库操作系统用户 |
用户不存在则很使用以下命令创建:
# groupadd -g 1002 postgres # useradd –u 1002 –g postgres postgres
若已存在则使用以下命令修改:
# groupmod -g 1001 postgres # usermod -s /bin/bash -u 1001 postgres
1.2 网络规划
应用通过服务IP接入PROD数据库,故障时通过服务IP的漂移实现高可用性。本文不涉及高可用部分,需要开放5432端口,固定IP用于复制接入,服务IP用于应用接入。
接口名 | 主机名 | IP地址 | 端口 | 描述 |
ens32 | chenzx | 192.168.56.8 | 5432 | 固定IP地址 |
1.3 数据库文件系统规划
数据库相关文件系统规划,一个好的文件系统规划,有利于后续运维人员进行维护。
路径 | 文件系统大小 | 功能说明 |
/postgres | 20GB | 软件存放目录,存放数据库软件目录。 |
/postgres/pgdata | 200GB | 数据库数据文件等文件存放目录,可以根据具体需求再进行拆分,大小视数据量而定。 |
/postgres/soft | 软件安装包存放目录。 |
创建相关目录:
# mkdir –p /postgres/pgdata # mkdir –p /postgres/soft
修改相关目录的属组信息:
# chown –R postgres: postgres /postgres
2 系统参数配置
3 PostgreSQL安装
3.1 下载PostgreSQL介质
本文主要介绍PostgreSQL源码软件的安装过程。源码软件安装包可以到官网(https://www.postgresql.org/download/)进行下载。
点击“Source”后进入下一个界面,选择相应下载版本。本文以v9.6.11为例,点击“v9.6.11”
下载选择的软件包,bz2文件或者gz文件,本文以gz文件为例:
3.2 上传介质并校验
使用scp或者ftp等工具把安装包(mysql-5.7.23-linux-glibc2.12-x86_64.tar.gz)上传至服务器,并使用命令生成软件安装包的md5码与官网md5码进行比对:
$ md5sum postgresql-9.6.11.tar.gz
比对结果必须一致!!!
官网提供MD5码 | 下载后生成MD5码 | 比对结果 |
6410347aed2c3b864277fe3b61002b20 | 6410347aed2c3b864277fe3b61002b20 | 一致 |
3.3 安装PostgreSQL
1) 解压安装包
$ su – postgres $ tar -zxvf postgresql-9.6.11.tar.gz -C /postgresql/soft/
2) 编译并安装
$ su – postgres $ cd /postgres/soft/postgresql-9.6.11 $ ./configure --prefix=/postgres/postgresql-9.6.11 --with-perl --with-libxml --with-libxslt $ make && make install
3) 建立软链接
$ su - # ln -s /postgres/postgresql-9.6.11 /usr/local/pgsql # cd /usr/local # chown -R postgres:postgres pgsql
3.4 初始化PostgreSQL
$ su - postgres $ /usr/local/pgsql/bin/initdb -D /postgres/pgdata --encoding="UTF8"
3.5 启动PostgreSQL
$ /usr/local/pgsql/bin/pg_ctl -D /postgres/pgdata -l logfile start
3.6 关闭PostgreSQL
$ /usr/local/pgsql/bin/pg_ctl stop -D /postgres/pgdata -m fast