PostgreSQL17.x创建数据库及数据库信息查看命令
文章目录
1.创建数据库
1. 使用 SQL 命令创建数据库
已经连接到了 PostgreSQL 服务器,可以直接运行 CREATE DATABASE 命令来创建一个新的数据库。
CREATE DATABASE dbName;
2. 创建数据库并指定字符集
CREATE DATABASE mydatabase WITH ENCODING 'UTF8';
3. 验证数据库是否创建成功
\l
3. 远程连接
要允许 PostgreSQL 用户从远程主机连接到数据库,需要进行几个配置步骤。以下是在 PostgreSQL 17 中配置远程连接的详细步骤:
1. 修改 PostgreSQL 配置文件
首先,需要编辑 PostgreSQL 的配置文件 postgresql.conf,以允许监听来自外部网络的连接。
- 找到
postgresql.conf文件:
-
Linux系统中,默认情况下这个文件位于 PostgreSQL 的数据目录中,通常是
/etc/postgresql/17/main/或/var/lib/pgsql/17/data/ -
Windows系统中,默认情况下这个文件位于 PostgreSQL 的数据目录中,如:
D:\Programs\PostgreSQL\17\data\
- 编辑
postgresql.conf文件:
- 使用文本编辑器打开
postgresql.conf文件。 - 找到
listen_addresses配置项,并将其设置为'*',表示允许从任何 IP 地址连接。例如:
listen_addresses = '*'
2. 修改客户端认证配置
接下来,需要编辑 pg_hba.conf 文件,以允许特定的用户从特定的 IP 地址连接到数据库。
-
找到
pg_hba.conf文件:- 这个文件通常也位于 PostgreSQL 的数据目录中,与
postgresql.conf文件在同一位置。
- 这个文件通常也位于 PostgreSQL 的数据目录中,与
-
编辑
pg_hba.conf文件:使用文本编辑器打开
pg_hba.conf文件。添加或修改一行,允许特定的用户从特定的 IP 地址连接。例如,允许用户
john从 IP 地址192.168.1.100连接:# TYPE DATABASE USER ADDRESS METHOD host all john 192.168.1.100/32 md5解释:
TYPE: 连接类型,host表示 TCP/IP 连接。DATABASE: 允许连接的数据库名称,all表示所有数据库。USER: 允许连接的用户名。ADDRESS: 允许连接的 IP 地址和子网掩码。192.168.1.100/32表示单个 IP 地址,192.168.1.0/24表示整个子网。METHOD: 认证方法,md5表示使用 MD5 加密的密码认证。
4. 指定某个用户
使用文本编辑器打开 pg_hba.conf 文件。
# TYPE DATABASE USER ADDRESS METHOD
...
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.1.26/32 scram-sha-256
# IPv6 local connections:
....
5. 指定某个网段可连接
# TYPE DATABASE USER ADDRESS METHOD
...
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
host all all 192.168.1.0/24 scram-sha-256
# IPv6 local connections:
....
添加或修改一行,允许特定网段的主机连接。例如,允许用户 all(所有用户) 从 192.168.1.0/24 网段的主机连接
- 解释:
TYPE: 连接类型,host表示 TCP/IP 连接。DATABASE: 允许连接的数据库名称,all表示所有数据库。USER: 允许连接的用户名,all表示所有用户。ADDRESS: 允许连接的 IP 地址和子网掩码。192.168.1.0/32表示整个192.168.1.0到192.168.1.255的网段。METHOD: 认证方法,scram-sha-256表示使用 scram-sha-256加密的密码认证。
6. 重启 PostgreSQL 服务
修改配置文件后,需要重启 PostgreSQL 服务以使更改生效。
# Windows下先停止在启动
# 停止服务
net stop postgresql-x64-17
# 启动服务
net start postgresql-x64-17
2. 查看数据库及表
1. 查看数据库信息
\l
2. 查看表信息
在 PostgreSQL 17 中,使用 psql 命令行工具可以方便地切换数据库和查看表结构。以下是详细的步骤和命令:
1. 连接到 PostgreSQL 服务器
首先,使用 psql 命令连接到 PostgreSQL 服务器。假设您要以 john 用户连接到 localhost 上的 PostgreSQL 服务器:
psql -h localhost -U john
-h localhost: 指定服务器地址,如果是本地连接,可以省略。-U john: 指定连接的用户名。
连接成功后,您会看到 psql 提示符,类似于 john=#。
2. 切换数据库
如果您已经连接到某个数据库,但需要切换到另一个数据库,可以使用 \c 命令。假设您要切换到 mydatabase 数据库:
\c mydatabase
3. 查看当前数据库中的所有表
要查看当前数据库中的所有表,可以使用 \dt 命令:
\dt
这个命令会列出当前数据库中的所有表。
# 切换到 syson-db数据库
postgres-# \c "syson-db"
您现在已经连接到数据库 "syson-db",用户 "postgres".
# 查看当前数据库下的表
syson-db-# \dt
关联列表
架构模式 | 名称 | 类型 | 拥有者
----------+-------------------------+--------+--------
public | databasechangelog | 数据表 | dbuser
public | databasechangeloglock | 数据表 | dbuser
public | document | 数据表 | dbuser
public | image | 数据表 | dbuser
public | nature | 数据表 | dbuser
public | project | 数据表 | dbuser
public | project_image | 数据表 | dbuser
public | representation_content | 数据表 | dbuser
public | representation_metadata | 数据表 | dbuser
public | semantic_data | 数据表 | dbuser
public | semantic_data_domain | 数据表 | dbuser
(11 行记录)
4. 查看特定表的结构
如果您想查看某个表的详细结构,可以使用 \d 命令加上表名。例如,查看 users 表的结构:
\d users
3. 常用命令
1. 查看数据库
\l
2. 切换数据库
\c dbName
3.查看所有模式
\dn
4.查看所有函数
\df
想查看某个表的详细结构,可以使用 \d 命令加上表名。例如,查看 users 表的结构:
\d users
3. 常用命令
1. 查看数据库
\l
2. 切换数据库
\c dbName
3.查看所有模式
\dn
4.查看所有函数
\df










