微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PostgreSQL 9.2.4所有命令的语法帮助及SQL语句简要说明

clusterdb

clusterdb 对一个数据库中先前已经建过簇的表进行建簇.

使用方法:

clusterdb [选项]... [数据库名]

选项:

-a,--all 对所有数据库建簇

-d,--dbname=dbnAME 对数据库 dbnAME 建簇

-e,--echo 显示发送到服务端的命令

-q,--quiet 不写任何信息

-t,--table=TABLE 只对指定的表 TABLE 建簇

-v,--verbose 写大量的输出

-V,--version 输出版本信息,然后退出

-?,--help 显示此帮助,然后退出

联接选项:

-h,--host=HOSTNAM 数据库服务器所在机器的主机名或套接字目录

-p,--port=PORT 数据库服务器端口号

-U,--username=USERNAME 联接的用户名

-w,-no-password 永远不提示输入口令

-W,--password 强制提示输入口令

--maintenance-db=dbnAME 更改维护数据库

阅读 sql 命令 CLUSTER 的描述信息,以便获得更详细的信息.

臭虫报告至<pgsql-bugs@postgresql.org>.

createdb

createdb 创建一个 Postgresql 数据库.

使用方法:

createdb[选项]... [数据库名称] [描述]

选项:

-D,--tablespace=TABLESPACE 数据库认表空间

-e,--echo 显示发送到服务端的命令

-E,--encoding=ENCODING 数据库编码

-O,--owner=OWNER 新数据库的所属用户

--lc-collate=LOCALE 数据库的LC_COLLATE设置

--lc-ctype=LOCALE 数据库的LC_CTYPE设置

-O,--owner=OWNER 新数据库的所属用户

-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 删除一个 Postgresql 数据库.

使用方法:

dropdb [选项]... 数据库

选项:

-e,--echo 显示发送到服务端的命令

-i,--interactive 删除任何东西之前给予提示

-V,然后退出

--if-exists 如果数据库不存在则不报告错误

-?,--password 强制提示输入口令

--maintenance-db=dbnAME 更改维护数据库

臭虫报告至<pgsql-bugs@postgresql.org>.

droplang

droplang 从数据库删除一个过程语言.

使用方法:

droplang [选项]... 语言名称 [数据库名]

选项:

-d,--dbname=dbnAME 要删除语言的数据库

-e,--password 强制提示输入口令

臭虫报告至<pgsql-bugs@postgresql.org>.

dropuser

dropuser 删除一个 Postgresql 用户.

使用方法:

dropuser [选项]... [用户名]

选项:

-e,--interactive 删除任何东西之前给予提示,如果没有指定

角色名也给予提示

-V,然后退出

--if-exists 用户名不存在时则不报告错误

-?,--username=USERNAME 联接用户 (不是要删除用户名)

-w,--password 强制提示输入口令

臭虫报告至<pgsql-bugs@postgresql.org>.

ecpg

ecpg是用于C语言程序的Postgresql嵌入式sql预处理器.

Usage:

ecpg [OPTION]... FILE...

选项:

-c 从嵌入式sql代码自动产生C代码;

这将影响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 在回归测试模式下运行

-t打开事务的自动提交功能

--version输出版本信息,然后退出

-?,--help 显示帮助信息,然后退出

如果没有指定输出文件,那么输出文件名将由输入文件名(如果有后缀,那么去掉.pgc)

加上.c的后缀名组成.

错误报告至<pgsql-bugs@postgresql.org>.

initdb

initdb 初始化一个Postgresql 数据库簇.

使用方法:

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

--pwfile=文件名 对于新的超级用户文件读取口令

-T,--text-search-config=CFG

缺省的文本搜索配置

-U,--username=NAME 数据库超级用户名

-W,--pwprompt 对于新的超级用户提示输入口令

-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,--gzip 对tar文件进行压缩输出

-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 [选项]...

选项:

--bindir 显示执行文件所在位置

--docdir 显示文档所在位置

--htmldir 显示HTML文档文件所在位置

--includedir 显示客户端接口 C 头文件所在

位置

--pkgincludedir 显示其它C语言头文件所在的位置

--includedir-server 显示服务端 C 头文件所在位置

--libdir 显示目标代码文件所在位置

--pkglibdir 显示动态加载库所在位置

--localedir 显示语言环境支持文件所在位置

--mandir 显示参考手册所在位置

--sharedir 显示独立架构支持文件所在位置

--sysconfdir 显示系统范围的配置文件的所在位置

--pgxs 显示扩展 makefile 所在位置

--configure 显示编译 Postgresql 时 "configure"

的选项

--cc 显示在创建Postgresql时所使用的CC值

--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值

--version 显示Postgresql的版本信息

-?,然后退出

没有参数,将显示所有已知的成员.

臭虫报告至<pgsql-bugs@postgresql.org>.

pg_controldata

pg_controldata 显示 Postgresql 数据库簇控制信息.

使用方法:

pg_controldata [选项][DATADIR]

选项:

-V,--version 输出版本信息,然后退出

-?,--help 显示帮助信息,然后退出

如果没有指定数据目录(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的命令行选项

(Postgresql 服务器执行文件)或initdb

-pPATH-TO-POSTMASTER 正常情况不必要

停止或重启的选项:

-m,--mode=MODE 可以是 "smart","fast",或者 "immediate"

关闭模式有如下几种:

smart 所有客户端断开连接后退出

fast 直接退出,正确的关闭

immediate 不完全的关闭退出; 重启后恢复

允许关闭的信号名称:

ABRT HUP INT QUIT TERM USR1 USR2

注册或注销的选项:

-N 服务名称 注册到 Postgresql 服务器的服务名称

-P 口令 注册到 Postgresql 服务器帐户的口令

-U 用户名 注册到 Postgresql 服务器帐户的用户名

-sstART-TYPE 注册到Postgresql服务器的服务启动类型

启动类型有:

auto 在系统启动时自动启动服务(认选项)

demand 按需启动服务

臭虫报告至<pgsql-bugs@postgresql.org>.

pg_dump

pg_dump 把一个数据库转储为纯文本文件或者是其它格式.

用法:

pg_dump [选项]... [数据库名字]

一般选项:

-f,--file=FILENAME 输出文件或目录名

-F,--format=c|d|t|p 输出文件格式 (定制,目录,tar)

明文 (认值))

-v,--verbose 详细模式

-V,--version 输出版本信息,然后退出

-Z,--compress=0-9 被压缩格式的压缩级别

--lock-wait-timeout=TIMEOUT 在等待表锁超时后操作失败

-?,然后退出

控制输出内容选项:

-a,--data-only 只转储数据,不包括模式

-b,--blobs 在转储中包括大对象

-c,--clean 在重新创建之前,先清除(删除数据库对象

-C,--create 在转储中包括命令,以便创建数据库

-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=端口号 数据库服务器的端口号

-U,--username=名字 以指定的数据库用户联接

-w,--password 强制口令提示 (自动)

--role=ROLENAME 在转储前运行SET ROLE

如果没有提供数据库名字,那么使用 PGDATABASE 环境变量

的数值.

报告错误至<pgsql-bugs@postgresql.org>.

pg_dumpall

pg_dumpall 抽取一个 Postgresql 数据库簇进一个 sql 脚本文件.

用法:

pg_dumpall [选项]...

一般选项:

-f,--file=FILENAME 输出文件

-V,--version 输出版本信息,然后退出

--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 另一个缺省数据库

-p,--password 强制口令提示 (自动)

--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)偏移

-V,--version 输出版本信息,然后退出

-xXID 设置下一个事务 ID

-?,--help 显示帮助信息,然后退出

报告错误至<pgsql-bugs@postgresql.org>.

pg_restore

pg_restore 从一个归档中恢复一个由 pg_dump 创建的 Postgresql 数据库.

用法:

pg_restore [选项]... [文件名]

一般选项:

-d,--dbname=名字 连接数据库名字

-f,--file=文件输出文件

-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 命令来设置所有权

联接选项:

-h,--password 强制口令提示 (自动)

--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 监听的端口号

-s 每个查询显示统计信息

-SWORK-MEM 设置排序内存数量 (单位为 kB)

-V,--version 输出版本信息,然后退出

--NAME=VALUE 设置运行时参数

--describe-config 描述配置参数,--help 显示帮助信息,然后退出

开发人员选项:

-fs|i|n|m|h 禁止一些计划类型的使用

-n 在异常退出之后不再重新初始化共享内存

-O 允许改变系统表结构

-P 关闭系统索引

-tpa|pl|ex 每个查询显示计时

-T 如果一个后端进程退出,那么向所有后端进程发送 SIGSTOP

-WNUM 等待 NUM 秒,以便允许调试器加入调试

用户模式的选项:

--single 选择单用户模式(必须是第一个参数)

dbnAME 数据库名称(对用户名缺省)

-d0-5 覆盖调试级别

-E 执行前显示语句

-j 不使用新行作为交互查询的分隔符

-rFILENAME 把标准输出和标准错误发送到指定的文件

引导模式的选项:

--boot 选择引导模式(必须是第一个参数)

dbnAME 数据库名称(在引导模式中是必选参数)

-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

psql (Postgresql) 9.2.4

psql是Postgresql 的交互式客户端工具。

使用方法:

psql [选项]... [数据库名称 [用户名称]]

通用选项:

-c,--command=命令 执行单一命令(sql或内部指令)然后结束

-d,--dbname=数据库名称 指定要连接的数据库 (缺省:"postgres")

-f,--file=文件名 从文件中执行命令然后退出

-l,--list 列出所有可用的数据库,然后退出

-v,--set=,--variable=名称=值 为psql变量(名称)设定值

-V,然后退出

-X,--no-psqlrc 不读取启动文档(~/.psqlrc)

-1("one"),--single-transaction 作为一个单一事务来执行命令文件

-?,然后退出

输入和输出选项:

-a,--echo-all 显示所有来自于脚本的输入

-e,--echo-queries 显示发送给服务器的命令

-E,--echo-hidden 显示内部命令产生的查询

-L,--log-file=文件名 将会话日志写入文件

-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")

-w,--password 强制口令提示 (自动)

更多信息,请在psql中输入"\?"(用于内部指令)或者 "\help"(用于sql命令),

或者参考Postgresql文档中的psql章节.

臭虫报告至<pgsql-bugs@postgresql.org>.

postgres=# help

您正在使用psql,这是一种用于访问Postgresql的命令行界面

键入: \copyright 显示发行条款

\h 显示 sql 命令的说明

\? 显示 pgsql 命令的说明

\g 或者以分号(;)结尾以执行查询

\q 退出

postgres=# \?

一般性

\copyright 显示Postgresql的使用和发行许可条款

\g[文件] or; 执行查询 (并把结果写入文件或 |管道)

\h[名称] sql命令语法上的说明,用*显示全部命令的语法说明

\q 退出 psql

查询缓存区

\e[FILE] [LINE] 使用外部编辑器编辑查询缓存区(或文件)

\ef[FUNCNAME [LINE]] 使用外部编辑器编辑函数定义

\p 显示查询缓存区的内容

\r 重置(清除)查询缓存区

\w 文件查询缓存区的内容写入文件

输入/输出

\copy ... 执行 sql copY,将数据流发送到客户端主机

\echo [字符串] 将字符串写到标准输出

\i 文件文件中执行命令

\irFILE 与 \i类似,但是相对于当前脚本的位置

\o[文件] 将全部查询结果写入文件或 |管道

\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[+] 列出所有的数据库

\sf[+]FUNCNAME 显示函数定义

\z [模式] 和\dp的功能相同

格式化

\a 在非对齐模式和对齐模式之间切换

\C[字符串] 设置表的标题,或如果没有的标题就取消

\f[字符串] 显示或设定非对齐模式查询输出的字段分隔符

\H 切换HTML输出模式 (目前是 关闭)

\pset NAME [VALUE] 设定表输出选项

(NAME :={format|border|expanded|fieldsep|fieldsep_zero|footer|null|numericlocale|recordsep|recordsep_zero|tuples_only|title|tableattr|pager})

\t[开|关] 只显示记录 (目前是 关闭)

\T[字符串] 设置HTML <表格>标签属性,或者如果没有的话取消设置

\x[on|off|auto] 切换扩展输出模式(目前是 关闭)

连接

\c[onnect] [数据库名称|- 用户名称|- 主机|- 端口|-]

连接到新的数据库(目前是 "postgres")

\encoding [编码名称] 显示或设定客户端编码

\password [USERNAME] 安全地为用户改变口令

\conninfo 显示当前连接的相关信息

操作系统

\cd[目录] 改变目前的工作目录

\setenv NAME [VALUE] 设置或清空环境变量

\timing [开|关] 切换命令计时开关 (目前是 关闭)

\![命令] 在 shell中执行命令或启动一个交互式shell

变量

\prompt [文本] 名称 提示用户设定内部变量

\set [名称 [值数]] 设定内部变量,若无参数则列出全部变量

\unset 名称 清空(删除)内部变量

大对象

\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 名称 RENAME TO 新的名称

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 名称 RENAME TO 新的名称

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 名称 ( 输入数据类型 [,... ] ) (

SFUNC = 状态转换函数名称,

STYPE = 状态值的数据类型

[,FINALFUNC = 计算最终结果集的函数名称 ]

[,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 名称

FOR 源_编码 TO 目的_编码 FROM 函数名称

命令: 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 '定义'

|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 名称 (

PROCEDURE = 函数名称

[,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 = 解析器名称 |

copY = 已存在的文本搜索配置名称

)

命令: CREATE TEXT SEARCH DICTIONARY

描述: 定义一个新文本搜寻字典

语法:

CREATE TEXT SEARCH DICTIONARY 名称 (

TEMPLATE = 模版

[,选项 = 值 [,... ]]

)

命令: CREATE TEXT SEARCH PARSER

描述: 定义一个新文本搜寻剖析器

语法:

CREATE TEXT SEARCH PARSER 名称 (

START = 启动_函数,

GETTOKEN = 获取一个符号函数名称,

END = 结束_函数,

LEXTYPES = 语义类型_函数

[,HEADLINE = 标题_函数 ]

)

命令: 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 ( 条件 ) ]

EXECUTE PROCEDURE 函数名称 ( 参数 )

事件可以下述之一:

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 = 输入_函数,

OUTPUT = 输出_函数

[,RECEIVE = 接收_函数 ]

[,SEND = 发送_函数 ]

[,TYPMOD_IN = 类型修改器数组输入函数名称]

[,TYPMOD_OUT = 类型修改输出函数名称 ]

[,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

ABSOLUTE 查询所用返回记录的最大数量

RELATIVE 查询所用返回记录的最大数量

查询所用返回记录的最大数量

ALL

FORWARD

FORWARD 查询所用返回记录的最大数量

FORWARD ALL

BACKWARD

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

ABSOLUTE 查询所用返回记录的最大数量

RELATIVE 查询所用返回记录的最大数量

查询所用返回记录的最大数量

ALL

FORWARD

FORWARD 查询所用返回记录的最大数量

FORWARD ALL

BACKWARD

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 ]

角色名称 [,...] FROM 角色名称 [,...]

[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 ( 表达式 [,...] ) ] ]

*| 表达式 [ [ AS ] 输出名称 ] [,...]

[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.jb51.cc/postgresql/194881.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐