位置: 编程技术 - 正文
推荐整理分享PostgreSQL教程(十七):客户端命令(1),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
零、口令文件:
在给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令均会被口令输入提示中断。 在当前用户的HOME目录下,我们需要手工创建文件名为 .pgpass的口令文件,这样就可以在我们连接PostgreSQL服务器时,客户端命令自动读取该文件已获得登录时所需要的口令信息。该文件的格式如下: 以上数据是用冒号作为分隔符,总共分为五个字段,分别表示服务器主机名(IP)、服务器监听的端口号、登录访问的数据库名、登录用户名和密码,其中前四个字段都可以使用星号(*)来表示匹配任意值。见如下示例: 在学习后面的客户端命令之前,我们需要根据自己的应用环境手工创建该文件,以便后面所有的示例代码都会用到该口令文件,这样它们就都可以以批处理的方式自动完成。
一、createdb:
创建一个新的PostgreSQL数据库。该命令的使用方式如下: 1. 命令行选项列表:
选项 说明 -D(--tablespace=tablespace) 指定数据库的缺省表空间。 -e(--echo) 回显createdb生成的命令并且把它发送到服务器。 -E(--encoding=encoding) 指定用于此数据库的字符编码方式。 -l(--locale=locale) 指定用于此数据库的本地化设置。 -O(--owner=owner) 指定新建数据库的拥有者,如果未指定此选项,该值为当前登录的用户。 -T(--template=template) 指定创建此数据库的模板数据库。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的侦听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:二、dropdb:
删除一个现有PostgreSQL数据库。 1. 命令行选项列表:
选项 说明 -e(--echo) 回显dropdb生成的命令并且把它发送到服务器。 -i(--interactive) 在做任何破坏性动作前提示。 -q(--quiet) 不显示响应。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:
三、reindexdb:
为一个指定的PostgreSQL数据库重建索引。 1. 命令行选项列表:
选项 说明 -a(-all) 重建整个数据库的索引。 -e(--echo) 回显reindexdb生成的命令并且把它发送到服务器。 -i(--index=index) 仅重建指定的索引。 -q(--quiet) 不显示响应。 -s(--system) 重建数据库系统表的索引。 -t(--table=table) 仅重建指定数据表的索引。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例: 四、vacuumdb:
收集垃圾并且分析一个PostgreSQL数据库。 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) 指定服务器的监听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:
五、createuser:
定义一个新的PostgreSQL用户帐户,需要说明的是只有超级用户或者是带有CREATEROLE权限的用户才可以执行该命令。如果希望创建的是超级用户,那么只能以超级用户的身份执行该命令,换句话说,带有CREATEROLE权限的普通用户无法创建超级用户。该命令的使用方式如下: 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) 指定服务器的监听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。
2. 应用示例:六、dropuser:
删除一个PostgreSQL用户帐户,需要说明的是只有超级用户或带有CREATEROLE权限的用户可以执行该命令,如果要删除超级用户,只能通过超级用户的身份执行该命令。该命令的使用方式如下: 1. 命令行选项列表:
选项 说明 -e(--echo) 回显dropuser生成的命令并且把它发送到服务器。 -i(--interactive) 在做任何破坏性动作前提示。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的。 -U(--username=username) 本次操作的登录用户名。
2. 应用示例:
PostgreSQL教程(十六):系统视图详解 一、pg_tables:该视图提供了对有关数据库中每个表的有用信息地访问。名字类型引用描述schemanamenamepg_namespace.nspname包含表的模式名字。tablenamenamepg_class.re
PostgreSQL教程(十五):系统表详解 一、pg_class:该系统表记录了数据表、索引(仍然需要参阅pg_index)、序列、视图、复合类型和一些特殊关系类型的元数据。注意:不是所有字段对所有对象
PostgreSQL教程(十九):SQL语言函数 一、基本概念:SQL函数可以包含任意数量的查询,但是函数只返回最后一个查询(必须是SELECT)的结果。在简单情况下,返回最后一条查询结果的第一行。
友情链接: 武汉网站建设