查看所有数据库
\l
显示每个匹配关系(表、视图、索引、序列)的信息
\d [ pattern ]
不加任何参数表示查看当前数据库的所有表。
可以加上 + 查看更多的信息,如 \d+
后面跟一个表名,表示显示这个表的结构定义
\d tablename
也可以显示索引的信息,如 \d 索引名称
\d indexname
后面也可以跟通配符如 "*" 或 "?",\d x*
\d *
将显示比 \d 更详细的信息,还会显示任何与表关系的注释,以及表中出现的 OID
\d+
只显示匹配的表
\dt
只显示索引
\di
只显示序列
\ds
只显示视图
\dv
只显示函数
\df
显示 SQL 已执行的时间,默认情况下是 off
\timing on或off
进入某个数据库
psql –d dbname
或
\c dbname
列出所有的 schema
\dn
列出所有的数据库用户和角色
\du
或
\dg
显示所有的表空间,表空间其实是一个目录,放在这个表空间的表,就是把表的数据文件发到这个表空间下。
\db
显示表的权限分配情况
\dp
或
\z
指定客户端的字符编码
\encoding UTF8
设置输出的格式
\pset
\pset border 0 : 表示输出内容无边框。 border 1 :表示边框只在内部。border 2 :内外都有边框
把表中的每一行的每列数据都拆分为单行展示,与 MySQL 中的 "\G" 的功能类似。
\x
用于输出一行信息,通常用于在 .sql 文件中输出一些提示信息。
\echo
设置密码
\password
列出当前数据库连接的信息
\conninfo
查看数据库中安装的扩展 或 select * from pg_extension;
\dx
查看当前用户
\c
select current_user;
查看所有用户
select * from pg_user;
select * from pg_shadow;
查看所有角色
\du
select * from pg_roles;
查看是否归档
show archive_mode;
查看 XXX 数据库的大小
SELECT pg_size_pretty(pg_database_size('XXX')) As fulldbsize;
查看所有数据库的大小
select pg_database.datname, pg_size_pretty (pg_database_size(pg_database.datname)) AS size from pg_database;
查看各数据库数据创建时间:
select datname,(pg_stat_file(format('%s/%s/PG_VERSION',case when spcname='pg_default' then 'base' else 'pg_tblspc/'||t2.oid||'/PG_11_201804061/' end, t1.oid))).* from pg_database t1,pg_tablespace t2 where t1.dattablespace=t2.oid;
查看参数文件
show config_file;
show hba_file;
show ident_file;
查看某个参数值,比如参数work_mem
show work_mem
修改某个参数值,比如参数work_mem
alter system set work_mem='8MB'
使用alter system命令将修改postgresql.auto.conf文件,而不是postgresql.conf,这样可以很好的保护postgresql.conf文件,加入你使用很多alter system命令后搞的一团糟,那么你只需要删除postgresql.auto.conf,再执行pg_ctl reload加载postgresql.conf文件即可实现参数的重新加载。