PostgreSQL语句基本操作

/ LanguageDatabase / 没有评论 / 1318浏览

列举数据库

\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';