<前>
——psql功能及应用
——创建用户、角色默认没有登录权限
create user  mydbuser with encrypted  password & # 39; mydbuser& # 39;;
——或者
create role  mydbuser with encrypted  password & # 39; mydbuser& # 39;;
alter role  mydbuser with 登录;
——创建表空间
mkdir -p /pgdata/10/数据/pg_tbs/tbs_mydb
create tablespace  tbs_mydb owner  mydbuser 位置& # 39;/pgdata/10/数据/pg_tbs/tbs_mydb& # 39;;
——创建数据库
create database  mydb with 所有者=mydbuser 模板=template0 编码=& # 39;use utf8 # 39;,表空间=tbs_mydb;
——赋权
grant all 提醒database mydb 用mydbuser with grant 选择;
grant all 提醒tablespace tbs_mydb 用mydbuser;
——查看角色信息
杜\
SELECT *,得到pg_roles;
——删除角色
revoke all 提醒database mydb 得到测试;
drop role 测试;
——连接
psql mydb  mydbuser
——列出数据库信息,pg_database
l \
——表空间列表,pg_tablespace
\ db
——查看表信息pg_class
create table  test_1 (id int4 name 文本,create_time timestamp without time zone default clock_timestamp ());
alter table  test_1 add primary  key (id);
\ d test_1
\ dt + test_1
insert into  test_1 (id、名称),select n, n | | & # 39; _francs& # 39;,得到generate_series (300000), n;
insert into  test_1 值(100001 & # 39;100001 _francs& # 39;);
——索引大小
\ di + test_1_pkey
——获取元命令
psql -E  mydb mydbuser
——大数据量,复制(只能超级用户)比\复制性能高
psql mydb  postgres
copy table_copy 得到& # 39;/home/postgres/test_copy_in.txt& # 39;;
copy table_copy 用& # 39;/home/postgres/table_copy_in.txt& # 39;;
——csv 格式
copy table_copy 用& # 39;/home/postgres/table_copy_in.csv& # 39;, with csv 头;
——A 取消格式化输出,- t只显示数据
,psql -At  -c “select oid, relname, relfilenode 得到pg_class limit 2“mydb mydbuser
——执行相关脚本
psql mydb  mydbuser -f  xx.sql
——查看活动会话
select pid、usename datname、查询、client_addr 得到pg_stat_activity where pid<祝辞pg_backend_pid(),以及国家=& # 39;活跃# 39;,order by 查询;
——查看等待事件
select pid、usename datname、查询、client_addr, wait_event_type, wait_event 得到pg_stat_activity where pid<祝辞pg_backend_pid(),以及wait_event is not null order by wait_event_type;
——查看数据库连接数
select datname usename client_addr, count(*),得到pg_stat_activity where pid<祝辞pg_backend_pid group by 1, 2, 3, order by 1, 2, 4, desc;
——编辑.psqlrc
\ set active_session & # 39; select pid, usename, datname,查询,client_addr 得到pg_stat_activity where pid<祝辞pg_backend_pid(),以及国家=\ & # 39;活跃\ & # 39;,order by 查询# 39;;
——执行:active_session 即可
——反复执行当前sql
[秒]\ watch
——查看当前时间
select 现在();
——psql 查看
psql ——帮助
\?
>之前