基本
切换和连接
$ sudo -u postgres psql
列出所有数据库
postgres=# \l
连接到名为 postgres 的数据库
postgres=# \c postgres
断开
postgres=# \q
postgres=# \!
psql 命令
参数 | 示例 | 说明 |
[-d] | psql -d mydb | 连接到数据库 |
-U | psql -U john mydb | 以特定用户身份连接 |
-h -p | psql -h localhost -p 5432 mydb | 连接到主机/端口 |
-U -h -p -d | psql -U admin -h 192.168.1.5 -p 2506 -d mydb | 连接远程 PostgreSQL |
-W | psql -W mydb | 强制密码 |
-c | psql -c ‘\c postgres’ -c ‘\dt’ | 执行 SQL 查询或命令 |
-H | psql -c “\l+” -H postgres > database.html | 生成 HTML 报告 |
-l | psql -l | 列出所有数据库 |
-f | psql mydb -f file.sql | 从文件执行命令 |
-V | psql -V | 打印 psql 版本 |
获得帮助
\h | SQL 命令语法帮助 |
\h DELETE | DELETE SQL 语句语法 |
\? | PostgreSQL 命令列表 |
在 PostgreSQL 控制台中运行
PostgreSQL 工作
Recon 观察
显示版本
SHOW SERVER_VERSION;
显示系统状态
\conninfo
显示环境变量
SHOW ALL;
列出用户
SELECT rolname FROM pg_roles;
显示当前用户
SELECT current_user;
显示当前用户的权限
\du
显示当前数据库
SELECT current_database();
显示数据库中的所有表
\dt
列出函数
\df
Databases 数据库
列出数据库
\l
连接到数据库
\c
显示当前数据库
SELECT current_database();
创建数据库
CREATE DATABASE WITH OWNER ;
删除数据库
DROP DATABASE IF EXISTS ;
重命名数据库
ALTER DATABASE RENAME TO ;
Tables 表
列出当前数据库中的表
\dt
SELECT table_schema,table_name FROM information_schema.tables ORDER BY table_schema,table_name;
全局列表
\dt *.*.
SELECT * FROM pg_catalog.pg_tables
列表表架构
\d
\d
|