1.psql 常用命令
\l 列出数据库。
\c testdb 连接到testdb数据库。
psql -h 192.168.1.51 -p 5432 testdb postgres 使用postgres用户连接到testdb数据库。
\d 查看所有的表。
\d t 查看t表的结构。
\d t_pkey 查看索引t_pkey的结构。
\d x? 查看所有x开头的表的结构。
\d t* 查看所有t开头的表的结构
\d+ t 查看t表更详细的信息。
\dt 只显示匹配的表
\di 只显示索引
\ds 只显示序列
\dv 只显示视图
\df 只显示函数
\timing on 显示SQL的执行时间。
\dn 显示所有的schema
\db 查看所有的表空间
\dg 查看所有的角色或用户。
\du 查看所有的角色或用户
\dp t 显示表的权限分配情况
\z t 显示表的权限分配情况
\encoding gbk; 设置客户端的字符集为gbk
\encoding utf8; 设置客户端的字符集为utf8
\pset border 0 ; 输出内容无边框
\pset border 1;表示边框只在内部
\pset border 2;表示边框内外都有边框
\x 设置后以后的查询每行的每列数据都拆分为单行展示。类似Mysql的G命令。
select * from pg_stat_activity;
\i getrunsql ; 执行外部文件 getrunsql 里面的命令;
psql -x -f getrunsql 执行getrunsql文件里面的内容。
\echo hello word ; 打印出hello word;
\i a.sql
\? 显示更多的命令。
\d+tab 快捷键显示d命令的组合命令。
\d t+tab 显示t开始的对象。
\d x+tab 快捷键显示x开始的快捷键。
如果不想自动提交dml ;可以使用begin; 开启一个事务,然后执行dml;
begin;
update x1 set name='xxxx' where id=1;
rollback;
2.关闭自动提交功能。
\set AUTOCOMMIT OFF ; AUTOCOMMIT关键字必须使用大写,否则不生效。
打印\ 开头的命令实际执行的底层SQL; 使用 E参数。
psql -E postgres
\d ;显示\d这个命令的底层的SQL。
psql postgres
\dn 显示所有的schema;
\set ECHO_HIDDEN on
\dn 把\dn这个的底层SQL打印出来。
\set ECHO_HIDDEN off; 不打印命令的底层sql;直接显示结构。