一、PSQL概述
1、PSQL是什么?
psql是PostgreSQL的一个命令行交互式客户端;通过执行内置的元命令(内置命令)或sql语句查看管理数据库对象;字符界面,比图形化管理工具操作更直接方便;能够通过tab键自动补全、可查命令的历史记录。
示例:psql -h 192.168.59.223 -p 5432 -U postgres -d postgres
2、PSQL元命令
输入到psql中的任何以未加引用的反斜线开始的东西都是一个psql元命令,它们由psql自行处理;这些命令让psql对管理和编写脚本更有用;元命令常常被称作斜线或者反斜线命令;psql命令的格式是用反斜线后面直接跟上一个命令动词,然后是一些参数;参数与命令动词和其他参数之间用任意多个空白字符分隔开。
3、PSQL使用
psql —help
元命令信息:\?
sql语法的信息:\h
详细可参考:https://www.postgresql.org/docs/current/static/app-psql.html
4、PSQL常用操作
#连接数据库
psql-h ip -p port -U user -d dbname
#查看版本信息
psql -V
psql -c "select version()"
#列表查看所有已安装的数据库
psql -l
#服务端连接默认数据库
psql
#执行操作系统命令
\! ls
#查看当前连接的数据库名称
select current_database();
#查看当前连接的用户名:
select * from current_user;
select user;
#列表浏览数据库实体对象
\d+
#创建用户
CREATE USER user1 WITH ENCRYPTED PASSWORD '123456';
\password [USERNAME]
#查看用户与用户组
`\du uesr1`
#连接数据库
\c <sample_db_name> [username]
#得到psql元命令获得实际执行的sql
psql -E
#用新用户连接数据库
\c postgres user1
#查看连接信息
\conninfo
#创建表
create table t1(id int,name varchar);
#查看表
\d t1
\dt t1
\dt+ t1
#以下功能在linux环境下可演示
tab #补齐功能
\d #按两下tab键
\d t #然后按两下tab键盘
#插入数据
insert into t1 values(1,'zhangshan');
insert into t1 values(2,'lisi');
select * from t1;
\x #调整行列显示
#设置输出格式
\pset border 0
\pset border 1
\pset border 2
#查看命令执行的时间
\timing [on/off]
#默认情况下的自动提交是启用的,要设置自动提交关闭
\set AUTOCOMMIT off|on
begin;
insert into t1 values(3,'lisi');
commit[rollback];
#定义查询sql语句别名
\set SIZE 'SELECT pg_size_pretty(pg_table_size(''t'')) table_size, pg_size_pretty(pg_indexes_size(''t'')) index_size;’
#调用别名
:SIZE
#退出psql环境
ctl +z 快捷键 或者 \q
二、PSQL参数列表