PostgreSQL数据库的安装

时间:2023-03-10 02:17:39
PostgreSQL数据库的安装

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/)进行下载。

PostgreSQL数据库的安装

点击“Source”后进入下一个界面,选择相应下载版本。本文以v9.6.11为例,点击“v9.6.11”

PostgreSQL数据库的安装

下载选择的软件包,bz2文件或者gz文件,本文以gz文件为例:

PostgreSQL数据库的安装

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