收藏 分销(赏)

PostgreSQL学习手册(客户端命令).doc

上传人:人****来 文档编号:3373334 上传时间:2024-07-03 格式:DOC 页数:15 大小:124KB 下载积分:8 金币
下载 相关 举报
PostgreSQL学习手册(客户端命令).doc_第1页
第1页 / 共15页
PostgreSQL学习手册(客户端命令).doc_第2页
第2页 / 共15页


点击查看更多>>
资源描述
零、口令文件:     在 给出其它PostgreSQL客户端命令之前,我们需要先介绍一下PostgreSQL中的口令文件。之所以在这里提前说明该文件,是因为我们在后面的示 例代码中会大量应用该文件,从而保证我们的脚本能够自动化完成。换句话说,如果在客户端命令执行时没有提供该文件,PostgreSQL的所有客户端命令 均会被口令输入提示中断。     在当前用户的HOME目录下,我们需要手工创建文件名为 .pgpass的口令文件,这样就可以在我们连接PostgreSQL服务器时,客户端命令自动读取该文件已获得登录时所需要的口令信息。该文件的格式如下:     hostname:port:database:username:password     以上数据是用冒号作为分隔符,总共分为五个字段,分别表示服务器主机名(IP)、服务器监听的端口号、登录访问的数据库名、登录用户名和密码,其中前四个字段都可以使用星号(*)来表示匹配任意值。见如下示例:     /> cat > .pgpass     *:5432:postgres:postgres:123456     CTRL+D     #.pgpass文件的权限必须为0600,从而防止任何全局或者同组的用户访问,否则这个文件将被忽略。     /> chmod 0600 .pgpass     在学习后面的客户端命令之前,我们需要根据自己的应用环境手工创建该文件, 以便后面所有的示例代码都会用到该口令文件,这样它们就都可以以批处理的方式自动完成。 一、createdb:     创建一个新的PostgreSQL数据库。该命令的使用方式如下:     createdb [option...] [dbname] [description]     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) 指定服务器的侦听端口,如不指定,则为缺省的5432。 -U(--username=username) 本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。     2. 应用示例:     #1. 以postgres的身份登录。(详情参照上面口令文件的内容)         /> psql     #2. 创建表空间。     postgres=# CREATE TABLESPACE my_tablespace LOCATION '/opt/PostgreSQL/9.1/mydata';     CREATE TABLESPACE     #3. 创建新数据库的owner。     postgres=# CREATE ROLE myuser LOGIN PASSWORD '123456';     CREATE ROLE     postgres=# \q     #4. 创建新数据库,其中本次连接的登录用户为postgres,新数据库的owner为myuser, 表空间为my_tablespace,新数据库名为mydatabase。     /> createdb -U postgres -O myuser -D my_tablespace -e mydatabase     CREATE DATABASE mydatabase OWNER myuser TABLESPACE my_tablespace;     #5. 重新登录,通过查询系统表查看该数据库是否创建成功,以及表空间和所有者是否一致。     /> psql     postgres=# SELECT datname,rolname,spcname FROM pg_database db, pg_authid au, pg_tablespace ts WHERE datname = 'mydatabase' AND datdba = au.oid AND dattablespace = ts.oid;       datname   | rolname |    spcname     ------------+---------+---------------      mydatabase | myuser  | my_tablespace     (1 row) 二、dropdb:     删除一个现有PostgreSQL数据库。     dropdb [option...] dbname     1. 命令行选项列表: 选项 说明 -e(--echo) 回显dropdb生成的命令并且把它发送到服务器。 -i(--interactive) 在做任何破坏性动作前提示。 -q(--quiet) 不显示响应。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的5432。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。     2. 应用示例:     #以postgres的身份连接服务器,删除mydatabase数据库。     /> dropdb -U postgres -e mydatabase     DROP DATABASE mydatabase;     #通过查看系统表验证该数据库是否已经被删除。     /> psql     postgres=# SELECT count(*) FROM pg_database WHERE datname = 'mydatabase';      count     -------          0     (1 row) 三、reindexdb:     为一个指定的PostgreSQL数据库重建索引。     reindexdb [connection-option...] [--table | -t table ] [--index | -i index ] [dbname]     reindexdb [connection-option...] [--all | -a]     reindexdb [connection-option...] [--system | -s] [dbname]     1. 命令行选项列表: 选项 说明 -a(-all) 重建整个数据库的索引。 -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]     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,rolsuper,rolinherit,rolcreaterole,rolcreatedb,rolcanlogin FROM pg_roles WHERE rolname = 'myuser';      rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb | rolcanlogin     ---------+----------+------------+---------------+-------------+-------------      myuser  | f           | t             | f                  | t                 | t     (1 row)     # 为了保证自动化脚本不会被该命令的提示挂起,我们需要在执行该命令时指定所有没有缺省值的选项。     /> createuser -U postgres -e -S -D -R myuser2     CREATE ROLE myuser2 NOSUPERUSER NOCREATEDB NOCREATEROLE INHERIT LOGIN;     # 我们可以在创建用户时即刻指定该用户的密码,该操作由-P选项完成,然而这样的用法一定会挂起自动化脚本,     # 因此我们可以采用一种折中的办法,即在创建用户时不指定密码,在自动化脚本执行成功后再手工该用户的密码。     /> createuser -P -s -e myuser3     Enter password for new role:     Enter it again:     CREATE ROLE myuser3 PASSWORD 'md5fe54c4f3129f2a766f53e4f4c9d2a698' SUPERUSER CREATEDB CREATEROLE INHERIT LOGIN; 六、dropuser:     删除一个PostgreSQL用户帐户,需要说明的是只有超级用户或带有CREATEROLE权限的用户可以执行该命令,如果要删除超级用户,只能通过超级用户的身份执行该命令。该命令的使用方式如下:     dropuser [option...] [username]     1. 命令行选项列表: 选项 说明 -e(--echo) 回显dropuser生成的命令并且把它发送到服务器。 -i(--interactive) 在做任何破坏性动作前提示。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的监听端口,如不指定,则为缺省的5432。 -U(--username=username) 本次操作的登录用户名。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。     2. 应用示例:     # 直接删除指定用户。     /> dropuser -e myuser3     DROP ROLE myuser3;     # 在删除指定用户时,该命令会给出提示信息,以免误操作。     /> dropuser -e -i myuser2     Role "myuser2" will be permanently removed.     Are you sure? (y/n) y     DROP ROLE myuser2; 七、pg_dump:     pg_dump是一个用于备份PostgreSQL数据库的工具。它甚至可以在数据库正在并发使用时进行完整一致的备份,而不会阻塞其它用户对数据库的访 问。该工具生成的转储格式可以分为两种,脚本和归档文件。其中脚本格式是包含许多SQL命令的纯文本格式,这些SQL命令可以用于重建该数据库并将之恢复 到生成此脚本时的状态,该操作需要使用psql来完成。至于归档格式,如果需要重建数据库就必须和pg_restore工具一起使用。在重建过程中,可以 对恢复的对象进行选择,甚至可以在恢复之前对需要恢复的条目进行重新排序。该命令的使用方式如下:     pg_dump [option...] [dbname]     1. 命令行选项列表: 选项 说明 -a(--data-only) 只输出数据,不输出模式(数据对象的定义)。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore时指定选项。 -b(--blobs) 在dump中包含大对象。 -c(--clean) 在输出创建数据库对象的SQL命令之前,先输出删除该数据库对象的SQL命令。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用 pg_restore时指定选项。 -C(--create) 先输出创建数据库的命令,之后再重新连接新创建的数据库。对于此种格式的脚本,在运行之前是和哪个数据库进行连接就不这么重要了。这个选项只是对纯文本格式有意义。对于归档格式,你可以在调用pg_restore时指定选项。 -E encoding 以指定的字符集创建该dump文件。 -f file 输出到指定文件,如果没有该选项,则输出到标准输出。 -F format p(plain): 纯文本格式的SQL脚本文件(缺省)。c(custom): 输出适合于pg_restore的自定义归档格式。 这是最灵活的格式,它允许对装载的数据和对象定义进行重新排列。这个格式缺省的时候是压缩的。t(tar): 输出适合于 pg_restore的tar归档文件。使用这个归档允许在恢复数据库时重新排序和/或把数据库对象排除在外。同i时也可能可以在恢复的时候限制对哪些数据进行恢复。 -n schema 只转储schema的内容。如果没有声明该选项,目标数据库中的所有非系统模式都会被转储。该选项也可以被多次指定,以指定不同pattern的模式。 -N schema 不转储匹配schema的内容,其他规则和-n一致。 -o(--oids) 作为数据的一部分,为每个表都输出对象标识(OID)。 -O(--no-owner) 不输出设置对象所有权的SQL命令。 -s(--schema-only) 只输出对象定义(模式),不输出数据。 -S username 指定关闭触发器时需要用到的超级用户名。它只有在使用--disable-triggers的时候才有关系。 -t table 只输出表的数据。很可能在不同模式里面有多个同名表,如果这样,那么所有匹配的表都将被转储。通过多次指定该参数,可以一次转储多张表。这里还可以指定和psql一样的pattern,以便匹配更多的表。(关 于pattern,基本的使用方式是可以将它视为unix的通配符,即*表示任意字符,?表示任意单个字符,.(dot)表示schema和object 之间的分隔符,如a*.b*,表示以a开头的schema和以b开头的数据库对象。如果没有.(dot),将只是表示数据库对象。这里也可以使用基本的正 则表达式,如[0-9]表示数字。) -T table 排除指定的表,其他规则和-t选项一致。 -x(--no-privileges) 不导出访问权限信息(grant/revoke命令)。 -Z 0..9 声明在那些支持压缩的格式中使用的压缩级别。 (目前只有自定义格式支持压缩) --column-inserts 导出数据用insert into table_name(columns_list) values(values_list)命令表示,这样的操作相对其它操作而言是比较慢的,但是在特殊情况下,如数据表字段的位置有可能发生变化或有新的 字段插入到原有字段列表的中间等。由于columns_list被明确指定,因此在导入时不会出现数据被导入到错误字段的问题。 --inserts 导出的数据用insert命令表示,而不是copy命令。即便使用insert要比copy慢一些,但是对于今后导入到其他非PostgreSQL的数据库是比较有意义的。 --no-tablespaces 不输出设置表空间的命令,如果带有这个选项,所有的对象都将恢复到执行pg_restore时的缺省表空间中。 --no-unlogged-table-data 对于不计入日志(unlogged)的数据表,不会导出它的数据,至于是否导出其Schema信息,需要依赖其他的选项而定。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的侦听端口,如不指定,则为缺省的5432。 -U(--username=username) 本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。     2. 应用示例:     # -h: PostgreSQL服务器的主机为192.168.149.137。     # -U: 登录用户为postgres。     # -t: 导出表名以test开头的数据表,如testtable。     # -a: 仅仅导出数据,不导出对象的schema信息。     # -f: 输出文件是当前目录下的my_dump.sql     # mydatabase是此次操作的目标数据库。     /> pg_dump -h 192.168.149.137 -U postgres -t test* -a -f ./my_dump.sql mydatabase     #-c: 先输出删除数据库对象的SQL命令,在输出创建数据库对象的SQL命令,这对于部署干净的初始系统或是搭建测试环境都非常方便。     /> pg_dump -h 192.168.220.136 -U postgres -c -f ./my_dump.sql mydatabase     #导出mydatabase数据库的信息。在通过psql命令导入时可以重新指定数据库,如:/> psql -d newdb -f my_dump.sql     /> pg_dump -h 192.168.220.136 -U postgres -f ./my_dump.sql mydatabase     #导出模式为my_schema和以test开头的数据库对象名,但是不包括my_schema.employee_log对象。     /> pg_dump -t 'my_schema.test*' -T my_schema.employee_log mydatabase > my_dump.sql     #导出east和west模式下的所有数据库对象。下面两个命令是等同的,只是后者使用了正则。     /> pg_dump -n 'east' -n 'west' mydatabase -f my_dump.sql     /> pg_dump -n '(east|west)' mydatabase -f my_dump.sql 八、pg_restore:     pg_restore用于恢复pg_dump导出的任何非纯文本格式的文件,它将数据库重建成保存它时的状态。对于归档格式的文件,pg_restore可以进行有选择的恢复,甚至也可以在恢复前重新排列数据的顺序。      pg_restore可以在两种模式下操作。如果指定数据库,归档将直接恢复到该数据库。否则,必须先手工创建数据库,之后再通过pg_restore恢复数据到该新建的数据库中。该命令的使用方式如下:     pg_restore [option...] [filename]     1. 命令行选项列表: 选项 说明 filename 指定要恢复的备份文件,如果没有声明,则使用标准输入。 -a(--data-only) 只恢复数据,而不恢复表模式(数据对象定义)。 -c(--clean) 创建数据库对象前先清理(删除)它们。 -C(--create) 在恢复数据库之前先创建它。(在使用该选项时,数据库名需要由-d选项指定,该选项只是执行最基本的CREATE DATABASE命令。需要说明的是,归档文件中所有的数据都将恢复到归档文件里指定的数据库中)。 -d dbname 与数据库dbname建立连接并且直接恢复数据到该数据库中。 -e(--exit-on-error) 如果在向数据库发送SQL命令的时候遇到错误,则退出。缺省是继续执行并且在恢复结束时显示一个错误计数。 -F format 指定备份文件的格式。由于pg_restore会自动判断格式,因此指定格式并不是必须的。如果指定,它可以是以下格式之一:t(tar): 使用该格式允许在恢复数据库时重新排序和/或把表模式信息排除出去,同时还可能在恢复时限制装载的数据。 c(custom):该格式是来自pg_dump的自定义格式。这是最灵活的格式,因为它允许重新对数据排序,也允许重载表模式信息,缺省情况下这个格式是压缩的。 -I index 只恢复指定的索引。 -l(--list) 列出备份中的内容,这个操作的输出可以作为-L选项的输入。注意,如果过滤选项-n或-t连同-l选项一起使用的话,他们也将限制列出的条目。 -L list-file 仅恢复在list-file中列出的条目,恢复的顺序为各个条目在该文件中出现的顺序,你也可以手工编辑该文件,并重新排列这些条目的位置,之后再进行恢复操作,其中以分号(;)开头的行为注释行,注释行不会被导入。 -n namespace 仅恢复指定模式(Schema)的数据库对象。该选项可以和-t选项联合使用,以恢复指定的数据对象。 -O(--no-owner) 不输出设置对象所有权的SQL命令。 -P function-name(argtype [, ...])   只恢复指定的命名函数。该名称应该和转储的内容列表中的完全一致。 -s(--schema-only) 只恢复表结构(数据定义)。不恢复数据,序列值将重置。 -S username 指定关闭触发器时需要用到的超级用户名。它只有在使用--disable-triggers的时候才有关系。 -t table 只恢复指定表的Schema和/或数据,该选项也可以连同-n选项指定模式。 -x(--no-privileges) 不恢复访问权限信息(grant/revoke命令)。 -1(--single-transaction) 在一个单一事物中执行恢复命令。这个选项隐含包括了--exit-on-error选项。 --no-tablespaces 不输出设置表空间的命令,如果带有这个选项,所有的对象都将恢复到执行pg_restore时的缺省表空间中。 --no-data-for-failed-tables 缺省情况下,即使创建表失败了,如该表已经存在,数据加载的操作也不会停止,这样的结果就是很容易导致大量的重复数据被插入到该表中。如果带有该选项,那么一旦出现针对该表的任何错误,对该数据表的加载将被忽略。 --role=rolename 以指定的角色名执行restore的操作。通常而言,如果连接角色没有足够的权限用于本次恢复操作,那么就可以利用该选项在建立连接之后再切换到有足够权限的角色。 -h(--host=host) 指定PostgreSQL服务器的主机名。 -p(--port=port) 指定服务器的侦听端口,如不指定,则为缺省的5432。 -U(--username=username) 本次操作的登录用户名,如果-O选项没有指定,此数据库的Owner将为该登录用户。 -w(--no-password) 如果当前登录用户没有密码,可以指定该选项直接登录。     2. 应用示例:       #先通过createdb命令,以myuser用户的身份登录,创建带恢复的数据newdb     /> createdb -U myuser newdb     #用pg_restore命令的-l选项导出my_dump.dat备份文件中导出数据库对象的明细列表。     /> pg_restore -l my_dump.dat > db.list     /> cat db.list     2; 145344 TABLE species postgres     4; 145359 TABLE nt_header postgres     6; 145402 TABLE species_records postgres     8; 145416 TABLE ss_old postgres     10; 145433 TABLE map_resolutions postgres     #将以上列表文件中的内容修改为以下形式。     #主要的修改是注释掉编号为2、4和8的三个数据库对象,同时编号10的对象放到该文件的头部,这样在基于该列表     #文件导入时,2、4和8等三个对象将不会被导入,在恢复的过程中将先导入编号为10的对象的数据,再导入对象6的数据。     /> cat new_db.list     10; 145433 TABLE map_resolutions postgres     ;2; 145344 TABLE species postgres     ;4; 145359 TABLE nt_header postgres     6; 145402 TABLE species_records postgres     ;8; 145416 TABLE ss_old postgres         #恢复时指定的数据库是newdb,导入哪些数据库对象和导入顺序将会按照new_db.list文件中提示的规则导入。     /> pg_restore -d newdb -L new_db.list my_dump.dat 九、psql:     PostgreSQL的交互终端,等同于Oracle中的sqlplus。     1. 常用命令行选项列表: 选项 说明 -c command 指定psql执行一条SQL命令command(用双引号括起),执行后退出。 -d dbname 待连接的数据库名称。 -E   回显由\d和其他反斜杠命令生成的实际查询。 -f filename 使用filename文件中的数据作为命令输入源,而不是交互式读入查询。在处理完文件后,psql结束并退出。 -h hostname 声明正在运行服务器的主机名 -l 列出所有可用的数据库,然后退出。 -L filename 除了正常的输出源之外,把所有查询记录输出到文件filename。 -o filename 将所有查询重定向输出到文件filename。 -p port 指定PostgreSQL服务器的监听端口。 -q --quiet 让psql安静地执行所处理的任务。缺省时psql将输出打印欢迎和许多其他信息。 -t --tuples-only 关闭打印列名称和结果行计数脚注等信息。 -U username 以用户username代替缺省用户与数据库建立连接。     2. 命令行选项应用示例:     #-d: 指定连接的数据库。     #-U: 指定连接的用户。     #-c: 后面的SQL语句是本次操作需要执行的命令。     /> psql -d posgres -U postgres -c "select * from testtable"      i     ---      1      2      3      5     (4 rows)     #-t: 没有输出上面输出结果中的字段标题信息和行数统计信息。     #-q:该选项和-t选项联合使用,非常有利于自动化脚本。如:     #    select 'copy ' || tablename || ' to ' || tablename || '.sql' from pg_tables     #由以上sql语句生成的结果集,在重定向到输
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服