1. 概述
PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数
PostgreSQL数据库有如下优势:
- PostgreSQL数据库时功能最强大的开源数据库,最接近工业标准SQL92的查询语言,实现了SQL:2011标准要求的179项主要功能中的160项
- 稳定可靠:PostgreSQL数据库时唯一能做到数据领丢失的开源数据库
- 开源:PostgreSQL数据库时开源的,遵守BSD协议,使用和二次开发都没有限制
- 支持广泛:PostgreSQL数据库支持大量主流开发语言,如C、C++、Perl、Python、Java和PHP
更多详情可以参阅PostgreSQL官网
2. 下载
进入官网,可以看到如下界面
点击Download进入下载页面
可以选择发行版本安装或源码安装
本文采用发行版本安装,根据服务器的操作系统选择不同的安装包,选择Linux
根据Linux发行版选择不同的Linux distribution
选择需要安装的PostgreSQL版本
获取到安装命令后就可以在服务器中执行命令进行安装了
3. 安装
安装postgresql安装源
yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
查询PostgreSQL,使用下面命令可以查看到与postgresql相关的软件
yum search postgresql
安装postgresql
yum install -y postgresql15-server
运行完以上命令后,PostgreSQL就安装好了,数据库实例还未创建
初始化PostgreSQL
/usr/pgsql-15/bin/postgresql-15-setup initdb
设置开机自启动
systemctl enable postgresql-15
启动PostgreSQL数据库
systemctl start postgresql-15
查看服务状态
systemctl status postgresql-15
停止数据库
systemctl stop postgresql-15
安装contrib包,contrib包中包含了一些插件和工具
yum install postgresql15-contrib
安装完成后,可以使用psql连接到数据库
su - postres
psql
为用户postgres设置密码
ALTER USER postgres WITH PASSWORD '123456';
4. 配置
4.1. 配置pg_hba.conf
默认创建的数据库无法接受远程连接,需要在pg_hba.conf文件中添加配置项
进入/var/lib/pgsql/15/data/目录,使用vim命令进入编辑模式
在节点# IPv4 local connections:下添加如下配置项
host all all xx.xx.xx.xx/32 scram-sha-256
4.2. 配置postgresql.conf
默认只会监听localhost,会造成远程主机无法登录数据库,可以将其修改为*,表示监听所有地址
使用vim命令打开postgresql.conf配置文件,找到Connection Settings节点,修改listen_addresses配置项
修改配置后,需要重启数据库
systemctl restart postgresql-15
4.3. 日志配置
PostgreSQL中默认只保留7天的日志,进行循环覆盖,配置如下
如果需要配置每天生成一个日志,配置如下:
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 1d
log_rotation_size = 0
如果需要配置每当写满一定大小就切换一个新的日志,配置如下:
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_truncate_on_rotation = off
log_rotation_age = 0
log_rotation_size = 10M