在CentOS 7上安装&配置PostgreSQL 12

一、前言

1、本文主要内容

  • PostgreSQL 12 安装(yum)
  • PostgreSQL 12 基础配置
  • PostgreSQL 12 远程访问配置
  • PostgreSQL 基础管理

2、本文环境信息与适用范围

  • 环境信息

软件

版本

CentOS

7.6 Release

PostgreSQL

12.x

  • 适用范围

软件

版本

CentOS

CentOS 7.x

PostgreSQL

9.x-12.x

二、PostgreSQL安装

1、导入yum源

# CentOS 7 系统
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# CentOS 9 Stream 系统
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# sudo dnf -qy module disable postgresql

复制

1、安装PostgreSQL服务

# CentOS 7 系统
sudo yum install -y postgresql12 postgresql12-server

# CentOS 9 Stream 系统
# sudo dnf install -y postgresql12-server

     如果在安装过程出现了如下错误: 

Error: Failed to download metadata for repo 'pgdg-common': repomd.xml GPG signature verification error: Bad GPG signature

     解决方法:只需要修改如下命令

sudo yum install -y --nogpgcheck postgresql12 postgresql12-server

复制

安装PostgreSQL 11就是 yum install postgresql12 postgresql12-server 安装PostgreSQL 9.5就是 yum install postgresql95 postgresql95-server 依此类推

2、初始化数据库

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb 

#Initializing database ... OK

复制

3、启动PostgreSQL服务

#启动PostgreSQL服务
sudo systemctl start postgresql-12

#设置PostgreSQL服务为开机启动
sudo systemctl enable postgresql-12

复制

9.x版本的服务名是postgresql-9.x

二、修改postgres账号密码

PostgreSQL安装成功之后,会默认创建一个名为postgres的Linux用户,初始化数据库后,会有名为postgres的数据库,来存储数据库的基础信息,例如用户信息等等,相当于MySQL中默认的名为mysql数据库。

postgres数据库中会初始化一名超级用户postgres

为了方便我们使用postgres账号进行管理,我们可以修改该账号的密码

1、进入PostgreSQL命令行

通过su命令切换linux用户为postgres会自动进入命令行

su postgres

复制

2、启动SQL Shell

psql

复制

3、修改密码

ALTER USER postgres WITH PASSWORD 'NewPassword';

复制

三、配置远程访问

1、开放端口

sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload

复制

2、修改IP绑定

#修改配置文件
vi /var/lib/pgsql/12/data/postgresql.conf

#将监听地址修改为*
#默认listen_addresses配置是注释掉的,所以可以直接在配置文件开头加入该行
listen_addresses='*'

复制

3、允许所有IP访问

#修改配置文件
vi /var/lib/pgsql/12/data/pg_hba.conf

#在文件尾部加入
host  all  all 0.0.0.0/0 md5

复制

4、重启PostgreSQL服务

#重启PostgreSQL服务
sudo systemctl restart postgresql-12

复制

配置完成后即可使用客户端进行连接

四、PostgreSQL shell常用语法示例

启动SQL shell:

su postgres
psql

复制

1、数据库相关语法示例

#创建数据库
CREATE DATABASE mydb;

#查看所有数据库
\l

#切换当前数据库
\c mydb

#创建表
CREATE TABLE test(id int,body varchar(100));

#查看当前数据库下所有表
\d

复制

2、用户与访问授权语法示例

#新建用户
CREATE USER test WITH PASSWORD 'test';

#赋予指定账户指定数据库所有权限
GRANT ALL PRIVILEGES ON DATABASE mydb TO test;

#移除指定账户指定数据库所有权限
REVOKE ALL PRIVILEGES ON DATABASE mydb TO test

3、小知识点

Centos9 安装PostgreSQL以及修改默认数据存储目录

复制

权限代码:SELECT、INSERT、UPDATE、DELETE、TRUNCATE、REFERENCES、TRIGGER、CREATE、CONNECT、TEMPORARY、EXECUTE、USAGE

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 CentOS 7 上离线安装 PostgreSQL 12,请按照以下步骤进行操作: 1. 首先,从 PostgreSQL 官方网站下载 PostgreSQL 12 的离线安装包(tar.gz 格式)到您的本地机器上。您可以在以下链接中找到适合您操作系统的版本:https://www.postgresql.org/download/ 2. 在您的本地机器上创建一个目录用于安装 PostgreSQL。假设您创建了一个名为 "postgres_install" 的目录。 3. 将下载的 PostgreSQL 12 安装包复制到 "postgres_install" 目录中。 4. 打开命令行终端,并切换到 "postgres_install" 目录。 5. 解压缩安装包。在命令行中运行以下命令: ``` tar -xzvf postgresql-12.*.tar.gz ``` 请将 "postgresql-12.*.tar.gz" 替换为您下载的实际文件名。 6. 切换到解压缩后的目录。在命令行中运行以下命令: ``` cd postgresql-12.* ``` 7. 配置和编译 PostgreSQL。在命令行中运行以下命令: ``` ./configure --prefix=/usr/local/pgsql make ``` 这将配置和编译 PostgreSQL,并将其安装到 "/usr/local/pgsql" 目录下。 8. 安装 PostgreSQL。在命令行中以超级用户身份运行以下命令: ``` sudo make install ``` 这将安装 PostgreSQL 到系统中。 9. 创建数据目录并设置权限。在命令行中以超级用户身份运行以下命令: ``` sudo mkdir /usr/local/pgsql/data sudo chown postgres:postgres /usr/local/pgsql/data ``` 这将创建一个名为 "data" 的目录,并将其所有权分配给 "postgres" 用户和组。 10. 初始化数据库集群。在命令行中以 "postgres" 用户身份运行以下命令: ``` /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data ``` 11. 启动 PostgreSQL 服务器。在命令行中以 "postgres" 用户身份运行以下命令: ``` /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start ``` 现在,您已经成功离线安装PostgreSQL 12,并启动了 PostgreSQL 服务器。您可以使用 psql 命令行工具或其他客户端连接到您的 PostgreSQL 数据库。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值