PostgreSQL 的命令行工具 psql 的常用命令
1. 连接服务器:
psql -h 192.168.1.88 -U username -d databasename
2. 切换数据库:
\c dbname
3. 列出所有数据库:
\l
4. 列出所有当前数据库表:
\d
5. 列出表的所有字段:
\d tablename
6. 列出表的基本情况:
\d+ tablename
7. 退出
\q
8. 查看帮助
\?
9. 查看索引:
\di
10. 查看系统表:
\dtS
11.查看用户:
\du or \dg
12.查看视图:
\dv or \d+ viewname
13. Greenplum管理提示
查看表的分布键: gpskew -t table_name –c
14. 分配权限:
grant permissionname on table/view in schema schemaname to username
15. 修改当前用户密码:
\password or \password username
16. 列出表空间:
\db
17. 列出组:
\dg
18. 列出表,视图,序列的访问权限
\dp or \z
19. 列出数据类型
\dT
20. 列出大对象:
\dl
21. 列出函数:
\df
22. 列出schema:
\dn
23. 列出序列:
\ds
24. 列出所有内部变量:
\set or \set varname
25. 取消内部变量:
\unset
26. 切换到shell:
\! 用 exit 退回
27. 列出域:
\dD
28. 将当前缓存内容输出到文件:
\w path+filename
29. 将当前缓存内容编辑,会自动打开notepad
\e or \E
30. 将查询结果存储到文件中:
\o filename | select * from "Products"
31. 清空查询缓冲区:
\r
32. 打开扩展显示:
\x
32. 获取当前时间:
select now(); = select current_timestamp;
select localtime;
select current_time;
select current_date;
33. 时间计算:
select now() + interval '2Y' or '2y' or '2 year'
select now() + interval '1 month'
select now() + interval '3 week'
select now() + interval '5 day'
34. 时间差计算:age()
select age(now(), timestamp '2018-01-01');
35. 截取时间段:extract()
select extract(day from now());
select extract(day from interval '10 days 20 minutes');
select extract(doy from now()); -- 查看今天是今年的第几天
select extract(dow from now()); --查看今天是本周的第几天
select extract(epoch from now()); --查看此时距离1970-01-01 00:00:00 UTC 的秒数
SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 1369755555 * INTERVAL '1 second'; --把epoch 值转换回时间戳
Abbreviation | Meaning |
Y | Years |
M | Months (in the date part) |
W | Weeks |
D | Days |
H | Hours |
M | Minutes (in the time part) |
S | Seconds |