Postgresql常用命令
以下为刚接触postgresql常需要的数据库命令:
- 登录数据库 psql -U 用户名 -W 数据库名 -h ip -p 端口 最后这两个参数可以有可以无,看使用情况
- 查看所有的用户 select * from pg_user;
- 查看当前数据库下有的表 select * from pg_tables; 或者/dt
- 查看用户表权限
select * from information_schema.table_privileges where grantee=‘用户名‘;
- 查看用户具有权限的表
<span>select <span>* <span>from information_schema<span>.usage_privileges <span>where grantee<span>=<span>‘用户名‘<span>;</span></span></span></span></span></span></span></span>
- 查看某表的具体字段情况 \d +表名
- 查看数据库下所有的schema \dr
- 创建数据库 createdb 数据库名称
- 删除数据库 dropdb 数据库名
- 创建用户 create user /role with password ‘你要设置的密码‘;
这里user和role的区别是: 用user默认创建的用户具有登录权限,用role无登录权限后面需要授权 - 修改密码 ALTER ROLE 用户名 WITH PASSWORD ‘*‘;
- admin用户,INSERT INTO authors,提示没有表权限
- admindb=> INSERT INTO authors (name) VALUES (‘Mo Yan‘);
- ERROR: permission denied for table authors
- postgres用户,授予表权限
- admindb=# GRANT ALL PRIVILEGES ON TABLE authors TO admin;
- GRANT
- admin用户,INSERT INTO authors,提示没有sequence权限
- admindb=> INSERT INTO authors (name) VALUES (‘Mo Yan‘);
- ERROR: permission denied for sequence authors_id_seq
- postgres用户,授予sequence权限
- admindb=# GRANT ALL PRIVILEGES ON SEQUENCE authors_id_seq TO admin; GRANT