PostgreSQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的声誉。PostgreSQL是完全的事务安全性数据库,完整地支持外键、联合、视图、触发器和存储过程(并支持多种语言开发存储过程)。它支持了大多数的SQL:2008标准的数据类型,包括整型、数值型、布尔型、字节型、字符型、日期型、时间间隔型和时间型,它也支持存储二进制的大对像,包括图片、声音和视频。PostgreSQL对很多高级开发语言有原生的编程接口,作为一种企业级数据库,PostgreSQL以它所具有的各种高级功能而自豪,像多版本并发控制(MVCC)、按时间点恢复(PITR)、表空间、异步复制、嵌套事务、在线热备、复杂查询的规划和优化以及为容错而进行的预写日志等。它支持国际字符集、多字节编码并支持使用当地语言进行排序、大小写处理和格式化等操作。它也在所能管理的大数据量和所允许的大用户量并发访问时间具有完全的高伸缩性
下面介绍在CentOS7下安装PostgreSQL12
本文参考官网的安装指导进行安装
https://www.postgresql.org/download/linux/redhat/
1、配置PostgreSQL YUM源
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
2、yum install postgresql12-server 安装
安装了服务端会自动安装上client
yum install postgresql12
3、修改数据文件存放位置
mkdir -p /data/pgsql12/data/
vi /usr/lib/systemd/system/postgresql-12.service
例如修改如下
# Location of database directory
Environment=PGDATA=/data/pgsql12/data/
若这时进行初始化数据库/usr/pgsql-12/bin/postgresql-12-setup initdb会提示报错
4、目录权限修改后再进行初始化数据库操作
chown -R postgres.postgres /data/pgsql12/data
chmod 755 /data/pgsql12/data/
rm -rf /data/pgsql12/data/*
再进行初始化数据库操作
/usr/pgsql-12/bin/postgresql-12-setup initdb
5、设置服务开机自启动,并启动postgresql-12服务
systemctl enable postgresql-12
systemctl start postgresql-12
6、测试创建一个数据库
7、使用客户端连接数据库,并测试创建表与插入表数据
8、设置数据库远程访问
1)vi /data/pgsql12/data/postgresql.conf
将#listen_addresses = 'localhost' 改为
listen_addresses = '*'
2)修改vi /data/pgsql12/data/pg_hba.conf
加入如下一行
host all all 192.168.31.0/24 trust
3)su - postgres
psql -c "alter user postgres with password 'postgres@2019'"
systemctl restart postgresql-12.service
4)接下来使用navicat工具登录