1、安装 PostgreSQL 10.15

在 CentOS 8 中,可以通过官方的 PostgreSQL 模块进行安装。默认情况下,CentOS 8 中 PostgreSQL 存储库已经被包含。你可以使用 dnf 包管理器来安装

步骤 1:启用 PostgreSQL 10 模块

首先,启用 PostgreSQL 10 模块,以确保安装的是 PostgreSQL 10.15 版本
sudo dnf module enable postgresql:10

步骤 2:安装 PostgreSQL

启用模块后,使用以下命令来安装 PostgreSQL 10 和 PostgreSQL 服务的初始化包

sudo dnf install postgresql-server postgresql-contrib

步骤 3:初始化数据库

在安装完成后,你需要初始化数据库集群:
sudo postgresql-setup --initdb
此命令会初始化 PostgreSQL 数据目录,并创建基本的数据库配置文件

步骤 4:启动 PostgreSQL 服务

初始化完成后,启动 PostgreSQL 服务,并使其开机自启动:

sudo systemctl start postgresql
sudo systemctl enable postgresql

2、验证 PostgreSQL 是否成功启动

你可以通过以下命令来检查 PostgreSQL 服务的状态:
sudo systemctl status postgresql
如果 PostgreSQL 正常启动,你将看到类似这样的输出:

● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: active (running) since ...

3、配置 PostgreSQL

接下来,你可以配置 PostgreSQL,创建数据库用户,并设置密码

步骤 1:切换到 postgres 用户

PostgreSQL 安装时,会创建一个默认的 PostgreSQL 系统用户 postgres。你需要切换到该用户来管理数据库
sudo -i -u postgres

步骤 2:进入 PostgreSQL 命令行

在 postgres 用户下,输入以下命令以进入 PostgreSQL 的命令行界面:
psql

步骤 3:设置密码

可以通过以下命令为 postgres 用户设置密码:

ALTER USER postgres PASSWORD 'journey@123';
CREATE DATABASE mydb;

步骤 4:退出 PostgreSQL 命令行

输入 \q 退出 PostgreSQL 命令行
\q

步骤 5:退出 postgres 用户

输入以下命令退出 postgres 用户的 Shell:
exit

4、配置远程访问

如果你希望 PostgreSQL 能被远程访问,你需要进行以下配置

步骤 1:编辑 postgresql.conf 文件

编辑 PostgreSQL 的配置文件 postgresql.conf,将 PostgreSQL 监听地址改为 *(所有地址)

sudo vi /var/lib/pgsql/data/postgresql.conf

找到以下行:
#listen_addresses = 'localhost'
修改为:
listen_addresses = '*'

步骤 2:编辑 pg_hba.conf 文件

编辑 pg_hba.conf 文件,添加允许远程访问的客户端 IP 地址
sudo vi /var/lib/pgsql/data/pg_hba.conf
在文件末尾添加以下内容(允许所有 IP 通过密码进行连接):

host    all             all             0.0.0.0/0               md5

步骤 3:重启 PostgreSQL

完成配置后,重启 PostgreSQL 以使更改生效
sudo systemctl restart postgresql

5、检查 PostgreSQL 版本

最后,你可以通过以下命令来验证 PostgreSQL 版本是否正确
psql --version

6、远程访问

注意 : 使用ip,不要使用localhost

PGPASSWORD='root@123' psql -h xx.xxx.xx.xx -U postgres -d mydb

7、常用命令

psql 会话中使用 \c 命令直接连接到新的数据库
\c mydb


查看所有数据库
\l

查看所有 Schema
\dn

切换schema
SET search_path TO my_schema;


查看当前schema下的所有表
\d

查看一个表的详细信息
\d department3
或者
\d+ department3

journey
32 声望21 粉丝