一、PostgreSQL安装
四种方式安装,分别为二进制安装、yum安装、rpm安装、源码安装。
其中二进制安装新版本已不支持linux环境安装。本文不在说明。
1、安装准备
(1)本文主要是以在虚拟机中安装为例,虚拟机硬件配置如下:
操作系统版本:CentOS-Stream9
建议内存:2G及以上
建议磁盘:50G空闲空间
数据库版本:PostgreSQL 16
(2)创建数据库安装用户,在Linux中需要使用非root用户进行安装,创建用户和用户组。
以用户:postgres,用户组:postgres为例。
groupadd postgres # 创建用户组
useradd -g postgres postgres # 创建用户指定用户组
passwd postgres # 修改密码,建议使用强密码,密码要记住
(3)规划目录并创建目录:有四个目录,分别为安装目录、数据目录、归档目录和备份目录。
# 创建安装目录,存放安装包等
mkdir -p /pghome/app
# 创建数据目录
mkdir -p /pghome/pgdata
# 创建归档目录
mkdir -p /pghome/archive
# 创建备份目录
mkdir -p /pghome/backup
# 并对整个目录进行赋权
chown -R postgres:postgres /pghome
chmod -R 755 /pghome
(4)Linux操作系统的优化配置
# 禁用Selinux
# 临时生效
setenforce 0
#永久生效-修改配置文件 /etc/selinux/config
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# 确认是否修改成功
cat /etc/selinux/config
# 修改完成重启下操作系统生效
reboot
# 关闭防火墙
#查看防火墙状态
systemctl status firewalld
#关闭防火墙
systemctl stop firewalld
#设置开机关闭防火墙
systemctl disable firewalld
2、YUM安装
访问官网PostgreSQL: Linux downloads (Red Hat family)
选择安装PG版本、操作系统版本和架构后生成安装脚本,依次执行命令。
# 以下脚本都是在postgres用户下执行
# 安装YUM仓库
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
如出现:在安装YUM仓库时,报如下错误:
解决办法:修改sudo文件,
vim /etc/sudoers
,把postgres用户添加管理员权限里。
# 禁用CentOS上的PostgreSQL模块
sudo dnf -qy module disable postgresql
# 安装PostgreSQL
sudo dnf install -y postgresql16-server
# 初始化数据库并启动数据库
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16
通过
ps -ef | grep postgres
查看是否有进程。
通过`ss -tpln | grep postgres` 查看端口监听情况。
通过YUM方式安装后默认目录如下,可以修改配置修改目录为安装准备章节规划的目录,后续章节分享。
安装目录:
/usr/pgsql-16`
数据目录:
/var/lib/pgsql/16/data
端口:
5432
# 环境变量配置(切换到postgres用户下配置环境变量)
vim ~/.bash_profile
# 添加如下
#PG16 配置
export PGHOME=/usr/pgsql-16
export PATH=$PATH:$PGHOME/bin
export PGDATA=/var/lib/pgsql/16/data
# 生效环境变量
source vim ~/.bash_profile
yum安装主要用于服务器可连互联网的情况,专网/局域网建议使用RPM或源码安装。
3、RPM安装
RPM安装是把安装包下载到本地进行安装。安装依赖比较麻烦,安装依赖建议是配置操作系统yum源进行安装,这里不做介绍。
(1)下载安装包,选择所需版本进行系在,下载地址Index of /pub/repos/yum/16/redhat/rhel-9-x86_64/。共需要下载4个安装包,分别为(加粗部分为版本号,应保持一致)
postgresql16-16.1-2PGDG.rhel9.x86_64.rpm
postgresql16-contrib-16.1-2PGDG.rhel9.x86_64.rpm
postgresql16-libs-16.1-2PGDG.rhel9.x86_64.rpm
postgresql16-server-16.1-2PGDG.rhel9.x86_64.rpm
下载完成后上传到安装的电脑
/pghome/app
下
(2)安装依赖
依赖比较多,需要等一会。
sudo dnf install perl lz4 clang clang-devel libicu-devel
(3)安装数据库
rpm -ivh postgresql16-*
(4)初始化数据库
su - postgres
/usr/pgsql-16/bin/initdb -D /pghome/pgdata/
(5)启动数据库及验证
/usr/pgsql-16/bin/pg_ctl -D /pghome/pgdata/ -l logfile start
ps -ef | grep postgres
psql
RPM方式安装后安装目录默认为`/usr/pgsql-16`,数据目录可以在初始化时指定。后续也可以进行修改。