列举数据库
\l
选择数据库
\c dbname
查看某个库中的所有表
\dt
切换数据库
\c dbname
查看某个库中的某个表结构
\d table_name
显示字符集
\encoding
添加用户
psql #进入数据库
CREATE USER user WITH PASSWORD 'password';
删除用户
drop user user ;
创建一个数据库
CREATE database exampledb;
CREATE database exampledb OWNER dbuser; #创建一个数据库赋权给某个用户
命令行直接创建数据库
createdb [dbname [first]] #这里的first为描述
createdb dbname
建用户授权
create user user_name;
alter user user_namewith password '';
alter user user_namewith CONNECTION LIMIT 20;#连接数限制
赋予权限给用户于哪个库
GRANT ALL PRIVILEGES ON database exampledb to dbuser;
基于转储备份
pg_dumpall -U postgres -f /home/mysqlbak/all_`date +%Y%m%d%H%M%S`.sql #全备
pg_dump postgres -U postgres > /home/mysqlbak/`date +%Y%m%d%H%M%S`.sql #单库备份
- 注意
这里的-f *.sql 等同于 > *.sql
基于转储导入
psql -U postgres < all_20180417160338.sql #全部导入
psql -d dbname -U postgres -f 20180417180139.sql #单库导入
删除数据库
Drop database dbname ;
查看某用户的表权限
select * from information_schema.table_privileges where grantee='user_name';
查看usage权限表
select * from information_schema.usage_privileges where grantee='user_name';
查看存储过程函数相关权限表
select * from information_schema.routine_privileges where grantee='user_name';