PostgreSQL是一个功能强大的开源数据库,它支持丰富的数据类型和自定义类型,其提供了丰富的接口,可以自行扩展其功能,支持使用流行的编程语言编写自定义函数
PostgreSQL数据库有如下优势:
更多详情可以参阅PostgreSQL官网
进入官网,可以看到如下界面
点击Download进入下载页面
可以选择发行版本安装或源码安装
本文采用发行版本安装,根据服务器的操作系统选择不同的安装包,选择Linux
根据Linux发行版选择不同的Linux distribution
选择需要安装的PostgreSQL版本
获取到安装命令后就可以在服务器中执行命令进行安装了
安装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
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
su - postres
psql
ALTER USER postgres WITH PASSWORD '123456';
默认创建的数据库无法接受远程连接,需要在pg_hba.conf文件中添加配置项
进入/var/lib/pgsql/15/data/目录,使用vim命令进入编辑模式
在节点# IPv4 local connections:下添加如下配置项
host all all xx.xx.xx.xx/32 scram-sha-256
默认只会监听localhost,会造成远程主机无法登录数据库,可以将其修改为*,表示监听所有地址
使用vim命令打开postgresql.conf配置文件,找到Connection Settings节点,修改listen_addresses配置项
修改配置后,需要重启数据库
systemctl restart postgresql-15
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