clusterdb
clusterdb 对一个数据库中先前已经建过簇的表进行建簇.
使用方法:
clusterdb [选项]... [数据库名]
选项:
-a,--all 对所有数据库建簇
-d,--dbname=DBNAME 对数据库 DBNAME 建簇
-e,--echo 显示发送到服务端的命令
-q,--quiet 不写任何信息
-t,--table=TABLE 只对指定的表 TABLE 建簇
-v,--verbose 写大量的输出
联接选项:
-h,--host=HOSTNAM 数据库服务器所在机器的主机名或套接字目录
-p,--port=PORT 数据库服务器端口号
-U,--username=USERNAME 联接的用户名
-w,-no-password 永远不提示输入口令
-W,--password 强制提示输入口令
--maintenance-db=DBNAME 更改维护数据库
阅读 sql 命令 CLUSTER 的描述信息,以便获得更详细的信息.
臭虫报告至<pgsql-bugs@postgresql.org>.
createdb
使用方法:
选项:
-D,--tablespace=TABLESPACE 数据库默认表空间
-e,--echo 显示发送到服务端的命令
-E,--encoding=ENCODING 数据库编码
--lc-collate=LOCALE 数据库的LC_COLLATE设置
--lc-ctype=LOCALE 数据库的LC_CTYPE设置
-T,--template=TEMPLATE 要拷贝的数据库模板
-V,--host=HOSTNAME 数据库服务器所在机器的主机名或套接字目录
-p,--no-password 永远不提示输入口令
-W,--password 强制提示输入口令
--maintenance-db=DBNAME 更改维护数据库
臭虫报告至<pgsql-bugs@postgresql.org>.
createlang
createlang 安装一个过程语言进 Postgresql 数据库.
使用方法:
createlang [选项]... 语言名称 [数据库名]
选项:
-d,--dbname=DBNAME 要安装语言的数据库
-e,--echo 显示发送到服务端的命令
-l,--list 显示当前已经安装了的语言列表
-V,--password 强制提示输入口令
臭虫报告至<pgsql-bugs@postgresql.org>.
createuser
createuser 创建一个新的 Postgresql 用户.
使用方法:
createuser [选项]... [用户名]
选项:
-c,--connection-limit=N 角色的连接限制(缺省: 没有限制)
-d,--createdb 此角色可以创建新数据库
-D,--no-createdb 此角色不可以创建新数据库(默认)
-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 角色不能是超级用户(默认)
-V,然后退出
--interactive 提示缺少角色名及其属性,而不是使用默认值
--replication 角色能启动复制
--no-replication 角色不能启动复制
-?,--username=USERNAME 联接用户 (不是要创建的用户名)
-w,--password 强制提示输入口令
臭虫报告至<pgsql-bugs@postgresql.org>.
dropdb
使用方法:
dropdb [选项]... 数据库名
选项:
-e,--echo 显示发送到服务端的命令
-V,然后退出
-?,--password 强制提示输入口令
--maintenance-db=DBNAME 更改维护数据库
臭虫报告至<pgsql-bugs@postgresql.org>.
droplang
使用方法:
选项:
-e,--password 强制提示输入口令
臭虫报告至<pgsql-bugs@postgresql.org>.
dropuser
使用方法:
dropuser [选项]... [用户名]
选项:
-e,--interactive 删除任何东西之前给予提示,如果没有指定
角色名也给予提示
-V,然后退出
-?,--username=USERNAME 联接用户 (不是要删除的用户名)
-w,--password 强制提示输入口令
臭虫报告至<pgsql-bugs@postgresql.org>.
ecpg
ecpg是用于C语言程序的Postgresql嵌入式sql预处理器.
Usage:
ecpg [OPTION]... FILE...
选项:
这将影响EXEC sql TYPE
-C MODE 设置兼容模式;MODE可以是下列模式之一
"INFORMIX","INFORMIX_SE"
-DSYMBOL 定义SYMBOL
-h分析一个头文件,这个选项包含选项"-c"
-i 分析系统引用文件
-IDIRECTORY 为引用文件搜索变量DIRECTORY
-o OUTFILE 将结果写入到OUTFILE
-rOPTION 指定运行时的系统行为; OPTION可以是:
"no_indicator","prepare","questionmarks"
--regression 在回归测试模式下运行
如果没有指定输出文件,那么输出文件名将由输入文件名(如果有后缀,那么去掉.pgc)
加上.c的后缀名组成.
错误报告至<pgsql-bugs@postgresql.org>.
@L_404_8@initdb
使用方法:
initdb [选项]... [DATADIR]
选项:
-A,--auth=METHOD 本地连接的默认认证方法
--auth-host=METHOD 本地的TCP/IP连接的默认认证方法
--auth-local=METHOD 本地socket连接的默认认证方法
-D,--pgdata=DATADIR 当前数据库簇的位置
-E,--encoding=ENCODING 为新数据库设置默认编码
--locale=LOCALE 为新数据库设置默认语言环境
--lc-collate,--lc-ctype,--lc-messages=LOCALE
--lc-monetary,--lc-numeric,--lc-time=LOCALE
为新的数据库簇在各自的目录中分别
设定缺省语言环境(默认使用环境变
量)
--no-locale 等同于 --locale=C
-T,--text-search-config=CFG
缺省的文本搜索配置
-X,--xlogdir=XLOGDIR 当前事务日志目录的位置
非普通使用选项:
-d,--debug 产生大量的除错信息
-LDIRECTORY 输入文件的位置
-n,--noclean 出错后不清理
-s,--show 显示内部设置
其它选项:
-V,然后退出
如果没有指定数据目录,将使用环境变量 PGDATA
报告错误至<pgql-bugs@postgresql.org>.
oid2name
oid2name helps examining the file structureused by Postgresql.
Usage:
oid2name [OPTION]...
Options:
-dDBNAME database to connect to
-fFILENODE show info for table withgiven file node
-HHOSTNAME database server host orsocket directory
-i show indexes andsequences too
-oOID show info for table withgiven OID
-p PORT database server port number
-q quiet (don't show headers)
-s show alltablespaces
-S show system objectstoo
-tTABLE show info for named table
-UNAME connect as specified databaseuser
-V,--version output version information,then exit
-x extended (showadditional columns)
-?,--help show this help,then exit
The default action is to show all databaSEOIDs.
Report bugs to<pgsql-bugs@postgresql.org>.
pgbench
pgbench is a benchmarking tool forPostgresql.
Usage:
pgbench [OPTION]... [DBNAME]
Initialization options:
-i invokesinitialization mode
-FNUM fill factor
-sNUM scaling factor
--index-tablespace=TABLESPACE
create indexes in the specifiedtablespace
--tablespace=TABLESPACE
create tables in the specifiedtablespace
--unlogged-tables
create tables as unlogged tables
Benchmarking options:
-cNUM number of concurrent databaseclients (default: 1)
-C establish newconnection for each transaction
-DVARNAME=VALUE
define variable for use bycustom script
-fFILENAME read transaction script fromFILENAME
-jNUM number of threads (default: 1)
-l write transactiontimes to log file
-Msimple|extended|prepared
protocol for submitting queriesto server (default: simple)
-n do not run VACUUMbefore tests
-N do not update tables"pgbench_tellers" and "pgbench_branches"
-r report averagelatency per command
-sNUM report this scale factor inoutput
-S perform SELECT-onlytransactions
-tNUM number of transactions eachclient runs (default: 10)
-TNUM duration of benchmark test inseconds
-v vacuum all fourstandard tables before tests
Common options:
-d print debuggingoutput
-hHOSTNAME database server host orsocket directory
-p PORT database server port number
-U USERNAME connect as specified database user
-V,then exit
-?,then exit
Report bugs to<pgsql-bugs@postgresql.org>.
pg_archivecleanup
pg_archivecleanup removes older WAL filesfrom Postgresql archives.
Usage:
pg_archivecleanup [OPTION]... ARCHIVELOCATION OLDESTKEPTWALFILE
Options:
-d generate debugoutput (verbose mode)
-n dry run,show thenames of the files that would be removed
-V,then exit
-xEXT clean up files if they havethis extension
-?,then exit
For use as archive_cleanup_command inrecovery.conf when standby_mode = on:
archive_cleanup_command = 'pg_archivecleanup [OPTION]... ARCHIVELOCATION%r'
e.g.
archive_cleanup_command = 'pg_archivecleanup /mnt/server/archiverdir %r'
Or for use as a standalone archive cleaner:
e.g.
pg_archivecleanup /mnt/server/archiverdir000000010000000000000010.00000020.backup
Report bugs to<pgsql-bugs@postgresql.org>.
pg_basebackup
pg_basebackup 在运行的Postgresql服务器上执行基础备份.
使用方法:
pg_basebackup [选项]...
控制输出的选项:
-D,--pgdata=DIRECTORY 接收基础备份到指定目录
-F,--format=p|t 输出格式 (纯文本 (缺省值),tar压缩格式)
-x,--xlog 在备份中包含必需的WAL文件(fetch 模式)
-X,--xlog-method=fetch|stream
按指定的模式包含必需的WAL日志文件
-Z,--compress=0-9 按给定的压缩级别对tar文件进行压缩输出
一般选项:
-c,--checkpoint=fast|spread
设置检查点方式(fast或者spread)
-l,--label=LABEL 设置备份标签
-P,--progress 显示进度信息
-v,--verbose 输出详细的消息
-V,--help 显示帮助,--host=HOSTNAME 数据库服务器主机或者是socket目录
-p,--port=PORT 数据库服务器端口号
-s,--status-interval=INTERVAL
发往服务器的状态包的时间间隔 (以秒计)
-U,--username=NAME 指定连接所需的数据库用户名
-w,--no-password 禁用输入密码的提示
-W,--password 强制提示输入密码 (应该自动发生)
错误报告至<pgsql-bugs@postgresql.org>.
pg_config
pg_config 提供 Postgresql 的安装信息.
使用方法:
pg_config [选项]...
选项:
--docdir 显示文档所在位置
位置
--pkgincludedir 显示其它C语言头文件所在的位置
--includedir-server 显示服务端 C 头文件所在位置
--pkglibdir 显示动态加载库所在位置
--mandir 显示参考手册所在位置
--pgxs 显示扩展 makefile 所在位置
--configure 显示编译 Postgresql 时 "configure"
的选项
--cppflags 当创建Postgresql时显示CPPFLAGS的值
--cflags 显示在创建Postgresql时所使用的CFLAG值
--cflags_sl 当创建Postgresql时显示CFLAGS_SL的值
--ldflags 显示在创建Postgresql时所使用的LDFLAG值
--ldflags_ex 当创建Postgresql时显示LDFLAGS_EX的值
--ldflags_sl 当创建Postgresql时显示LDFLAGS_SL的值
--libs 显示在创建Postgresql时所使用的LIBS值
-?,然后退出
没有参数,将显示所有已知的成员.
臭虫报告至<pgsql-bugs@postgresql.org>.
pg_controldata
pg_controldata 显示 Postgresql 数据库簇控制信息.
使用方法:
pg_controldata [选项][DATADIR]
选项:
如果没有指定数据目录(DATADIR),将使用
环境变量PGDATA.
报告错误至<pgsql-bugs@postgresql.org>.
pg_ctl
pg_ctl 是一个用于初始化、启动、停止或控制Postgresql服务器的工具.
使用方法:
pg_ctl init[db] [-D 数据目录] [-s] [-o "选项"]
pg_ctl start [-w] [-t 秒数] [-D 数据目录] [-s] [-l文件名] [-o"选项"]
pg_ctl stop [-w] [-t 秒数] [-D 数据目录] [-s] [-m关闭模式]
pg_ctl restart [-w] [-t 秒数] [-D 数据目录] [-s] [-m关闭模式]
[-o "选项"]
pg_ctl reload [-D 数据目录] [-s]
pg_ctl status [-D 数据目录]
pg_ctl promote [-D 数据目录] [-s]
pg_ctlkill 信号名称进程号
pg_ctl register [-N 服务名称] [-U 用户名] [-P 口令] [-D 数据目录]
[-S 启动类型] [-w] [-t秒数] [-o "选项"]
pg_ctl unregister [-N 服务名称]
普通选项:
-D,--pgdata=数据目录 数据库存储区域的位置
-s,--silent 只打印错误信息,没有其他信息
-t,--timeout=SECS 当使用-w 选项时需要等待的秒数
-V,然后退出
-w 等待直到操作完成
-W 不用等待操作完成
-?,然后退出
(默认为关闭等待,但不是启动或重启.)
如果省略了 -D 选项,将使用 PGDATA 环境变量.
启动或重启的选项:
-c,--core-files 在这种平台上不可用
-l,--log=FILENAME 写入 (或追加) 服务器日志到文件FILENAME
-oOPTIONS 传递给postgres的命令行选项
-pPATH-TO-POSTMASTER 正常情况不必要
停止或重启的选项:
-m,--mode=MODE 可以是 "smart","fast",或者 "immediate"
关闭模式有如下几种:
smart 所有客户端断开连接后退出
ABRT HUP INT QUIT TERM USR1 USR2
注册或注销的选项:
-N 服务名称 注册到 Postgresql 服务器的服务名称
-U 用户名 注册到 Postgresql 服务器帐户的用户名
-SSTART-TYPE 注册到Postgresql服务器的服务启动类型
启动类型有:
auto 在系统启动时自动启动服务(默认选项)
demand 按需启动服务
臭虫报告至<pgsql-bugs@postgresql.org>.
pg_dump
pg_dump 把一个数据库转储为纯文本文件或者是其它格式.
用法:
pg_dump [选项]... [数据库名字]
一般选项:
-F,--format=c|d|t|p 输出文件格式 (定制,目录,tar)
明文 (默认值))
-v,--verbose 详细模式
-Z,--compress=0-9 被压缩格式的压缩级别
--lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败
-?,然后退出
-a,--data-only 只转储数据,不包括模式
-b,--blobs 在转储中包括大对象
-c,--clean 在重新创建之前,先清除(删除)数据库对象
-E,--encoding=ENCODING 转储以ENCODING形式编码的数据
-n,--schema=SCHEMA 只转储指定名称的模式
-N,--exclude-schema=SCHEMA 不转储已命名的模式
-o,--oids 在转储中包括 OID
-O,--no-owner 在明文格式中,忽略恢复对象所属者
-s,--schema-only 只转储模式,不包括数据
-S,--superuser=NAME 在明文格式中使用指定的超级用户名
-t,--table=TABLE 只转储指定名称的表
-T,--exclude-table=TABLE 不转储指定名称的表
-x,--no-privileges 不要转储权限 (grant/revoke)
--binary-upgrade 只能由升级工具使用
--column-inserts 以带有列名的INSERT命令形式转储数据
--disable-dollar-quoting 取消美元 (符号) 引号,使用 sql 标准引号
--disable-triggers 在只恢复数据的过程中禁用触发器
--exclude-table-data=TABLE 不转储指定名称的表中的数据
--inserts 以INSERT命令,而不是COPY命令的形式转储数据
--no-security-labels 不转储安全标签的分配
--no-tablespaces 不转储表空间分配信息
--no-unlogged-table-data 不转储没有日志的表数据
--quote-all-identifiers 所有标识符加引号,即使不是关键字
--section=SECTION 备份命名的节 (数据前,数据,及 数据后)
--serializable-deferrable 等到备份可以无异常运行
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令来设置所有权
联接选项:
-h,--host=主机名 数据库服务器的主机名或套接字目录
-p,--port=端口号 数据库服务器的端口号
--role=ROLENAME 在转储前运行SET ROLE
如果没有提供数据库名字,那么使用 PGDATABASE 环境变量
的数值.
报告错误至<pgsql-bugs@postgresql.org>.
pg_dumpall
pg_dumpall 抽取一个 Postgresql 数据库簇进一个 sql 脚本文件.
用法:
pg_dumpall [选项]...
一般选项:
--lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败
-?,不包括模式
-c,--clean 在重新创建数据库前先清除(删除)数据库
-g,--globals-only 只转储全局对象,不包括数据库
-o,--no-owner 不恢复对象所属者
-r,--roles-only 只转储角色,不包括数据库或表空间
-s,--superuser=NAME 在转储中,指定的超级用户名
-t,--tablespaces-only 只转储表空间,而不转储数据库或角色
-x,使用 sql 标准引号
--disable-triggers 在只恢复数据的过程中禁用触发器
--inserts 以INSERT命令,而不是COPY命令的形式转储数据
--no-security-labels 不转储安全标签的分配
--no-tablespaces 不转储表空间分配信息
--no-unlogged-table-data 不转储没有日志的表数据
--quote-all-identifiers 所有标识符加引号,即使不是关键字
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令来设置所有权
联接选项:
-h,--host=主机名 数据库服务器的主机名或套接字目录
-l,--database=DBNAME 另一个缺省数据库
--role=ROLENAME 在转储前运行SET ROLE
如果没有使用-f/--file,那么将把sql脚本写到标准输出
.
报告错误至<pgsql-bugs@postgresql.org>.
pg_isolation_regress
Postgresql regression test driver
Usage:
pg_isolation_regress [OPTION]... [EXTRA-TEST]...
Options:
--create-role=ROLE createthe specified role before testing
--dbname=DB usedatabase DB (default "regression")
--debug turn ondebug mode in programs that are run
--dlpath=DIR look fordynamic libraries in DIR
--encoding=ENCODING useENCODING as the encoding
--inputdir=DIR take input files from DIR (default".")
--launcher=CMD use CMDas launcher of psql
--load-extension=EXT load thenamed extension before running the
tests; can appearmultiple times
--load-language=LANG load the named language before running the
tests; can appearmultiple times
--max-connections=N maximumnumber of concurrent connections
(default is 0,meaning unlimited)
--outputdir=DIR placeoutput files in DIR (default ".")
--schedule=FILE use testordering schedule from FILE
(can be usedmultiple times to concatenate)
--temp-install=DIR create atemporary installation in DIR
--use-existing use an existing installation
Options for "temp-install" mode:
--extra-install=DIRadditional directory to install (e.g.,contrib)
--no-locale use Clocale
--port=PORT startpostmaster on PORT
--temp-config=FILE appendcontents of FILE to temporary config
--top-builddir=DIR(relative) path to top level build directory
Options for using an existing installation:
--host=HOST usepostmaster running on HOST
--port=PORT use postmaster running at PORT
--user=USER connectas USER
--psqldir=DIR use psqlin DIR (default: configured bindir)
The exit status is 0 if all tests passed,1if some tests Failed,and 2
if the tests could not be run for somereason.
Report bugs to<pgsql-bugs@postgresql.org>.
pg_receivexlog
pg_receivexlog receives Postgresqlstreaming transaction logs.
Usage:
pg_receivexlog [OPTION]...
Options:
-D,--directory=DIR receive transactionlog files into this directory
-n,--no-loop do not loop onconnection lost
-v,--verbose output verbosemessages
-V,--version output versioninformation,thenexit
Connection options:
-h,--host=HOSTNAME database server hostor socket directory
-p,--port=PORT database server port number
-s,--status-interval=INTERVAL
time between statuspackets sent to server (in seconds)
-U,--username=NAME connect as specifieddatabase user
-w,--no-password never prompt forpassword
-W,--password force password prompt(should happen automatically)
Report bugs to<pgsql-bugs@postgresql.org>.
pg_regress
Postgresql regression test driver
Usage:
pg_regress [OPTION]... [EXTRA-TEST]...
Options:
--create-role=ROLE createthe specified role before testing
--dbname=DB usedatabase DB (default "regression")
--debug turn ondebug mode in programs that are run
--dlpath=DIR look fordynamic libraries in DIR
--encoding=ENCODING useENCODING as the encoding
--inputdir=DIR takeinput files from DIR (default ".")
--launcher=CMD use CMDas launcher of psql
--load-extension=EXT load thenamed extension before running the
tests; can appearmultiple times
--load-language=LANG load thenamed language before running the
tests; can appearmultiple times
--max-connections=N maximumnumber of concurrent connections
(default is 0,meaning unlimited)
--outputdir=DIR placeoutput files in DIR (default ".")
--schedule=FILE use testordering schedule from FILE
(can be usedmultiple times to concatenate)
--temp-install=DIR create atemporary installation in DIR
--use-existing use anexisting installation
Options for "temp-install" mode:
--extra-install=DIRadditional directory to install (e.g.,contrib)
--no-locale use Clocale
--port=PORT startpostmaster on PORT
--temp-config=FILE appendcontents of FILE to temporary config
--top-builddir=DIR(relative) path to top level build directory
Options for using an existing installation:
--host=HOST usepostmaster running on HOST
--port=PORT usepostmaster running at PORT
--user=USER connectas USER
--psqldir=DIR use psqlin DIR (default: configured bindir)
The exit status is 0 if all tests passed,and 2
if the tests could not be run for somereason.
Report bugs to<pgsql-bugs@postgresql.org>.
pg_regress_ecpg
Postgresql regression test driver
Usage:
pg_regress_ecpg [OPTION]... [EXTRA-TEST]...
Options:
--create-role=ROLE createthe specified role before testing
--dbname=DB usedatabase DB (default "regression")
--debug turn on debug mode in programsthat are run
--dlpath=DIR look fordynamic libraries in DIR
--encoding=ENCODING useENCODING as the encoding
--inputdir=DIR takeinput files from DIR (default ".")
--launcher=CMD use CMDas launcher of psql
--load-extension=EXT load thenamed extension before running the
tests; can appearmultiple times
--load-language=LANG load thenamed language before running the
tests; can appearmultiple times
--max-connections=N maximumnumber of concurrent connections
(default is 0,and 2
if the tests could not be run for somereason.
Report bugs to<pgsql-bugs@postgresql.org>.
pg_resetxlog
pg_resetxlog 重置 Postgresql 事务日志.
使用方法:
pg_resetxlog [选项]... 数据目录
选项:
-eXIDEPOCH 设置下一个事务ID时间单元(epoch)
-f 强制更新
-lTLI,FILE,SEG 在新的事务日志中强制最小 WAL 起始位置
-mXID 设置下一个多事务(multitransaction)ID
-n 未更新,只显示抽取的控制值 (测试用途)
-oOID 设置下一个 OID
-OOFFSET 设置下一个多事务(multitransaction)偏移
-xXID 设置下一个事务 ID
报告错误至<pgsql-bugs@postgresql.org>.
pg_restore
pg_restore 从一个归档中恢复一个由 pg_dump 创建的 Postgresql 数据库.
用法:
pg_restore [选项]... [文件名]
一般选项:
-d,--dbname=名字 连接数据库名字
-F,--format=c|d|t 备份文件格式(应该自动进行)
-l,--list 打印归档文件的 TOC 概述
-v,然后退出
恢复控制选项:
-a,--data-only 只恢复数据,--create 创建目标数据库
-e,--exit-on-error 发生错误退出,默认为继续
-I,--index=NAME 恢复指定名称的索引
-j,--jobs=NUM 执行多个并行任务进行恢复工作
-L,--use-list=FILENAME 从这个文件中使用指定的内容表排序
-n,--schema=NAME 在这个模式中只恢复对象
-O,--no-owner 不恢复对象所属者
-P,--function=NAME(args) 恢复指定名字的函数
-s,--schema-only 只恢复模式,--superuser=NAME 使用指定的超级用户来禁用触发器
-t,--table=NAME 恢复指定名字的表
-T,--trigger=NAME 恢复指定名字的触发器
-x,--no-privileges 跳过处理权限的恢复 (grant/revoke)
-1,--single-transaction 作为单个事务恢复
--disable-triggers 在只恢复数据的过程中禁用触发器
--no-data-for-Failed-tables 对那些无法创建的表不进行
数据恢复
--no-security-labels 不恢复安全标签信息
--no-tablespaces 不恢复表空间的分配信息
--section=SECTION 恢复命名节 (数据前、数据及数据后)
--use-set-session-authorization
使用 SESSION AUTHORIZATION 命令代替
ALTER OWNER 命令来设置所有权
联接选项:
--role=ROLENAME 在恢复前执行SET ROLE操作
如果没有提供输入文件名,则使用标准输入.
报告错误至<pgsql-bugs@postgresql.org>.
pg_standby
pg_standby allows Postgresql warm standbyservers to be configured.
Usage:
pg_standby [OPTION]... ARCHIVELOCATION NEXTWALFILE XLOGFILEPATH[RESTARTWALFILE]
Options:
-c copy file fromarchive (default)
-d generate lotsof debugging output (testing only)
-kNUMFILESTOKEEP if RESTARTWALFILE is notused,remove files prior to limit
(0 keeps all)
-l does nothing;use of link is now deprecated
-rMAXRETRIES max number of times toretry,with progressive wait
(default=3)
-sSLEEPTIME seconds to wait betweenfile checks (min=1,max=60,
default=5)
-tTRIGGERFILE trigger file to initiatefailover (no default)
-V,then exit
-wMAXWAITTIME max seconds to wait for afile (0=no limit) (default=0)
-?,then exit
Main intended use as restore_command in recovery.conf:
restore_command = 'pg_standby [OPTION]... ARCHIVELOCATION %f %p %r'
e.g.
restore_command = 'pg_standby /mnt/server/archiverdir %f %p %r'
Report bugs to<pgsql-bugs@postgresql.org>.
pg_test_fsync
Usage: pg_test_fsync [-f FILENAME] [-sSECS-PER-TEST]
pg_test_timing
Usage: pg_test_timing [-d DURATION]
pg_upgrade
pg_upgrade upgrades a Postgresql cluster toa different major version.
Usage:
pg_upgrade [OPTION]...
Options:
-b,--old-bindir=OLDBINDIR old clusterexecutable directory
-B,--new-bindir=NEWBINDIR new clusterexecutable directory
-c,--check check clustersonly,don't change any data
-d,--old-datadir=OLDDATADIR old clusterdata directory
-D,--new-datadir=NEWDATADIR new clusterdata directory
-k,--link link instead ofcopying files to new cluster
-o,--old-options=OPTIONS old clusteroptions to pass to the server
-O,--new-options=OPTIONS new clusteroptions to pass to the server
-p,--old-port=OLDPORT old clusterport number (default 50432)
-P,--new-port=NEWPORT new cluster port number (default 50432)
-r,--retain retain sql andlog files after success
-u,--user=NAME clustersuperuser (default "zhhk")
-v,--verbose enable verboseinternal logging
-V,--version display version information,-h,then exit
Before running pg_upgrade you must:
create a new database cluster (using the new version of initdb)
shutdown the postmaster servicing the old cluster
shutdown the postmaster servicing the new cluster
When you run pg_upgrade,you must providethe following information:
thedata directory for the old cluster (-dOLDDATADIR)
thedata directory for the new cluster (-DNEWDATADIR)
the"bin" directory for the old version (-b OLDBINDIR)
the"bin" directory for the new version (-B NEWBINDIR)
For example:
pg_upgrade -d oldCluster/data -D newCluster/data -b oldCluster/bin -BnewCluster/bin
or
C:\> set PGDATAOLD=oldCluster/data
C:\> set PGDatanEW=newCluster/data
C:\> set PGBINOLD=oldCluster/bin
C:\> set PGBINNEW=newCluster/bin
C:\> pg_upgrade
Report bugs to<pgsql-bugs@postgresql.org>.
postgres
postgres 是 Postgresql 服务器.
用法:
postgres [选项]...
选项:
-BNBUFFERS 共享缓冲区的数量
-cNAME=VALUE 设置运行时参数
-CNAME 打印运行时参数,然后退出
-d1-5 调试级别
-DDATADIR 数据库目录
-e 使用欧洲日期输入格式 (DMY)
-F 关闭 fsync
-hHOSTNAME 侦听的主机名或者 IP 地址
-i 打开 TCP/IP 连接
-kDIRECTORY Unix 域套接字的目录位置
-l 开启 SSL 连接
-NMAX-CONNECT 允许建立的最大连接数目
-oOPTIONS 把 "OPTIONS" 传递给每一个后端服务器进程(已作废)
-pPORT 监听的端口号
-SWORK-MEM 设置排序内存数量 (单位为 kB)
--NAME=VALUE 设置运行时参数
--describe-config 描述配置参数,--help 显示帮助信息,然后退出
开发人员选项:
-fs|i|n|m|h 禁止一些计划类型的使用
-n 在异常退出之后不再重新初始化共享内存
-O 允许改变系统表结构
-P 关闭系统索引
-T 如果一个后端进程退出,那么向所有后端进程发送 SIGSTOP
-WNUM 等待 NUM 秒,以便允许调试器加入调试
单用户模式的选项:
--single 选择单用户模式(必须是第一个参数)
-d0-5 覆盖调试级别
-E 执行前显示语句
-j 不使用新行作为交互查询的分隔符
-rFILENAME 把标准输出和标准错误发送到指定的文件中
引导模式的选项:
--boot 选择引导模式(必须是第一个参数)
-rFILENAME 把标准输出和标准错误发送到指定的文件中
-xNUM 内部使用
请阅读文档获取运行时配置设置的完整列表
以及如何在命令行或者在配置文件里设置它们的详细信息.
请向<pgsql-bugs@postgresql.org> 报告臭虫.
reindexdb
reindexdb对一个Postgresql 数据库重新创建索引.
使用方法:
reindexdb [选项]... [数据库名]
选项:
-a,--all 对所有数据库进行重建索引操作
-d,--dbname=数据库名称 对数据库中的索引进行重建
-e,--echo 显示发送到服务端的命令
-I,--index=索引名称 仅重新创建指定的索引
-q,--quiet 不写任何信息
-s,--system 对系统视图重新创建索引
-t,--table=表名 只对指定的表TABLE重新创建索引
-V,--password 强制提示输入口令
--maintenance-db=DBNAME 更改维护数据库
阅读sql命令REINDEX的描述信息,以便获得更详细的信息.
臭虫报告至<pgsql-bugs@postgresql.org>.
vacuumdb
vacuumdb 清理并且优化一个 Postgresql 数据库.
使用方法:
vacuumdb [选项]... [数据库名]
选项:
-a,--all 清理所有的数据库
-d,--dbname=DBNAME 清理数据库 DBNAME
-e,--echo 显示发送到服务端的命令
-f,--full 完全清理
-F,--freeze 冻结记录的事务信息
-q,--table='TABLE[(COLUMNS)]' 只清理指定的表 TABLE
-v,然后退出
-z,--anaylze 更新优化器的统计信息
-z,--analyze-only 只更新优化器的统计信息
-?,--help 显示此帮助信息,--host=HOSTNAM 数据库服务器所在机器的主机名或套接字目录
-p,--password 强制提示输入口令
--maintenance-db=DBNAME 更改维护数据库
阅读 sql 命令 VACUUM 的描述信息,以便获得更详细的信息.
臭虫报告至<pgsql-bugs@postgresql.org>.
vacuumlo
vacuumlo removes unreferenced large objectsfrom databases.
Usage:
vacuumlo [OPTION]... DBNAME...
Options:
-lLIMIT commit after removing eachLIMIT large objects
-n don't remove largeobjects,just show what would be done
-v write a lot ofprogress messages
-V,then exit
Connection options:
-hHOSTNAME database server host orsocket directory
-pPORT database server port
-UUSERNAME user name to connect as
-w never prompt forpassword
-W force passwordprompt
Report bugs to<pgsql-bugs@postgresql.org>.
zic
zic.exe: usage is zic.exe [ --version ] [--help ] [ -v ] [ -l localtime ] [ -p posixrules ] \
[-d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]
Report bugs to tz@elsie.nci.nih.gov.
Psql
使用方法:
通用选项:
-c,--command=命令 执行单一命令(sql或内部指令)然后结束
-d,--dbname=数据库名称 指定要连接的数据库 (缺省:"postgres")
-v,--set=,--variable=名称=值 为psql变量(名称)设定值
-V,然后退出
-X,--no-psqlrc 不读取启动文档(~/.psqlrc)
-1("one"),--single-transaction 作为一个单一事务来执行命令文件
-?,然后退出
输入和输出选项:
-a,--echo-all 显示所有来自于脚本的输入
-e,--echo-queries 显示发送给服务器的命令
-n,--no-readline 禁用增强命令行编辑功能(readline)
-o,--output=FILENAME 将查询结果写入文件(或 |管道)
-q,--quiet 以沉默模式运行(不显示消息,只有查询结果)
-s,--single-step 单步模式 (确认每个查询)
-S,--single-line 单行模式 (一行就是一条 sql 命令)
输出格式选项 :
-A,--no-align 使用非对齐表格输出模式
-F,--field-separator=字符串 设字段分隔符(缺省:"|")
-H,--html HTML 表格输出模式
-P,--pset=变量[=参数] 设置将变量打印到参数的选项(查阅 \pset 命令)
-R,--record-separator=字符串 设定记录分隔符(缺省:换行符号)
-t,--tuples-only 只打印记录i
-T,--table-attr=文本 设定 HTML 表格标记属性(例如,宽度,边界)
-x,--expanded 打开扩展表格输出
-z,--field-separator-zero 设置字段分隔符为字节0
-0,--record-separator-zero 设置记录分隔符为字节0
联接选项:
-h,--host=主机名 数据库服务器主机或socket目录(缺省:"本地接口")
-p,--port=端口 数据库服务器的端口(缺省:"5432")
-U,--username=用户名 指定数据库用户名(缺省:"postgres")
更多信息,请在psql中输入"\?"(用于内部指令)或者 "\help"(用于sql命令),
臭虫报告至<pgsql-bugs@postgresql.org>.
postgres=# help
您正在使用psql,这是一种用于访问Postgresql的命令行界面
键入: \copyright 显示发行条款
\g 或者以分号(;)结尾以执行查询
\q 退出
postgres=# \?
一般性
\copyright 显示Postgresql的使用和发行许可条款
\g[文件] or; 执行查询 (并把结果写入文件或 |管道)
\h[名称] sql命令语法上的说明,用*显示全部命令的语法说明
查询缓存区
\e[FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)
\ef[FUNCNAME [LINE]] 使用外部编辑器编辑函数定义
\r 重置(清除)查询缓存区
输入/输出
\copy ... 执行 sql COPY,将数据流发送到客户端主机
\echo [字符串] 将字符串写到标准输出
\irFILE 与 \i类似,但是相对于当前脚本的位置
\qecho [字符串] 将字符串写到查询输出串流(参考 \o)
资讯性
(选项: S = 显示系统对象,+ = 其余的详细信息)
\d[S+] 列出表,视图和序列
\d[S+] 名称 描述表,视图,序列,或索引
\da[S] [模式] 列出聚合函数
\db[+] [模式] 列出表空间
\dc[S+] [PATTERN] 列表转换
\dC[+] [PATTERN] 列出类型强制转换
\dd[S] [PATTERN] 显示没有在别处显示的对象描述
\ddp [模式] 列出缺省权限
\dD[S+] [PATTERN] 列出共同值域
\det[+] [PATTERN] 列出引用表
\des[+] [模式] 列出外部服务器
\deu[+] [模式] 列出用户映射
\dew[+][模式] 列出外部数据封装器
\df[antw][S+] [模式] 列出[只包括聚合/常规/触发器/窗口]函数
\dF[+] [模式] 列出文本搜索配置
\dFd[+] [模式] 列出文本搜寻字典
\dFp[+] [模式] 列出文本搜索解析器
\dFt[+] [模式] 列出文本搜索模版
\dg[+] [PATTERN] 列出角色
\di[S+] [模式] 列出索引
\dl 列出大对象, 功能与\lo_list相同
\dL[S+] [PATTERN] 列出所有过程语言
\dn[S+] [PATTERN] 列出所有模式
\do[S] [模式] 列出运算符
\dO[S+] [PATTERN] 列出所有校对规则
\dp [模式] 列出表,视图和序列的访问权限
\drds [模式1 [模式2]] 列出每个数据库的角色设置
\ds[S+] [模式] 列出序列
\dt[S+] [模式] 列出表
\dT[S+] [模式] 列出数据类型
\du[+] [PATTERN] 列出角色
\dv[S+] [模式] 列出视图
\dE[S+] [PATTERN] 列出引用表
\dx[+][PATTERN] 列出扩展
\l[+] 列出所有的数据库
\z [模式] 和\dp的功能相同
格式化
\a 在非对齐模式和对齐模式之间切换
\pset NAME [VALUE] 设定表输出选项
(NAME :={format|border|expanded|fieldsep|fieldsep_zero|footer|null|numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager})
\T[字符串] 设置HTML <表格>标签属性,或者如果没有的话取消设置
\x[on|off|auto] 切换扩展输出模式(目前是 关闭)
连接
\c[onnect] [数据库名称|- 用户名称|- 主机|- 端口|-]
连接到新的数据库(目前是 "postgres")
\password [USERNAME] 安全地为用户改变口令
\conninfo 显示当前连接的相关信息
操作系统
\cd[目录] 改变目前的工作目录
\setenv NAME [VALUE] 设置或清空环境变量
\timing [开|关] 切换命令计时开关 (目前是 关闭)
\![命令] 在 shell中执行命令或启动一个交互式shell
变量
\set [名称 [值数]] 设定内部变量,若无参数则列出全部变量
大对象
\lo_export LOBOID 文件
\lo_import 文件 [注释]
\lo_list
\lo_unlink LOBOID 大对象运算
sql语句说明
postgres=#\h
可用的说明:
ABORT DECLARE
ALTER AGGREGATE DELETE
ALTER COLLATION DISCARD
ALTER CONVERSION DO
ALTER DATABASE DROPAGGREGATE
ALTER DEFAULT PRIVILEGES DROPCAST
ALTER DOMAIN DROPCOLLATION
ALTER EXTENSION DROPCONVERSION
ALTER FOREIGN DATA WRAPPER DROPDATABASE
ALTERFOREIGN TABLE DROPDOMAIN
ALTER FUNCTION DROPEXTENSION
ALTER GROUP DROPFOREIGN DATA WRAPPER
ALTER INDEX DROPFOREIGN TABLE
ALTER LANGUAGE DROPFUNCTION
ALTER LARGE OBJECT DROPGROUP
ALTER OPERATOR DROPINDEX
ALTER OPERATOR CLASS DROPLANGUAGE
ALTER OPERATOR FAMILY DROPOPERATOR
ALTER ROLE DROPOPERATOR CLASS
ALTER SCHEMA DROPOPERATOR FAMILY
ALTER SEQUENCE DROPOWNED
ALTER SERVER DROPROLE
ALTER TABLE DROPRULE
ALTER TABLESPACE DROPSCHEMA
ALTER TEXT SEARCH CONFIGURATION DROPSEQUENCE
ALTER TEXT SEARCH DICTIONARY DROPSERVER
ALTER TEXT SEARCH PARSER DROPTABLE
ALTER TEXT SEARCH TEMPLATE DROPTABLESPACE
ALTER TRIGGER DROPTEXT SEARCH CONFIGURATION
ALTER TYPE DROPTEXT SEARCH DICTIONARY
ALTER USER DROPTEXT SEARCH PARSER
ALTER USER MAPPING DROPTEXT SEARCH TEMPLATE
ALTER VIEW DROPTRIGGER
ANALYZE DROPTYPE
BEGIN DROPUSER
CHECKPOINT DROPUSER MAPPING
CLOSE DROPVIEW
CLUSTER END
COMMENT EXECUTE
COMMIT EXPLAIN
COMMIT PREPARED FETCH
COPY GRANT
CREATE AGGREGATE INSERT
CREATE CAST LISTEN
CREATECOLLATION LOAD
CREATE CONVERSION LOCK
CREATE DATABASE MOVE
CREATE DOMAIN NOTIFY
CREATE EXTENSION PREPARE
CREATE FOREIGN DATA WRAPPER PREPARETRANSACTION
CREATE FOREIGN TABLE REASSIGNOWNED
CREATE FUNCTION REINDEX
CREATE GROUP RELEASESAVEPOINT
CREATE INDEX RESET
CREATE LANGUAGE REVOKE
CREATE OPERATOR ROLLBACK
CREATE OPERATOR CLASS ROLLBACKPREPARED
CREATE OPERATOR FAMILY ROLLBACKTO SAVEPOINT
CREATE ROLE SAVEPOINT
CREATE RULE SECURITYLABEL
CREATE SCHEMA SELECT
CREATE SEQUENCE SELECTINTO
CREATE SERVER SET
CREATE TABLE SETCONSTRAINTS
CREATE TABLE AS SETROLE
CREATE TABLESPACE SETSESSION AUTHORIZATION
CREATE TEXT SEARCH CONFIGURATION SETTRANSACTION
CREATE TEXT SEARCH DICTIONARY SHOW
CREATE TEXT SEARCH PARSER STARTTRANSACTION
CREATE TEXT SEARCH TEMPLATE TABLE
CREATE TRIGGER TRUNCATE
CREATE TYPE UNLISTEN
CREATE USER UPDATE
CREATE USER MAPPING VACUUM
CREATE VIEW VALUES
DEALLOCATE WITH
命令: ABORT
描述: 中止目前的交易
语法:
ABORT [ WORK | TRANSACTION ]
命令: ALTER AGGREGATE
描述: 更改聚集函数的定义
语法:
ALTER AGGREGATE 名称 ( 参数类型 [,... ] ) RENAME TO 新的名称
ALTER AGGREGATE 名称 ( 参数类型 [,... ] ) OWNER TO 新的属主
ALTER AGGREGATE 名称 ( 参数类型 [,... ] ) SET SCHEMA 新的模式
命令: ALTER COLLATION
描述: 更改校对规则的定义
语法:
ALTER COLLATION 名称 RENAME TO 新的名称
ALTER COLLATION 名称 OWNER TO 新的属主
ALTER COLLATION 名称 SET SCHEMA 新的模式
命令: ALTER CONVERSION
描述: 更改一个字元编码转换的定义
语法:
ALTER CONVERSION 名称 RENAME TO 新的名称
ALTER CONVERSION 名称 OWNER TO 新的属主
ALTER CONVERSION 名称 SET SCHEMA 新的模式
命令: ALTER DATABASE
描述: 更改一个资料库
语法:
ALTER DATABASE 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
CONNECTION LIMIT 连接限制
ALTER DATABASE 名称 RENAME TO 新的名称
ALTER DATABASE 名称 OWNER TO 新的属主
ALTER DATABASE 名称 SET TABLESPACE 新的表空间
ALTER DATABASE 名称 SET 配置参数 { TO | = } { 值 | DEFAULT }
ALTER DATABASE 名称 SET 配置参数 FROM CURRENT
ALTER DATABASE 名称 RESET 配置参数
ALTER DATABASE 名称 RESET ALL
命令: ALTER DEFAULT PRIVILEGES
描述: 定义缺省的访问权限
语法:
ALTER DEFAULT PRIVILEGES
[FOR { ROLE | USER } 目标角色 [,...] ]
[IN SCHEMA 模式名称 [,...] ]
简写形式的可授予或回收的权限
简写形式的可授予或回收权限是下列内容之一
GRANT { { SELECT | INSERT | UPDATE | DELETE| TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON TABLES
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] [ WITH GRANT OPTION ]
GRANT { { USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
ON SEQUENCES
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] [ WITH GRANT OPTION ]
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTIONS
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON TYPES
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] [ WITH GRANT OPTION ]
REVOKE [ GRANT OPTION FOR ]
{{ SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON TABLES
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{{ USAGE | SELECT | UPDATE }
[,...] | ALL [ PRIVILEGES ] }
ON SEQUENCES
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{ EXECUTE | ALL [ PRIVILEGES ] }
ON FUNCTIONS
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON TYPES
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
命令: ALTER DOMAIN
描述: 更改共同值域的定义
语法:
ALTER DOMAIN 名称
{SET DEFAULT 表达式 | DROPDEFAULT }
ALTER DOMAIN 名称
{SET | DROP } NOT NULL
ALTER DOMAIN 名称
ADD 域_约束 [ NOT VALID ]
ALTER DOMAIN 名称
DROP CONSTRAINT [ IF EXISTS ] 约束名称 [ RESTRICT | CASCADE ]
ALTER DOMAIN 名称
RENAME CONSTRAINT 约束名称 TO new_constraint_name(新约束名)
ALTER DOMAIN 名称
VALIDATE CONSTRAINT 约束名称
ALTER DOMAIN 名称
OWNER TO 新的属主
ALTER DOMAIN 名称
RENAME TO 新的名称
ALTER DOMAIN 名称
SET SCHEMA 新的模式
命令: ALTER EXTENSION
描述: 更改扩展的定义
语法:
ALTER EXTENSION 名称 UPDATE [ TO 新版本 ]
ALTER EXTENSION 名称 SET SCHEMA 新的模式
ALTER EXTENSION 名称 ADD member_object
ALTER EXTENSION 名称 DROP member_object
member_object的位置:
AGGREGATE 聚合函数名称 (聚合函数操作数据的类型 [,...] ) |
CAST (类型指派中的源数据类型 AS类型指派中的目标数据类型)|
COLLATION 对象_名称 |
CONVERSION 对象_名称 |
DOMAIN 对象_名称 |
FOREIGN DATA WRAPPER 对象_名称 |
FOREIGN TABLE 对象_名称 |
FUNCTION 函数名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] ) |
OPERATOR 操作符名称 (操作符左边操作数的类型,操作符右边操作数的类型) |
OPERATOR CLASS 对象_名称 USING 访问索引的方法 |
OPERATOR FAMILY 对象_名称 USING 访问索引的方法 |
[PROCEDURAL ] LANGUAGE 对象_名称 |
SCHEMA 对象_名称 |
SEQUENCE 对象_名称 |
SERVER 对象_名称 |
TABLE 对象_名称 |
TEXT SEARCH CONFIGURATION 对象_名称 |
TEXT SEARCH DICTIONARY 对象_名称 |
TEXT SEARCH PARSER 对象_名称 |
TEXT SEARCH TEMPLATE 对象_名称 |
TYPE 对象_名称 |
VIEW 对象_名称
命令: ALTER FOREIGN DATA WRAPPER
描述: 更改外部数据封装器的定义
语法:
ALTER FOREIGN DATA WRAPPER 名称
[HANDLER handler_function(处理_函数) | NOHANDLER ]
[VALIDATOR validator_function(验证_函数) | NOVALIDATOR ]
[OPTIONS ( [ ADD | SET | DROP ] 选项 ['值'] [,... ])]
ALTER FOREIGN DATA WRAPPER 名称 OWNER TO 新的属主
ALTER FOREIGN DATA WRAPPER 名称 RENAME TO 新的名称
命令: ALTER FOREIGN TABLE
描述: 更改外部表的定义
语法:
ALTER FOREIGN TABLE [ IF EXISTS ] 名称
操作 [,... ]
ALTER FOREIGN TABLE [ IF EXISTS ] 名称
RENAME [ COLUMN ] 列名称 TO new_column_name(新列名)
ALTER FOREIGN TABLE [ IF EXISTS ] 名称
RENAME TO 新的名称
ALTER FOREIGN TABLE [ IF EXISTS ] 名称
SET SCHEMA 新的模式
操作可以是下列选项之一
ADD [ COLUMN ] 列名称 数据_类型 [ NULL | NOT NULL ]
DROP [ COLUMN ] [ IF EXISTS ] 列名称 [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] 列名称 [ SET DATA ] TYPE 数据_类型
ALTER [ COLUMN ] 列名称 { SET | DROP } NOT NULL
ALTER [ COLUMN ] 列名称 SET STATISTICS 整数
ALTER [ COLUMN ] 列名称 SET ( 属性选项 = 值 [,... ] )
ALTER [ COLUMN ] 列名称 RESET ( 属性选项 [,... ] )
ALTER [ COLUMN ] 列名称 OPTIONS ( [ ADD | SET | DROP ] 选项 ['值'] [,... ])
OWNER TO 新的属主
OPTIONS ( [ ADD | SET | DROP ] 选项 ['值'] [,... ])
命令: ALTER FUNCTION
描述: 更改函数的定义
语法:
ALTER FUNCTION 名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] )
操作 [ ... ] [ RESTRICT ]
ALTER FUNCTION 名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] )
RENAME TO 新的名称
ALTER FUNCTION 名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] )
OWNER TO 新的属主
ALTER FUNCTION 名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] )
SET SCHEMA 新的模式
操作可以是下列选项之一
CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF
[EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
COST 执行函数的开销
ROWS 返回记录的数量
SET 配置参数 { TO | =} { 值 | DEFAULT }
SET 配置参数 FROMCURRENT
RESET 配置参数
RESET ALL
命令: ALTER GROUP
描述: 更改角色名称或会员
语法:
ALTER GROUP 组名称 ADD USER 用户名 [,... ]
ALTER GROUP 组名称 DROP USER 用户名 [,... ]
ALTER GROUP 组名称 RENAME TO 新的名称
命令: ALTER INDEX
描述: 更改索引的定义
语法:
ALTER INDEX [ IF EXISTS ] 名称 RENAME TO 新的名称
ALTER INDEX [ IF EXISTS ] 名称 SET TABLESPACE 表空间的名称
ALTER INDEX [ IF EXISTS ] 名称 SET ( 存储参数 = 值 [,... ] )
ALTER INDEX [ IF EXISTS ] 名称 RESET ( 存储参数 [,... ] )
命令: ALTER LANGUAGE
描述: 更改程序语言的定义
语法:
ALTER [ PROCEDURAL ] LANGUAGE 名称 RENAME TO 新的名称
ALTER [ PROCEDURAL ] LANGUAGE 名称 OWNER TO 新的属主
命令: ALTER LARGE OBJECT
描述: 改变大对象的定义
语法:
ALTER LARGE OBJECT 大对象的OID OWNER TO 新的属主
命令: ALTER OPERATOR
描述: 更改运算子的定义
语法:
ALTER OPERATOR 名称 ( { 操作符左边操作数的类型 | NONE },{ 操作符右边操作数的类型 | NONE } ) OWNER TO 新的属主
ALTER OPERATOR 名称 ( { 操作符左边操作数的类型 | NONE },{ 操作符右边操作数的类型 | NONE } ) SET SCHEMA 新的模式
命令: ALTER OPERATOR CLASS
描述: 更改运算子类别的定义
语法:
ALTER OPERATOR CLASS 名称 USING 访问索引的方法 RENAME TO 新的名称
ALTER OPERATOR CLASS 名称 USING 访问索引的方法 OWNER TO 新的属主
ALTER OPERATOR CLASS 名称 USING 访问索引的方法 SET SCHEMA 新的模式
命令: ALTER OPERATOR FAMILY
描述: 更改一个运算子家族的识别
语法:
ALTER OPERATOR FAMILY 名称 USING 访问索引的方法 ADD
{ OPERATOR 访问索引所用方法的编号 操作符名称 ( 操作数类型,操作数类型 ) [ FOR SEARCH | FOR ORDER BYsort_family_name(排序家族名) ]
|FUNCTION 访问索引所使用函数的编号 [( 操作数类型 [,操作数类型 ] ) ] 函数名称 ( 参数类型 [,...] )
}[,... ]
ALTER OPERATOR FAMILY 名称 USING 访问索引的方法 DROP
{ OPERATOR 访问索引所用方法的编号 ( 操作数类型 [,操作数类型 ] )
|FUNCTION 访问索引所使用函数的编号 (操作数类型 [,操作数类型 ] )
}[,... ]
ALTER OPERATOR FAMILY 名称 USING 访问索引的方法 RENAME TO 新的名称
ALTER OPERATOR FAMILY 名称 USING 访问索引的方法 OWNER TO 新的属主
ALTER OPERATOR FAMILY 名称 USING 访问索引的方法 SET SCHEMA 新的模式
命令: ALTER ROLE
描述: 变更资料库角色
语法:
ALTER ROLE 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
SUPERUSER | NOSUPERUSER
|CREATEDB | NOCREATEDB
|CREATEROLE | NOCREATEROLE
|CREATEUSER | NOCREATEUSER
|INHERIT | NOINHERIT
|LOGIN | NOLOGIN
|REPLICATION | NOREPLICATION
|CONNECTION LIMIT 连接限制
|[ ENCRYPTED | UNENCRYPTED ] PASSWORD '口令'
|VALID UNTIL '时间戳'
ALTER ROLE 名称 [ IN DATABASE 数据库名称 ] SET 配置参数 { TO | = } { 值 | DEFAULT }
ALTER ROLE 名称 [ IN DATABASE 数据库名称 ] SET 配置参数 FROM CURRENT
ALTER ROLE 名称 [ IN DATABASE 数据库名称 ] RESET 配置参数
ALTER ROLE 名称 [ IN DATABASE 数据库名称 ] RESET ALL
命令: ALTER SCHEMA
描述: 更改架构模式的定义
语法:
ALTER SCHEMA 名称 RENAME TO 新的名称
ALTER SCHEMA 名称 OWNER TO 新的属主
命令: ALTER SEQUENCE
描述: 更改序列数产生器的定义
语法:
ALTER SEQUENCE [ IF EXISTS ] 名称 [ INCREMENT [ BY ] 增量 ]
[MINVALUE 最小值 | NOMINVALUE ] [ MAXVALUE 最大值 | NO MAXVALUE ]
[START [ WITH ] 起始值 ]
[RESTART [ [ WITH ] 重新启动后的序列值 ] ]
[CACHE 缓存 ] [ [ NO ]CYCLE ]
[OWNED BY { 表名.列名称 | NONE } ]
ALTER SEQUENCE [ IF EXISTS ] 名称 OWNER TO 新的属主
ALTER SEQUENCE [ IF EXISTS ] 名称 RENAME TO 新的名称
ALTER SEQUENCE [ IF EXISTS ] 名称 SET SCHEMA 新的模式
命令: ALTER SERVER
描述: 更改外部服务器的定义
语法:
ALTER SERVER 名称 [ VERSION '新版本' ]
[OPTIONS ( [ ADD | SET | DROP ] 选项 ['值'] [,... ] )]
ALTER SERVER 名称 OWNER TO 新的属主
ALTER SERVER 名称 RENAME TO 新的名称
命令: ALTER TABLE
描述: 更改资料表的定义
语法:
ALTER TABLE [ IF EXISTS ] [ ONLY ] 名称 [ * ]
操作 [,... ]
ALTER TABLE [ IF EXISTS ] [ ONLY ] 名称 [ * ]
RENAME [ COLUMN ] 列名称 TO new_column_name(新列名)
ALTER TABLE [ IF EXISTS ] [ ONLY ] 名称 [ * ]
RENAME CONSTRAINT 约束名称 TO new_constraint_name(新约束名)
ALTER TABLE [ IF EXISTS ] 名称
RENAME TO 新的名称
ALTER TABLE [ IF EXISTS ] 名称
SET SCHEMA 新的模式
操作可以是下列选项之一
ADD [ COLUMN ] 列名称 数据_类型 [ COLLATE 校对规则 ] [ 列约束 [ ... ] ]
DROP [ COLUMN ] [ IF EXISTS ] 列名称 [ RESTRICT | CASCADE ]
ALTER [ COLUMN ] 列名称 [ SET DATA ] TYPE 数据_类型 [ COLLATE 校对规则 ] [ USING 表达式 ]
ALTER [ COLUMN ] 列名称 SET DEFAULT 表达式
ALTER [ COLUMN ] 列名称 DROP DEFAULT
ALTER [ COLUMN ] 列名称 { SET | DROP } NOT NULL
ALTER [ COLUMN ] 列名称 SET STATISTICS 整数
ALTER [ COLUMN ] 列名称 SET ( 属性选项 = 值 [,... ] )
ALTER [ COLUMN ] 列名称 SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }
ADD 表约束 [ NOTVALID ]
ADD table_constraint_using_index(表约束使用索引)
VALIDATE CONSTRAINT 约束名称
DROP CONSTRAINT [ IF EXISTS ] 约束名称 [ RESTRICT | CASCADE ]
DISABLE TRIGGER [ 触发器_名称 | ALL |USER ]
ENABLE TRIGGER [ 触发器_名称 | ALL |USER ]
ENABLE REPLICA TRIGGER 触发器_名称
ENABLE ALWAYS TRIGGER 触发器_名称
DISABLE RULE 重写规则名称
ENABLE RULE 重写规则名称
ENABLE REPLICA RULE 重写规则名称
ENABLE ALWAYS RULE 重写规则名称
CLUSTER ON 索引名称
SET WITHOUT CLUSTER
SET WITH OIDS
SET WITHOUT OIDS
SET ( 存储参数 = 值 [,... ] )
RESET ( 存储参数 [,... ])
INHERIT 父表
NO INHERIT 父表
OF 类型名称
NOT OF
OWNER TO 新的属主
SET TABLESPACE 新的表空间
table_constraint_using_index 是:
[CONSTRAINT 约束名称 ]
{UNIQUE | PRIMARY KEY } USING INDEX 索引名称
[DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
命令: ALTER TABLESPACE
描述: 更改表空间的定义
语法:
ALTER TABLESPACE 名称 RENAME TO 新的名称
ALTER TABLESPACE 名称 OWNER TO 新的属主
ALTER TABLESPACE 名称 SET ( 表空间_选项 = 值 [,... ] )
ALTER TABLESPACE 名称 RESET ( 表空间_选项 [,... ] )
命令: ALTER TEXT SEARCH CONFIGURATION
描述: 更改一个文本搜寻组态的定义
语法:
ALTER TEXT SEARCH CONFIGURATION 名称
ADD MAPPING FOR 符号类型 [,... ] WITH 字典名称 [,... ]
ALTER TEXT SEARCH CONFIGURATION 名称
ALTER MAPPING FOR 符号类型 [,... ]
ALTER TEXT SEARCH CONFIGURATION 名称
ALTER MAPPING REPLACE 旧的字典 WITH 新的字典
ALTER TEXT SEARCH CONFIGURATION 名称
ALTER MAPPING FOR 符号类型 [,... ] REPLACE 旧的字典 WITH 新的字典
ALTER TEXT SEARCH CONFIGURATION 名称
DROP MAPPING [ IF EXISTS ] FOR 符号类型 [,... ]
ALTER TEXT SEARCH CONFIGURATION 名称 RENAME TO 新的名称
ALTER TEXT SEARCH CONFIGURATION 名称 OWNER TO 新的属主
ALTER TEXT SEARCH CONFIGURATION 名称 SET SCHEMA 新的模式
命令: ALTER TEXT SEARCH DICTIONARY
描述: 更改一个文本搜寻字典的定义
语法:
ALTER TEXT SEARCH DICTIONARY 名称 (
选项 [ = 值 ] [,... ]
)
ALTER TEXT SEARCH DICTIONARY 名称 RENAME TO 新的名称
ALTER TEXT SEARCH DICTIONARY 名称 OWNER TO 新的属主
ALTER TEXT SEARCH DICTIONARY 名称 SET SCHEMA 新的模式
命令: ALTER TEXT SEARCH PARSER
描述: 更改一个文本搜寻剖析器的定义
语法:
ALTER TEXT SEARCH PARSER 名称 RENAME TO 新的名称
ALTER TEXT SEARCH PARSER 名称 SET SCHEMA 新的模式
命令: ALTER TEXT SEARCH TEMPLATE
描述: 更改一个文本搜寻模版的定义
语法:
ALTER TEXT SEARCH TEMPLATE 名称 RENAME TO 新的名称
ALTER TEXT SEARCH TEMPLATE 名称 SET SCHEMA 新的模式
命令: ALTER TRIGGER
描述: 更改触发器的定义
语法:
ALTER TRIGGER 名称 ON 表名 RENAME TO 新的名称
命令: ALTER TYPE
描述: 更改资料型别的定义
语法:
ALTER TYPE 名称操作 [,... ]
ALTER TYPE 名称 OWNER TO 新的属主
ALTER TYPE 名称 RENAME ATTRIBUTE 属性_名称 TOnew_attribute_name(新属性名)
ALTER TYPE 名称 RENAME TO 新的名称 [ CASCADE | RESTRICT ]
ALTER TYPE 名称 SET SCHEMA 新的模式
ALTER TYPE 名称 ADD VALUE new_enum_value(新枚举名) [ { BEFORE | AFTER } existing_enum_value ]
操作可以是下列选项之一
ADD ATTRIBUTE 属性_名称 数据_类型 [ COLLATE 校对规则 ] [ CASCADE | RESTRICT ]
DROP ATTRIBUTE [ IF EXISTS ] 属性_名称 [ CASCADE |RESTRICT ]
ALTER ATTRIBUTE 属性_名称 [ SET DATA] TYPE 数据_类型 [ COLLATE 校对规则 ] [ CASCADE | RESTRICT ]
命令: ALTER USER
描述: 变更资料库角色
语法:
ALTER USER 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
SUPERUSER | NOSUPERUSER
|CREATEDB | NOCREATEDB
|CREATEROLE | NOCREATEROLE
|CREATEUSER | NOCREATEUSER
|INHERIT | NOINHERIT
|LOGIN | NOLOGIN
|REPLICATION | NOREPLICATION
|CONNECTION LIMIT 连接限制
|[ ENCRYPTED | UNENCRYPTED ] PASSWORD '口令'
|VALID UNTIL '时间戳'
ALTER USER 名称 SET 配置参数 { TO | =} { 值 | DEFAULT }
ALTER USER 名称 SET 配置参数 FROMCURRENT
ALTER USER 名称 RESET 配置参数
ALTER USER 名称 RESET ALL
命令: ALTER USER MAPPING
描述: 更改用户映射的定义
语法:
ALTER USER MAPPING FOR { 用户名 | USER | CURRENT_USER | PUBLIC }
SERVER 服务器名称
OPTIONS ( [ ADD | SET | DROP ] 选项 ['值'] [,... ] )
命令: ALTER VIEW
描述: 更改视观表的定义
语法:
ALTER VIEW [ IF EXISTS ] 名称 ALTER [ COLUMN ] 列名称 SET DEFAULT 表达式
ALTER VIEW [ IF EXISTS ] 名称 ALTER [ COLUMN ] 列名称 DROP DEFAULT
ALTER VIEW [ IF EXISTS ] 名称 OWNER TO 新的属主
ALTER VIEW [ IF EXISTS ] 名称 RENAME TO 新的名称
ALTER VIEW [ IF EXISTS ] 名称 SET SCHEMA 新的模式
ALTER VIEW [ IF EXISTS ] 名称 SET ( view_option_name(视图选项名) [= view_option_value(视图选项值)] [,... ] )
ALTER VIEW [ IF EXISTS ] 名称 RESET ( view_option_name(视图选项名) [,... ] )
命令: ANALYZE
描述: 关于资料库的收集统计
语法:
ANALYZE [ VERBOSE ] [ 表名 [ ( 列名称 [,...] ) ] ]
命令: BEGIN
描述: 开始一个事物交易区块
语法:
BEGIN [ WORK | TRANSACTION ] [ 事务模式 [,...] ]
事务模式可以是下列选项之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READUNCOMMITTED }
READ WRITE | READ ONLY
[NOT ] DEFERRABLE
命令: CHECKPOINT
描述: 强制事物交易日志检查点
语法:
CHECKPOINT
命令: CLOSE
描述: 关闭 cursor
语法:
CLOSE { 名称 | ALL }
命令: CLUSTER
描述: 丛集一个资料表根据一个索引
语法:
CLUSTER [VERBOSE] 表名 [ USING 索引名称 ]
CLUSTER [VERBOSE]
命令: COMMENT
描述: 定义或更改一个物件的注解
语法:
COMMENT ON
{
AGGREGATE 聚合函数名称 (聚合函数操作数据的类型 [,...] ) |
CAST (类型指派中的源数据类型 AS类型指派中的目标数据类型)|
COLLATION 对象_名称 |
COLUMN relation_name(关系名).列名称 |
CONSTRAINT 约束名称 ON 表名 |
CONVERSION 对象_名称 |
DATABASE对象_名称 |
DOMAIN 对象_名称 |
EXTENSION 对象_名称 |
FOREIGN DATA WRAPPER 对象_名称 |
FOREIGN TABLE 对象_名称 |
FUNCTION 函数名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] ) |
INDEX 对象_名称 |
LARGE OBJECT 大对象的OID |
OPERATOR 操作符名称 (操作符左边操作数的类型,操作符右边操作数的类型) |
OPERATOR CLASS 对象_名称 USING 访问索引的方法 |
OPERATOR FAMILY 对象_名称 USING 访问索引的方法 |
[PROCEDURAL ] LANGUAGE 对象_名称 |
ROLE 对象_名称 |
RULE 规则_名称 ON 表名 |
SCHEMA 对象_名称 |
SEQUENCE 对象_名称 |
SERVER 对象_名称 |
TABLE 对象_名称 |
TABLESPACE 对象_名称 |
TEXT SEARCH CONFIGURATION 对象_名称 |
TEXT SEARCH DICTIONARY 对象_名称 |
TEXT SEARCH PARSER 对象_名称 |
TEXT SEARCH TEMPLATE 对象_名称 |
TRIGGER 触发器_名称 ON 表名 |
TYPE 对象_名称 |
VIEW 对象_名称
} IS '文本'
命令: COMMIT
描述: 确认目前的事物交易
语法:
COMMIT [ WORK | TRANSACTION ]
命令: COMMIT PREPARED
描述: 提交一项事务交易这是两阶段提交的先前准备
语法:
COMMIT PREPARED 事务_ID
命令: COPY
描述: 在档案和资料表间复制资料
语法:
COPY 表名 [ ( 列名称 [,...] )]
FROM { '文件名' | STDIN }
[[ WITH ] ( 选项 [,...] ) ]
COPY { 表名 [ ( 列名称 [,...] )] | ( 查询 ) }
TO { '文件名' | STDOUT}
[[ WITH ] ( 选项 [,...] ) ]
选项可以是下列内容之一:
FORMAT 格式_名称
OIDS [ 布尔 ]
DELIMITER '分隔字符'
NULL '空字符串'
HEADER [ 布尔 ]
QUOTE '引用字符'
ESCAPE '转义字符'
FORCE_QUOTE { ( 列名称 [,...] ) | * }
FORCE_NOT_NULL ( 列名称 [,...] ) |
ENCODING 'encoding_name(编码名)'
命令: CREATE AGGREGATE
描述: 定义一个新的聚集函数
语法:
CREATE AGGREGATE 名称 ( 输入数据类型 [,... ] ) (
STYPE = 状态值的数据类型
[,INITCOND = 初始条件 ]
[,SORTOP = 排序_操作符 ]
)
或者是旧的语法
CREATE AGGREGATE 名称 (
BASETYPE = 基础_类型,
SFUNC = 状态转换函数名称,SORTOP = 排序_操作符 ]
)
命令: CREATE CAST
描述: 建立新的型别转换
语法:
CREATE CAST (类型指派中的源数据类型 AS 类型指派中的目标数据类型)
WITH FUNCTION 函数名称 (参数类型 [,...])
[AS ASSIGNMENT | AS IMPLICIT ]
CREATE CAST (类型指派中的源数据类型 AS 类型指派中的目标数据类型)
WITHOUT FUNCTION
[AS ASSIGNMENT | AS IMPLICIT ]
CREATE CAST (类型指派中的源数据类型 AS 类型指派中的目标数据类型)
WITH INOUT
[AS ASSIGNMENT | AS IMPLICIT ]
命令: CREATE COLLATION
描述: 建立新的校对规则
语法:
CREATE COLLATION 名称 (
[LOCALE = 本地化语言,]
[LC_COLLATE = 排序规则,]
[LC_CTYPE = 字符分类 ]
)
CREATE COLLATION 名称 FROM existing_collation(当前的本地化语言)
命令: CREATE CONVERSION
描述: 定义一个新的字元编码转换
语法:
CREATE [ DEFAULT ] CONVERSION 名称
命令: CREATE DATABASE
描述: 建立新的资料库
语法:
CREATE DATABASE 名称
[[ WITH ] [ OWNER [=] 用户名 ]
[ TEMPLATE [=] 模版 ]
[ ENCODING [=] 字符集编码 ]
[ LC_COLLATE [=] 排序规则 ]
[ LC_CTYPE [=] 字符分类 ]
[ TABLESPACE [=] 表空间的名称 ]
[ CONNECTION LIMIT [=] 连接限制 ] ]
命令: CREATE DOMAIN
描述: 建立新的共同值域
语法:
CREATE DOMAIN 名称 [ AS ] 数据_类型
[COLLATE 校对规则 ]
[DEFAULT 表达式 ]
[约束 [ ... ] ]
约束是:
[ CONSTRAINT 约束名称 ]
{ NOT NULL | NULL | CHECK (表达式) }
命令: CREATE EXTENSION
描述: 安装一个扩展
语法:
CREATE EXTENSION [ IF NOT EXISTS ]extension_name(扩展名)
[WITH ] [ SCHEMA 模式名称 ]
[ VERSION version(版本) ]
[ FROM 老版本 ]
命令: CREATE FOREIGN DATA WRAPPER
描述: 定义一个新的外部数据封装器
语法:
CREATE FOREIGN DATA WRAPPER 名称
[HANDLER handler_function(处理_函数) | NOHANDLER ]
[VALIDATOR validator_function(验证_函数) | NOVALIDATOR ]
[OPTIONS ( 选项 '值' [,... ] ) ]
命令: CREATE FOREIGN TABLE
描述: 建立新的外部表
语法:
CREATE FOREIGN TABLE [ IF NOT EXISTS ] 表名 ( [
{ 列名称 数据_类型 [ OPTIONS (选项 '值' [,... ] ) ] [ NULL | NOT NULL ]}
[,... ]
] )
SERVER 服务器名称
[ OPTIONS ( 选项 '值' [,... ] )]
命令: CREATE FUNCTION
描述: 建立新的函数
语法:
CREATE [ OR REPLACE ] FUNCTION
名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [ { DEFAULT | = } 缺省_表达式 ] [,...] ] )
[RETURNS 返回类型
| RETURNS TABLE ( 列名称 列的类型 [,...] ) ]
{LANGUAGE 语言名称
|WINDOW
|IMMUTABLE | STABLE | VOLATILE | [ NOT ] LEAKPROOF
|CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT
|[ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER
|COST 执行函数的开销
|ROWS 返回记录的数量
|SET 配置参数 { TO 值 | = 值 | FROM CURRENT }
|AS '定义'
}...
[WITH ( 属性 [,...] ) ]
命令: CREATE GROUP
描述: 定义一个新资料库角色
语法:
CREATE GROUP 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
SUPERUSER | NOSUPERUSER
|CREATEDB | NOCREATEDB
|CREATEROLE | NOCREATEROLE
|CREATEUSER | NOCREATEUSER
|INHERIT | NOINHERIT
|LOGIN | NOLOGIN
|[ ENCRYPTED | UNENCRYPTED ] PASSWORD '口令'
|VALID UNTIL '时间戳'
|IN ROLE 角色名称 [,...]
|IN GROUP 角色名称 [,...]
|ROLE 角色名称 [,...]
|ADMIN 角色名称 [,...]
|USER 角色名称 [,...]
|SYSID uid
命令: CREATE INDEX
描述: 建立新的索引
语法:
CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ 名称 ] ON 表名 [ USING 方法 ]
({ 列名称 | ( 表达式 ) } [ COLLATE 校对规则 ] [ 操作符类型的名称 ] [ ASC | DESC ] [ NULLS {FIRST | LAST } ] [,...] )
[WITH ( 存储参数 = 值 [,... ] ) ]
[TABLESPACE 表空间的名称 ]
[WHERE 述词 ]
命令: CREATE LANGUAGE
描述: 建立新的程序语言
语法:
CREATE [ OR REPLACE ] [ PROCEDURAL ]LANGUAGE 名称
CREATE [ OR REPLACE ] [ TRUSTED ] [PROCEDURAL ] LANGUAGE 名称
HANDLER 调用函数 [ INLINE 匿名代码块 ] [ VALIDATOR 验证函数 ]
命令: CREATE OPERATOR
描述: 建立新的运算子
语法:
CREATE OPERATOR 名称 (
[,LEFTARG = 操作符左边操作数的类型 ] [,RIGHTARG = 操作符右边操作数的类型 ]
[,COMMUTATOR = 交换操作符 ] [,NEGATOR = 取负操作符 ]
[,RESTRICT = 限制选择性估算函数 ] [,JOIN = 连接选择性估算函数 ]
[,HASHES ] [,MERGES ]
)
命令: CREATE OPERATOR CLASS
描述: 建立新的运算子类别
语法:
CREATE OPERATOR CLASS 名称 [ DEFAULT ] FOR TYPE 数据_类型
USING 访问索引的方法 [FAMILY 操作符群的名称 ] AS
{ OPERATOR 访问索引所用方法的编号 操作符名称 [ ( 操作数类型,操作数类型 ) ] [ FOR SEARCH | FOR ORDERBY sort_family_name(排序家族名) ]
|FUNCTION 访问索引所使用函数的编号 [( 操作数类型 [,...] )
|STORAGE 存储类型
}[,... ]
命令: CREATE OPERATOR FAMILY
描述: 定义一个新的运算子家族
语法:
CREATE OPERATOR FAMILY 名称 USING 访问索引的方法
命令: CREATE ROLE
描述: 定义一个新资料库角色
语法:
CREATE ROLE 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
SUPERUSER | NOSUPERUSER
|CREATEDB | NOCREATEDB
|CREATEROLE | NOCREATEROLE
|CREATEUSER | NOCREATEUSER
| INHERIT | NOINHERIT
|LOGIN | NOLOGIN
|REPLICATION | NOREPLICATION
|CONNECTION LIMIT 连接限制
|[ ENCRYPTED | UNENCRYPTED ] PASSWORD '口令'
|VALID UNTIL '时间戳'
|IN ROLE 角色名称 [,...]
|SYSID uid
命令: CREATE RULE
描述: 建立新的重写规则
语法:
CREATE [ OR REPLACE ] RULE 名称 AS ON 事件
TO 表名 [ WHERE 条件 ]
DO [ ALSO | INSTEAD ] { NOTHING | 命令 | ( 命令 ; 命令 ... ) }
命令: CREATE SCHEMA
描述: 建立新的架构模式
语法:
CREATE SCHEMA 模式名称 [ AUTHORIZATION 用户名 ] [ 模式中对象 [ ... ] ]
CREATE SCHEMA AUTHORIZATION 用户名 [ 模式中对象 [ ... ] ]
命令: CREATE SEQUENCE
描述: 建立新的序列数产生器
语法:
CREATE [ TEMPORARY | TEMP ] SEQUENCE 名称 [ INCREMENT [ BY ] 增量 ]
[ MINVALUE 最小值 | NO MINVALUE ] [ MAXVALUE 最大值 | NO MAXVALUE ]
[START [ WITH ] 起始值 ] [ CACHE 缓存 ] [ [ NO ] CYCLE ]
[OWNED BY { 表名.列名称 | NONE } ]
命令: CREATE SERVER
描述: 建立新的触发器
语法:
CREATE SERVER 服务器名称 [ TYPE '服务器类型' ] [ VERSION '服务器版本' ]
FOREIGN DATA WRAPPER 外部数据封装器的名称
[OPTIONS ( 选项 '值' [,... ] ) ]
命令: CREATE TABLE
描述: 建立新的资料表
语法:
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY |TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] 表名 ( [
{ 列名称 数据_类型 [ COLLATE 校对规则 ] [ 列约束 [ ... ] ]
|表约束
|LIKE 源表 [ like选项 ... ] }
[,... ]
] )
[ INHERITS ( 父表 [,... ] ) ]
[ WITH ( 存储参数 [= 值] [,... ] )| WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS |DROP } ]
[ TABLESPACE 表空间的名称 ]
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY |TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] 表名
OF 类型名称 [ (
{ 列名称 WITH OPTIONS [ 列约束 [ ... ] ]
|表约束 }
[,... ]
) ]
[ WITH ( 存储参数 [= 值] [,... ] )| WITH OIDS | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS |DROP } ]
[ TABLESPACE 表空间的名称 ]
列的约束是:
[ CONSTRAINT 约束名称 ]
{ NOT NULL |
NULL |
CHECK ( 表达式 ) [ NOINHERIT ] |
DEFAULT 缺省_表达式 |
UNIQUE 索引参数 |
PRIMARY KEY 索引参数 |
REFERENCES 所引用的表 [ ( 所引用的列 ) ] [MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ON DELETE 操作 ] [ ONUPDATE 操作 ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLYDEFERRED | INITIALLY IMMEDIATE ]
表约束是:
[ CONSTRAINT 约束名称 ]
{ CHECK ( 表达式 ) [ NO INHERIT ] |
UNIQUE ( 列名称 [,... ] )索引参数 |
PRIMARY KEY ( 列名称 [,... ] ) 索引参数 |
EXCLUDE [ USING 访问索引的方法 ] ( 排除项 WITH 运算子 [,... ] ) 索引参数 [ WHERE ( 述词 ) ] |
FOREIGN KEY ( 列名称 [,... ] ) REFERENCES 所引用的表 [ ( 所引用的列 [,... ]) ]
[MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE 操作 ] [ ON UPDATE 操作 ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLYDEFERRED | INITIALLY IMMEDIATE ]
like_选项是
{ INCLUDING | EXCLUDING } { DEFAULTS |CONSTRAINTS | INDEXES | STORAGE | COMMENTS | ALL }
在UNIQUE,PRIMARY KEY和EXCLUDE中的索引参数是:
[ WITH ( 存储参数 [= 值] [,... ] )]
[ USING INDEX TABLESPACE 表空间的名称 ]
在EXCLUDE约束中的排除项是:
{ 列名称 | ( 表达式 ) } [ 操作符类型的名称 ] [ ASC | DESC ] [ NULLS {FIRST | LAST } ]
命令: CREATE TABLE AS
描述: 以查询结果建立新的资料表
语法:
CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY |TEMP } | UNLOGGED ] TABLE 表名
[(列名称 [,...] )]
[WITH ( 存储参数 [= 值] [,... ] ) | WITH OIDS | WITHOUTOIDS ]
[ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[TABLESPACE 表空间的名称 ]
AS 查询
[WITH [ NO ] DATA ]
命令: CREATE TABLESPACE
描述: 建立新的表空间
语法:
CREATE TABLESPACE 表空间的名称 [ OWNER 用户名 ] LOCATION '目录'
命令: CREATE TEXT SEARCH CONFIGURATION
描述: 定义一个新文本搜寻组态
语法:
CREATE TEXT SEARCH CONFIGURATION 名称 (
PARSER = 解析器名称 |
)
命令: CREATE TEXT SEARCH DICTIONARY
描述: 定义一个新文本搜寻字典
语法:
CREATE TEXT SEARCH DICTIONARY 名称 (
TEMPLATE = 模版
[,选项 = 值 [,... ]]
)
命令: CREATE TEXT SEARCH PARSER
描述: 定义一个新文本搜寻剖析器
语法:
CREATE TEXT SEARCH PARSER 名称 (
START = 启动_函数,
END = 结束_函数,
LEXTYPES = 语义类型_函数
)
命令: CREATE TEXT SEARCH TEMPLATE
描述: 定义一个新文本搜寻模版
语法:
CREATE TEXT SEARCH TEMPLATE 名称 (
[INIT = 初始化_函数,]
LEXIZE = LEXIZE函数
)
命令: CREATE TRIGGER
描述: 建立新的触发器
语法:
CREATE [ CONSTRAINT ] TRIGGER 名称 { BEFORE | AFTER | INSTEAD OF } {事件 [ OR ... ]}
ON 表名
[FROM 被引用表的名称 ]
{NOT DEFERRABLE | [ DEFERRABLE ] { INITIALLY IMMEDIATE | INITIALLY DEFERRED } }
[FOR [ EACH ] { ROW | STATEMENT } ]
[WHEN ( 条件 ) ]
事件可以下述之一:
INSERT
UPDATE [ OF 列名称 [,... ] ]
DELETE
TRUNCATE
命令: CREATE TYPE
描述: 建立新的资料型别
语法:
CREATE TYPE 名称 AS
([ 属性_名称 数据_类型 [ COLLATE 校对规则 ] [,... ] ] )
CREATE TYPE 名称 AS ENUM
([ '标签' [,... ] ])
CREATE TYPE 名称 AS RANGE (
SUBTYPE = 子类型
[,SUBTYPE_OPCLASS = subtype_operator_class(子类型_操作符_类) ]
[,COLLATION = 校对规则 ]
[,CANONICAL = 标准_函数 ]
[,SUBTYPE_DIFF = subtype_diff_function(子类型_区分_函数) ]
)
CREATE TYPE 名称 (
INPUT = 输入_函数,
[,RECEIVE = 接收_函数 ]
[,SEND = 发送_函数 ]
[,ANALYZE = 分析_函数 ]
[,INTERNALLENGTH = { 内部长度 | VARIABLE } ]
[,PASSEDBYVALUE ]
[,ALIGNMENT = 顺序排列(alignment)]
[,STORAGE = 存储 ]
[,LIKE = LIKE类型(like_type)]
[,CATEGORY = 类型 ]
[,PREFERRED = 优先 ]
[,DEFAULT = 缺省 ]
[,ELEMENT = 成员项 ]
[,DELIMITER = 分隔符 ]
[,COLLATABLE = 要校对的 ]
)
CREATE TYPE 名称
命令: CREATE USER
描述: 定义一个新资料库角色
语法:
CREATE USER 名称 [ [ WITH ] 选项 [ ... ] ]
选项可以是
SUPERUSER | NOSUPERUSER
|CREATEDB | NOCREATEDB
|CREATEROLE | NOCREATEROLE
|CREATEUSER | NOCREATEUSER
|INHERIT | NOINHERIT
|LOGIN | NOLOGIN
|REPLICATION | NOREPLICATION
|CONNECTION LIMIT 连接限制
|[ ENCRYPTED | UNENCRYPTED ] PASSWORD '口令'
|VALID UNTIL '时间戳'
|IN ROLE 角色名称 [,...]
|SYSID uid
命令: CREATE USER MAPPING
描述: 将用户的新映射定义到一个外部服务器
语法:
CREATE USER MAPPING FOR { 用户名 | USER | CURRENT_USER | PUBLIC }
SERVER 服务器名称
[OPTIONS ( 选项 '值' [,... ] ) ]
命令: CREATE VIEW
描述: 建立新的视观表
语法:
CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ]VIEW 名称 [ ( 列名称 [,...] ) ]
[WITH ( view_option_name(视图选项名) [= view_option_value(视图选项值)] [,... ] ) ]
AS 查询
命令: DEALLOCATE
描述: 释放一个已预备好的叙述区块
语法:
DEALLOCATE [ PREPARE ] { 名称 | ALL }
命令: DECLARE
描述: 建立一个 cursor
语法:
DECLARE 名称 [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ]
CURSOR [ { WITH | WITHOUT } HOLD ] FOR 查询
命令: DELETE
描述: 删除资料表中的资料列
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] ]
DELETE FROM [ ONLY ] 表名 [ * ] [ [ AS ] 化名 ]
[USING USING列表(using_list)]
[WHERE 条件 | WHERECURRENT OF 游标名称 ]
[RETURNING * | 输出表达式 [ [ AS ]输出名称 ] [,...]]
命令: DISCARD
描述: 抛弃 session 状态
语法:
DISCARD { ALL | PLANS | TEMPORARY | TEMP }
命令: DO
描述: 执行一个匿名代码块
语法:
DO [ LANGUAGE 语言名称 ] 编码
命令: DROP AGGREGATE
描述: 移除一个聚集函数
语法:
DROP AGGREGATE [ IF EXISTS ] 名称 ( 参数类型 [,... ] ) [ CASCADE | RESTRICT ]
命令: DROP CAST
描述: 移除一个型别转换
语法:
DROP CAST [ IF EXISTS ] (类型指派中的源数据类型 AS 类型指派中的目标数据类型) [ CASCADE | RESTRICT ]
命令: DROP COLLATION
描述: 移除一个校对规则
语法:
DROP COLLATION [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP CONVERSION
描述: 移除一个字元编码转换
语法:
DROP CONVERSION [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP DATABASE
描述: 移除资料库
语法:
DROP DATABASE [ IF EXISTS ] 名称
命令: DROP DOMAIN
描述: 移除一个共同值域
语法:
DROP DOMAIN [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP EXTENSION
描述: 移除一个扩展
语法:
DROP EXTENSION [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP FOREIGN DATA WRAPPER
描述: 删除一个外部数据封装器
语法:
DROP FOREIGN DATA WRAPPER [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP FOREIGN TABLE
描述: 移除外部引用表
语法:
DROP FOREIGN TABLE [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP FUNCTION
描述: 移除函数
语法:
DROP FUNCTION [ IF EXISTS ] 名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] )
[CASCADE | RESTRICT ]
命令: DROP GROUP
描述: 移除一个资料库成员
语法:
DROP GROUP [ IF EXISTS ] 名称 [,...]
命令: DROP INDEX
描述: 移除一个索引
语法:
DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP LANGUAGE
描述: 移除一个程序语言
语法:
DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP OPERATOR
描述: 移除运算子
语法:
DROP OPERATOR [ IF EXISTS ] 名称 ( { 操作符左边操作数的类型 | NONE },{ 操作符右边操作数的类型 | NONE } ) [ CASCADE |RESTRICT ]
命令: DROP OPERATOR CLASS
描述: 移除一个运算子类别
语法:
DROP OPERATOR CLASS [ IF EXISTS ] 名称 USING 访问索引的方法 [ CASCADE | RESTRICT ]
命令: DROP OPERATOR FAMILY
描述: 移除一个运算子家族
语法:
DROP OPERATOR FAMILY [ IF EXISTS ] 名称 USING 访问索引的方法 [ CASCADE | RESTRICT ]
命令: DROP OWNED
描述: 依照一个资料库角色拥有的资料库物件来移除
语法:
DROP OWNED BY 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP ROLE
描述: 移除一个资料库成员
语法:
DROP ROLE [ IF EXISTS ] 名称 [,...]
命令: DROP RULE
描述: 移除一个重写规则
语法:
DROP RULE [ IF EXISTS ] 名称 ON 表名 [ CASCADE | RESTRICT ]
命令: DROP SCHEMA
描述: 移除一个架构模式
语法:
DROP SCHEMA [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP SEQUENCE
描述: 移除序列数
语法:
DROP SEQUENCE [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP SERVER
描述: 删除一个外部服务器描述符
语法:
DROP SERVER [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP TABLE
描述: 移除资料表
语法:
DROP TABLE [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP TABLESPACE
描述: 移除一个表空间
语法:
DROP TABLESPACE [ IF EXISTS ] 名称
命令: DROP TEXT SEARCH CONFIGURATION
描述: 移除一个文本搜寻组态
语法:
DROP TEXT SEARCH CONFIGURATION [ IF EXISTS] 名称 [ CASCADE |RESTRICT ]
命令: DROP TEXT SEARCH DICTIONARY
描述: 移除一个文本搜寻字典
语法:
DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP TEXT SEARCH PARSER
描述: 移除一个文本搜寻剖析器
语法:
DROP TEXT SEARCH PARSER [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP TEXT SEARCH TEMPLATE
描述: 移除一个文本搜寻模版
语法:
DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] 名称 [ CASCADE | RESTRICT ]
命令: DROP TRIGGER
描述: 移除触发器
语法:
DROP TRIGGER [ IF EXISTS ] 名称 ON 表名 [ CASCADE | RESTRICT ]
命令: DROP TYPE
描述: 移除资料型别
语法:
DROP TYPE [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: DROP USER
描述: 移除一个资料库成员
语法:
DROP USER [ IF EXISTS ] 名称 [,...]
命令: DROP USER MAPPING
语法:
DROP USER MAPPING [ IF EXISTS ] FOR { 用户名 | USER | CURRENT_USER | PUBLIC }SERVER 服务器名称
命令: DROP VIEW
描述: 移除一个视观表
语法:
DROP VIEW [ IF EXISTS ] 名称 [,...] [ CASCADE | RESTRICT ]
命令: END
描述: 确认目前的事物交易
语法:
END [ WORK | TRANSACTION ]
命令: EXECUTE
描述: 执行一个已准备好的叙述区块
语法:
EXECUTE 名称 [ ( 参数 [,...] ) ]
命令: EXPLAIN
描述: 显示一个叙述区块的执行计划
语法:
EXPLAIN [ ( 选项 [,...] ) ] 语句
EXPLAIN [ ANALYZE ] [ VERBOSE ] 语句
选项可以是下列内容之一:
ANALYZE [ 布尔 ]
VERBOSE [ 布尔 ]
COSTS [ 布尔 ]
BUFFERS [ 布尔 ]
TIMING [ 布尔 ]
FORMAT { TEXT | XML | JSON | YAML }
命令: FETCH
描述: 从使用 cursor 的查询读取资料
语法:
FETCH [ 方向 [ FROM | IN ] ] 游标名称
方向可以为空或者是下列选项之一:
NEXT
PRIOR
FIRST
LAST
ALL
FORWARD
FORWARD ALL
BACKWARD
BACKWARD ALL
命令: GRANT
描述: 建立存取权限
语法:
GRANT { { SELECT | INSERT | UPDATE | DELETE| TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] 表名 [,...]
| ALL TABLES IN SCHEMA 模式名称 [,...] }
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] [ WITH GRANT OPTION ]
GRANT { { SELECT | INSERT | UPDATE |REFERENCES } ( 列名称 [,...] )
[,...] | ALL [ PRIVILEGES ] ( 列名称 [,...] ) }
ON [ TABLE ] 表名 [,...]
TO { [ GROUP ] 角色名称 | PUBLIC } [,...] | ALL [ PRIVILEGES ] }
ON { SEQUENCE 序列名称 [,...]
| ALL SEQUENCES IN SCHEMA 模式名称 [,...] [ WITH GRANT OPTION ]
GRANT { { CREATE | CONNECT | TEMPORARY |TEMP } [,...] | ALL [ PRIVILEGES ] }
ON DATABASE 数据库名称 [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON DOMAIN 域_名称 [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN DATA WRAPPER 外部数据封装器的名称 [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN SERVER 服务器名称 [,...] [ WITH GRANT OPTION ]
GRANT { EXECUTE | ALL [ PRIVILEGES ] }
ON { FUNCTION 函数名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] ) [,...]
| ALL FUNCTIONS IN SCHEMA 模式名称 [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE 语言名称 [,...] [ WITH GRANT OPTION ]
GRANT { { SELECT | UPDATE } [,...] | ALL [PRIVILEGES ] }
ON LARGE OBJECT loid [,...] [ WITH GRANT OPTION ]
GRANT { { CREATE | USAGE } [,...] | ALL [PRIVILEGES ] }
ON SCHEMA 模式名称 [,...] [ WITH GRANT OPTION ]
GRANT { CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE 表空间的名称 [,...] [ WITH GRANT OPTION ]
GRANT { USAGE | ALL [ PRIVILEGES ] }
ON TYPE 类型名称 [,...] [ WITH GRANT OPTION ]
GRANT 角色名称 [,...] TO 角色名称 [,...] [ WITH ADMIN OPTION ]
命令: INSERT
描述: 在资料表中建立资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] ]
INSERT INTO 表名 [ ( 列名称 [,...] )]
{DEFAULT VALUES | VALUES ( { 表达式 | DEFAULT } [,...] ) [,...] | 查询 }
[RETURNING * | 输出表达式 [ [ AS ]输出名称 ] [,...]]
命令: LISTEN
描述: 等待通知
语法:
LISTEN 通道
命令: LOAD
描述: 加载一个共享库文件
语法:
LOAD '文件名'
命令: LOCK
描述: 锁住资料表
语法:
LOCK [ TABLE ] [ ONLY ] 名称 [ * ] [,...] [ IN 锁模式 MODE ] [ NOWAIT ]
锁模式可以是下列选项之一:
ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE
|SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE
命令: MOVE
描述: 移动游标位置
语法:
MOVE [ 方向 [ FROM | IN ] ] 游标名称
方向可以为空或者是下列选项之一:
NEXT
PRIOR
FIRST
LAST
ALL
FORWARD
FORWARD ALL
BACKWARD
BACKWARD ALL
命令: NOTIFY
描述: 产生通告
语法:
NOTIFY 通道 [,消息中负载流量(payload)]
命令: PREPARE
描述: 预先编译叙述以执行
语法:
PREPARE 名称 [ ( 数据_类型 [,...] ) ] AS 语句
命令: PREPARE TRANSACTION
描述: 预备当前事务交易的二段式提交
语法:
PREPARE TRANSACTION 事务_ID
命令: REASSIGN OWNED
描述: 依照一个资料库角色拥有的的资料库物件来更变所有权
语法:
REASSIGN OWNED BY 旧的角色 [,...] TO 新的角色
命令: REINDEX
描述: 重新建构索引
语法:
REINDEX { INDEX | TABLE | DATABASE | SYSTEM} 名称 [ FORCE ]
命令: RELEASE SAVEPOINT
描述: 删除先前建立的储存点(Savepoint)
语法:
RELEASE [ SAVEPOINT ] 保存点名称
命令: RESET
描述: 将执行时期参数还原成预设值
语法:
RESET 配置参数
RESET ALL
命令: REVOKE
描述: 移除存取权限
语法:
REVOKE [ GRANT OPTION FOR ]
{{ SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER }
[,...] | ALL [ PRIVILEGES ] }
ON { [ TABLE ] 表名 [,...] }
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{{ SELECT | INSERT | UPDATE | REFERENCES } ( 列名称 [,...]
FROM { [ GROUP ] 角色名称 | PUBLIC } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{{ CREATE | CONNECT | TEMPORARY | TEMP } [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON DOMAIN 域_名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN DATA WRAPPER 外部数据封装器的名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON FOREIGN SERVER 服务器名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{EXECUTE | ALL [ PRIVILEGES ] }
ON { FUNCTION 函数名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON LANGUAGE 语言名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{{ SELECT | UPDATE } [,...] | ALL [ PRIVILEGES ] }
ON LARGE OBJECT loid [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{{ CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }
ON SCHEMA 模式名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{CREATE | ALL [ PRIVILEGES ] }
ON TABLESPACE 表空间的名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ GRANT OPTION FOR ]
{USAGE | ALL [ PRIVILEGES ] }
ON TYPE 类型名称 [,...]
[CASCADE | RESTRICT ]
REVOKE [ ADMIN OPTION FOR ]
[CASCADE | RESTRICT ]
命令: ROLLBACK
描述: 中止目前的交易
语法:
ROLLBACK [ WORK | TRANSACTION ]
命令: ROLLBACK PREPARED
描述: 取消一个可以为两阶段提交容易配置的事务
语法:
ROLLBACK PREPARED 事务_ID
命令: ROLLBACK TO SAVEPOINT
描述: 还原至一个储存点(Savepoint)
语法:
ROLLBACK [ WORK | TRANSACTION ] TO [SAVEPOINT ] 保存点名称
命令: SAVEPOINT
描述: 在目前的事物交易中建立新的储存点(Savepoint)
语法:
SAVEPOINT 保存点名称
命令: SECURITY LABEL
描述: 定义或更改一个对象的安全标签
语法:
SECURITY LABEL [ FOR provider(提供者) ] ON
{
TABLE 对象_名称 |
COLUMN 表名.列名称 |
AGGREGATE 聚合函数名称 (聚合函数操作数据的类型 [,...] ) |
DATABASE 对象_名称 |
DOMAIN 对象_名称 |
FOREIGN TABLE 对象_名称
FUNCTION 函数名称 ( [ [ 参数模式 ] [ 参数名称 ] 参数类型 [,...] ] ) |
LARGE OBJECT 大对象的OID |
[PROCEDURAL ] LANGUAGE 对象_名称 |
ROLE 对象_名称 |
SCHEMA 对象_名称 |
SEQUENCE 对象_名称 |
TABLESPACE 对象_名称 |
TYPE 对象_名称 |
VIEW 对象_名称
} IS '标签'
命令: SELECT
描述: 从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] ]
SELECT [ ALL | DISTINCT [ ON ( 表达式 [,...] ) ] ]
[FROM from列表中项 [,...] ]
[WHERE 条件 ]
[GROUP BY 表达式 [,...] ]
[HAVING 条件 [,...] ]
[WINDOW 窗口名称 AS ( 窗口定义 ) [,...] ]
[{ UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] 查询 ]
[ORDER BY 表达式 [ ASC |DESC | USING 运算子 ] [ NULLS{ FIRST | LAST } ] [,...] ]
[LIMIT { 查询所用返回记录的最大数量| ALL } ]
[OFFSET 起始值 [ ROW |ROWS ] ]
[FETCH { FIRST | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY ]
[FOR { UPDATE | SHARE } [ OF 表名 [,...] ] [ NOWAIT ] [...] ]
from 列表中的项可以是下列内容之一
[ONLY ] 表名 [ * ] [ [AS ] 化名 [ ( 列的化名 [,...] ) ] ]
(查询 ) [ AS ] 化名 [ ( 列的化名 [,...] ) ]
WITH查询语句名称(with_query_name)[ [ AS ] 化名 [ ( 列的化名 [,...] ) ] ]
函数名称 ( [ 参数 [,...] ] ) [ AS ] 化名 [ ( 列的化名 [,...] | 列定义 [,...] ) ]
函数名称 ( [ 参数 [,...] ] ) AS ( 列定义 [,...] )
from列表中项 [ NATURAL] 连接操作的类型 from列表中项 [ ON 用连接操作的条件 | USING ( 用于连接操作的列 [,...] ) ]
with查询语句是:
WITH查询语句名称(with_query_name)[ ( 列名称 [,...] )] AS ( 查询 | 值 | insert | update | delete )
TABLE [ ONLY ] 表名 [ * ]
命令: SELECT INTO
描述: 以查询结果建立新的资料表
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...]
INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] 新的表
[FROM from列表中项 [,...] ] [ NOWAIT ] [...] ]
命令: SET
描述: 更改一个执行时期参数
语法:
SET [ SESSION | LOCAL ] 配置参数 { TO | = } { 值 | '值' | DEFAULT }
SET [ SESSION | LOCAL ] TIME ZONE { 时间区域 | LOCAL | DEFAULT }
命令: SET CONSTRAINTS
描述: 为当前事务设定约束限制检查的时间模式
语法:
SET CONSTRAINTS { ALL | 名称 [,...] } { DEFERRED | IMMEDIATE}
命令: SET ROLE
描述: 设置当前 session 的当前用户的身份标识
语法:
SET [ SESSION | LOCAL ] ROLE 角色名称
SET [ SESSION | LOCAL ] ROLE NONE
RESET ROLE
命令: SET SESSION AUTHORIZATION
语法:
SET [ SESSION | LOCAL ] SESSIONAUTHORIZATION 用户名
SET [ SESSION | LOCAL ] SESSIONAUTHORIZATION DEFAULT
RESET SESSION AUTHORIZATION
命令: SET TRANSACTION
描述: 设定目前事物交易属性
语法:
SET TRANSACTION 事务模式 [,...]
SET TRANSACTION SNAPSHOT snapshot_id
SET SESSION CHARACTERISTICS AS TRANSACTION 事务模式 [,...]
事务模式可以是下列选项之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READUNCOMMITTED }
READ WRITE | READ ONLY
[NOT ] DEFERRABLE
命令: SHOW
描述: 显示执行时期的参数值
语法:
SHOW 名称
SHOW ALL
命令: START TRANSACTION
描述: 开始一个事物交易区块
语法:
START TRANSACTION [ 事务模式 [,...] ]
事务模式可以是下列选项之一:
ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READUNCOMMITTED }
READ WRITE | READ ONLY
[NOT ] DEFERRABLE
命令: TABLE
描述: 从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] )] AS ( 查询 | 值 | insert | update | delete )
TABLE [ ONLY ] 表名 [ * ]
命令: TRUNCATE
描述: 空的资料表或资料表设置
语法:
TRUNCATE [ TABLE ] [ ONLY ] 名称 [ * ] [,... ]
[RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]
命令: UNLISTEN
描述: 停止倾听通告
语法:
UNLISTEN { 通道 | * }
命令: UPDATE
描述: 更新资料表中的资料列
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] ]
UPDATE [ ONLY ] 表名 [ * ] [ [ AS ] 化名 ]
SET { 列名称 = { 表达式 | DEFAULT } |
( 列名称 [,...] )= ( { 表达式 | DEFAULT} [,...] ) } [,...]
[FROM from列表(from_list)]
[WHERE 条件 | WHERECURRENT OF 游标名称 ]
[RETURNING * | 输出表达式 [ [ AS ]输出名称 ] [,...]]
命令: VACUUM
描述: 垃圾收集(GC)并选择性的分析资料库
语法:
VACUUM [ ( { FULL | FREEZE | VERBOSE |ANALYZE } [,...] ) ] [ 表名 [ (列名称 [,...] )] ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ 表名 ]
VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ]ANALYZE [ 表名 [ (列名称 [,...] ) ] ]
命令: VALUES
描述: 计算一个资料列的集合
语法:
VALUES ( 表达式 [,...]
[ORDER BY 排序表达式 [ ASC |DESC | USING 运算子 ] [,...]]
[LIMIT { 查询所用返回记录的最大数量| ALL } ]
[OFFSET 起始值 [ ROW |ROWS ] ]
[FETCH { FIRST | NEXT } [ 查询所用返回记录的最大数量 ] { ROW | ROWS } ONLY ]
命令: WITH
描述: 从资料表或视观表读取资料
语法:
[ WITH [ RECURSIVE ] with查询语句(with_query) [,...] )] AS ( 查询 | 值 | insert | update | delete )
TABLE [ ONLY ] 表名 [ * ]
原文链接:https://www.f2er.com/postgresql/194881.html