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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。