psql常用命令
登录pg数据库:
psql postgres postgres
psql -h ip -p port daname username
这些连接参数也可以通过环境变量指定:
export PGDATABASE=postgres
export PGHOST=xxx.xxx.xxx.xxx
export PGPORT=5432
export PGUSER=postgres
\c 显示连接信息
\conninfo 显示当前连接的相关信息
1.同一用户切换到其他数据库
\c testdb
2.同一库切换登录用户
\c ‐ user1
单独切换用户,需要加 “-”
3.当前实例同时切换数据库和登录用户
\c postgres postgres
4.切换主机和数据库
\c testdb ‐ xxx.xxx.xxx.xxx
主机参数前面需要加 “-”
5.切换主机、数据库和登录用户(端口为默认)
\c testdb user1 xxx.xxx.xxx.xxx
6.切换主机、数据库和登录用户以及端口
\c postgres user1 xxx.xxx.xxx.xxx
断开连接
ctrl + d
\q
exit
\encoding utf8 指定客户端字符集
常用快捷命令
\l 查看数据库
\db 查看表空间
\d 查看表
\dt 查看表
\di 查看索引
\ds 查看序列
\dv 查看视图
\df 查看函数
\d+查看表详细信息
\d t1 查看表定义
\dt+查看表大小
\di+查看索引大小
\sf 查看函数代码
\dn 查看模式
\du or \dg 查看用户
\dp or \z 查看表权限
格式化输出命令-\pset
\pset border 0: 表示输出内容无边框。
\pset border 1: 表示输出内容只有内边框。也是默认输出格式。
\pset border 2: 表示输出内容内外都有边框。
\pset format unaligned 以分隔符分隔输出结果,默认分隔符是“|”
\pset fieldsep '\t'设置 Tab 分隔符
\t 只显示记录,不显示列字段
\x 切换扩展输出模式
输入\输出
执行 sql 脚本
vi test.sql
create table test(id int);
insert into test values(1);
insert into test values(2);
insert into test values(3);
psql dbname username -f /home/test.sql
\i test.sql
将查询结果写入文件
\o test.sql
将 SQL 命令输出到文件中
\o test.txt
select * from t1;
其他命令
psql -E dbname username 查看快捷命令对应的实际 SQL
\set ECHO_HIDDEN on|off
\timing 记时
\watch 反复执行命令