psql 命令
概述
参考:
psql 是 PostgreSQL 的交互式终端,可以看作是 PostgreSQL 的 REPL。
psql 中可以执行有多种类型的命令
Syntax(语法)
psql [OPTION] [DBNAME [USERNAME]]
OPTIONS
- 连接数据库相关选项
- -U, –username USERNAME # 使用指定的用户连接数据库。
默认值: 当前 Shell 环境的用户。 - -h, –host HOSTNAME # 指定 PostgreSQL 服务端所在的 HOSTNAME,可以是 IP 或 Domain。如果该以
\开头,则将其用作 Unix 域套接字的目录。 - -p, –port PORT # 指定 PostgreSQL 服务端监听的 TCP 端口或本地 Unix 域套接字文件扩展名。默认为 PGPORT 环境变量的值,
默认值: 5432。
- -U, –username USERNAME # 使用指定的用户连接数据库。
- SQL 执行相关
- -t, –tuples-only # 关闭列名和结果行计数页脚等的打印。这相当于
\t或\pset tuples_only
- -t, –tuples-only # 关闭列名和结果行计数页脚等的打印。这相当于
Meta-Commands
\h# 查看 SQL 命令的解释,比如\h select。\?# 查看 psql 命令列表。\l# 列出所有数据库。\c [database_name]# 连接其他数据库。\e# 打开文本编辑器。\conninfo# 列出当前数据库和连接的信息。\password USER# 为指定的 USER 设置密码
信息性元命令
\d(PATTERN) # 显示SHOW search_path;查询结果中搜索路径下的所有类型(表、视图、索引、etc.)的 表 的 列、列类型、表空间、任何特殊属性。若不给出 PATTERN 则只列出表名等基础信息。\d [table_name]# 列出某一张表格的结构。\du# 列出所有 roles(角色)。由于 “用户” 和 “组” 的概念已统一为 “角色”,因此该命令现在相当于 \dg。\dn(PATTERN) # 列出 Schema\dX(PATTERN) # 列出 PATTERN 匹配到的表的基本信息。- X 可以是 E, i, m, s, t, v 其中之一,分别表示 foreign table(外部表)、index(索引)、materialized view(物化视图)、sequence(序列)、table(表)、view(视图)。
最佳实践
\dt *.* 显示所有 Schema 下的所有表基本信息。共显示四列信息:Schema, Name, Type, Owner
使用 pgadmin 用户连接本地 127.0.0.1 且监听在 5432 端口上的 PgSQL Server 中的 postgres 数据库
psql postgres -U pgadmin -h 127.0.0.1 -p 5432
热加载配置文件
psql -U postgres -h 127.0.0.1 -c "SELECT pg_reload_conf();"/usr/local/pgsql/bin/psql -U pgadmin -d olp_euintf -h 127.0.0.1 -c "SELECT pg_reload_conf();"
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.