下载资源包

  1. 下载地址

https://www.postgresql.org/download/

  1. 拉到最下边点击direct download

image-20230626150005914

image-20230626150021901

  1. 选择自己适用的版本(根据自己的系统)

image-20230626150224440

  1. 点击进入

image-20230626150305552

  1. 下载下边四个文件

image-20230626150341987

1
2
3
[postgres@hecs-33111 pgsql12]$ ls
postgresql12-12.15-1PGDG.rhel7.x86_64.rpm postgresql12-libs-12.15-1PGDG.rhel7.x86_64.rpm
postgresql12-contrib-12.15-1PGDG.rhel7.x86_64.rpm postgresql12-server-12.15-1PGDG.rhel7.x86_64.rpm
  1. 可能要下载安装的文件

    libicu-50.2-4.el7_7.x86_64.rpm Oracle Linux 7 Download (pkgs.org)

    libxslt-1.1.28-6.el7.x86_64.rpm CentOS 7 Download (pkgs.org)

1
2
libicu-50.2-4.el7_7.x86_64.rpm
libxslt-1.1.28-6.el7.x86_64.rpm

进行安装、启动

  1. 将刚才下载的四个文件放到自己的服务器上,然后执行以下命令
1
2
3
4
5
6
rpm -ivh libicu-50.2-4.el7_7.x86_64.rpm
rpm -ivh libxslt-1.1.28-6.el7.x86_64.rpm
rpm -ivh postgresql12-libs-12.10-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-12.10-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-server-12.10-1PGDG.rhel7.x86_64.rpm
rpm -ivh postgresql12-contrib-12.10-1PGDG.rhel7.x86_64.rpm
  1. 初始化数据库
1
2
[root@hecs-33111 pgsql12]# /usr/pgsql-12/bin/postgresql-12-setup initdb
Initializing database ... OK
  1. 启动服务
1
systemctl start postgresql-12

配置服务

  1. 允许其他ip访问和端口号设置
1
vi /var/lib/pgsql/12/data/postgresql.conf
1
2
listen_addresses = '*' 表示监听所有的ip信息
port = 5432 表示服务的端口,可以自定义为其他端口

image-20230627132756371

  1. 修改允许访问的IP(以下配置允许所有的IP访问)
1
[root@hecs-33111 data]# vi /var/lib/pgsql/12/data/pg_hba.conf

image-20230627132944922

TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5

以上修改完成,需要重启服务才生效,重启服务

1
systemctl restart postgresql-12

创建用户及数据库

  1. 切换到postgres用户
1
2
su - postgres
psql -p 5432
  1. 修改超级管理员postgres用户的密码
1
postgres=# alter user postgres with password 'postgres';
  1. 创建数据库用户名
1
create user test with password '123456';
1
2
3
postgres=# create user test with password '123456';
CREATE ROLE
postgres=#
  1. 创建数据库
1
create database testdb
1
2
postgres=# create database testdb;
CREATE DATABASE
  1. 将testdb授权给test用户
1
grant all privileges on database testdb to test;
1
2
postgres=# grant all privileges on database testdb to test;
GRANT