PostgreSQL基础操作

1 PG常用命令
1.1 登录数据库
[postgres@eas root]$ psql (切换到postgres用户进入postgresql命令行)
或使用客户端连接数据库
psql -U postgres -d dbname -h 127.0.0.1 -p 5432 (-U 指定用户 -d 指定数据库 -h 指定服务器 -p 指定端口 )

1.2 常用命令
postgres=# \? # 显示帮助信息
postgres=# \q # 退出 or: exit;
postgres=# \l # 列出所有库
postgres=# \du # 列出所有用户, 指令显示用户和用户的用户属性
postgres=# \d # 列出库下所有表
postgres=# \di # 查看索引
postgres=# \dn # 查看模式schema列表
postgres=# \dn+ # 查看模式schema列表详情
postgres=# \z 或 \dp # 显示用户访问权限
postgres=# \c dbname # 切换数据库,相当于mysql的use dbname
postgres=# \c - username #切换用户
postgres=# \d tblname # 查看表定义, 相当于desc tblname,show columns from tbname
postgres=# \db #列出现有的表空间。
2 PG用户角色管理
2.1 用户角色介绍
角色的属性
角色可以拥有一些属性或者叫权限,比如登录数据库,需要角色拥有LOGIN属性,这类权限在创建角色的时候指定,或者通过alter role来修改。
创建角色: create role 角色名 with [属性项] password 密码
修改角色属性:alter role 角色名 [属性项]
常用属性项:
SUPERUSER/NOSUPERUSER,创建出来的用户是否为超级用户,只有超级用户才能创建超级用户
LOGIN/NOLOGIN,指定创建的用户是否有连接数据库的权限
INHERIT/NOINHERIT,指定创建的用户是否继承某些角色的权限
CREATEDB/NOCREATEDB,指定创建出来的用户是否有权限创建数据库
CREATEROLE/NOCREATEROLE,指定创建出来的用户是否有创建其他角色的权限
CONNECTION LIMIT connlimit,指定用户能够使用的最大并发连接数量,默认-1,表示没有限制
REPLICATION,指定复制权限
PASSWORD password,指定密码
VALID UNTIL 'timestamp',指定密码失效时间,如果不指定,永远有效
角色(role)和用户(user)可以等同使用,创建用户时,默认就已经带上了LOGIN属性,而角色默认没有带任何属性。

2.2 创建用户和数据库
创建用户
postgres=# create user 用户名 with password '密码' CREATEDB;
#创建用户,给予创建库的权限

创建数据库
postgres=# CREATE DATABASE 库名 WITH OWNER = 用户名 ENCODING = 'UTF8' TABLESPACE = pg_default LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1 TEMPLATE template0;
# 创建数据库,指定字符集,表空间,所属者
3 PG常用数据字典
3.1 常用数据字典
常用数据字典(视图) | 说明 |
pg_tables | 该视图提供了对有关数据库中每个表的有用信息地访问 |
pg_user | 该视图提供了对数据库用户的相关信息的访问。 这个视图只是pg_shadow表的公众可读的部分的视图化,但是不包含 |
PostgreSQL基础操作
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。




