设为首页 加入收藏

TOP

PostgreSQL学习手册(客户端命令<一>)(二)
2014-11-24 07:45:11 来源: 作者: 【 】 浏览:5
Tags:PostgreSQL 学习 手册 客户端 命令 < >
建整个数据库的索引。
-e(--echo) 回显reindexdb生成的命令并且把它发送到服务器。
-i(--index=index) 仅重建指定的索引。
-q(--quiet) 不显示响应。
-s(--system) 重建数据库系统表的索引。
-t(--table=table) 仅重建指定数据表的索引。
-h(--host=host) 指定PostgreSQL服务器的主机名。
-p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的5432。
-U(--username=username) 本次操作的登录用户名。
-w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:
#仅重建数据表testtable上的全部索引。
/> reindexdb -t testtable -e -U postgres postgres
REINDEX TABLE testtable;
#仅重建指定索引testtable_idx
/> reindexdb -i testtable_idx -e -U postgres postgres
REINDEX INDEX testtable_idx;
#重建指定数据库mydatabase的全部索引。
/> reindexdb mydatabase
四、vacuumdb:
收集垃圾并且分析一个PostgreSQL数据库。
vacuumdb [-options] [--full | -f] [--verbose | -v] [--analyze | -z] [-t table [(column [,...])]] [dbname]
vacuumdb [-options] [--all | -a] [--full | -f] [--verbose | -v] [--analyze | -z]
1. 命令行选项列表:
选项 说明
-a(--all) 清理所有数据库。
-e(--echo) 回显vacuumdb生成的命令并且把它发送到服务器。
-f(--full) 执行完全清理。
-q(--quiet) 不显示响应。
-t table [(column [,...])] 仅仅清理或分析指定的数据表,字段名只是在与--analyze选项联合使用时才需要声明。
-v(--verbose) 在处理过程中打印详细信息。
-z(--analyze) 计算用于规划器的统计值。
-h(--host=host) 指定PostgreSQL服务器的主机名。
-p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的5432。
-U(--username=username) 本次操作的登录用户名。
-w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:
#清理整个数据库mydatabase。
/> vacuumdb -e mydatabase
VACUUM;
#清理并分析postgres数据库中的testtable表。
/> vacuumdb -e --analyze --table 'testtable' postgres
VACUUM ANALYZE testtable;
#清理并分析postgres数据库中的testtable表的i字段。
/> vacuumdb -e --analyze -t 'testtable(i)' postgres
VACUUM ANALYZE testtable(i);
五、createuser:
定义一个新的PostgreSQL用户帐户,需要说明的是只有超级用户或者是带有CREATEROLE权限的用户才可以执行该命令。如果希望创建的是超级用户,那么只能以超级用户的身份执行该命令,换句话说,带有CREATEROLE权限的普通用户无法创建超级用户。该命令的使用方式如下:
createuser [option...] [username] www.2cto.com
1. 命令行选项列表:
选项 说明
-c number 设置新创建用户的最大连接数,缺省为没有限制。
-d(--createdb) 允许该新建用户创建数据库。
-D(--no-createdb) 禁止该新建用户创建数据库。
-e(--echo) 回显createuser生成的命令并且把它发送到服务器。
-E(--encrypted) 对保存在数据库里的用户口令 加密。如果没有声明, 则使用缺省值。
-i(--inherit) 新创建的角色将自动继承它的组角色的权限。
-I(--no-inherit) 新创建的角色不会自动继承它的组角色的权限。
-l(--login) 新角色将被授予登录权限,该选项为缺省选项。
-L(--no-login) 新角色没有被授予登录权限。
-N(--unencrypted) 不对保存在数据库里的用户口令加密。如果没有声明, 则使用缺省值。
-P(--pwprompt) 如果给出该选项,在创建用户时将提示设置口令。
-r(--createrole) 新角色被授予创建数据库的权限。
-R(--no-createrole) 新角色没有被授予创建数据库的权限。
-s(--superuser) 新角色为超级用户。
-S(--no-superuser) 新角色不是超级用户。
-h(--host=host) 指定PostgreSQL服务器的主机名。
-p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的5432。
-U(--username=username) 本次操作的登录用户名。
-w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:
# 对于有些没有缺省设置的选项,如-(d/D)、-(s/S)和-(r/R),如果在命令行中没有直接指定,那么在执行该命令是将会给出提示信息。
# 需要注意的是该提示将会挂起自动化脚本,直到输入后命令才会继续执行。
/> createuser -U postgres myuser
Shall the new role be a superuser (y/n) n
Shall the new role be allowed to create databases (y/n) y
Shall the new role be allowed to create more new roles (y/n) n
CREATE ROLE myuser NOSUPERUSER CREATEDB NOCREATEROLE INHERIT LOGIN;
# 通过psql登录后查看 系统视图,以验证该用户是否成功创建,以及新角色的权限是否正确。
/> psql
postgres=# SELECT rolname,rolsu
首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇PostgreSQL学习手册(系统视图) 下一篇PostgreSQL的分区表建立

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·雾里看花:真正意义 (2025-12-26 10:54:36)
·C++——模板(超详细 (2025-12-26 10:54:34)
·C++ 模板 | 菜鸟教程 (2025-12-26 10:54:30)
·请问c语言刚入门,该 (2025-12-26 10:21:04)
·python 编程怎么定义 (2025-12-26 10:21:01)