greenplum基本操作及管理命令
GP日常维护手册-常用命令
Greenplum 日常维护手册1. 数据库启动:gpstart常用可选参数: -a : 直接启动,不提示终端用户输入yes确认 -m:只启动master 实例,主要在故障处理时使用2. 数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-M fast:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
-f:强制停止数据库-r:重启数据库3. 查看实例配置和状态select * from gp_configuration order by 1 ;select * from gp_configuration_history order by 1 ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirrorInstance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录注4.0后,实例配置的数据表:gp_segment_configuration 、pg_filespace_entry、gp_fault_strategy;其它常用的系统表:pg_class,pg_attribute,pg_database,pg_tables……可以用tab来匹配表名;4. gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息-s:查看详细状态,如在同步,可显示数据同步完成百分比--version,查看数据库version(也可使用pg_controldata查看数据库版本和postgresql版本)该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
Greenplum日志管理
Greenplum⽇志管理Greenplum ⽇志管理⽇志路径$GPADMIN_HOME 是操作系统⽤户gpadmin的家⽬录路径。
$MASTER_DATA_DIRECTORY是Greenplum数据库master主机的数据⽬录。
$GPDATA_DIR是Greenplum数据库segment主机的数据⽬录。
host表⽰segment主机的主机名。
segprefix是segment前缀。
N是segment实例数量。
date是YYYYMMDD格式的⽇期。
⽇志参数Greenplum的⽇志参数基本沿⽤了postgres的⽇志参数,主要包括以下三个部分:何处写⽇志log_destination⽇志位置可以输出到stderr, csvlog, sysloglogging_collector使⽤⽇志收集器,其是⼀个收集发送到stderr⽇志的后台进程,收集⽇志后该进程会将⽇志重定向到⽇志⽂件log_directory⽇志路径,需要logging_collector开启log_filename⽇志名字/模式,需要logging_collector开启,采⽤strftime模式设置log_file_mode⽇志⽂件权限,需要logging_collector开启,采⽤⼋进制,默认0600,代表服务拥有者拥有读写权限,log_rotation_age⽇志切换间隔,需要logging_collector开启,确认单个⽇志⽂件的时间长度,单位分钟,默认是24⼩时log_rotation_size⽇志切换⼤⼩,需要logging_collector开启,确认单个⽇志⽂件的最⼤⼤⼩,单位kb,默认10Mlog_truncate_on_rotation使能同名⽇志的truncate/overwrite, 需要logging_collector开启,注意:truncate只会基于时间的⽇志切换,由⽂件⼤⼩或者数据库重启导致的⽇志切换不会触发⽇志truncate设置七⽇⽇志轮转:log_filename: server_log.%alog_rotation_age:1440log_truncate_on_rotation: on何时写⽇志log_min_messages控制写⼊⽇志等级,有效值有DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC,默认值为warning,注意其和客户端等级client_min_messages略有区别log_min_error_statement控制触发服务器⽇志记录的sql statement,等级和log_min_message相同,但是默认值为ERROR,即当sql statement造成了error或以上级别的错误后,该sql将被记录log_min_duration_statement当⼀条statement持续时间超过该参数后,此条statement将被记录,可⽤于控制慢查询⽇志的记录,默认单位微秒log_min_duration_sample和log_min_duration_statement差不多,但是⼀个采样⼦集,主要⽤在traffic过⾼的情况下log_statement_sample_rate顾名思义,采样率,范围0-1,默认为1log_transaction_sample_rate以事务为视⾓的采样率,它对于事务采样帮助⽐较⼤记录什么⽇志application_name连接数据库的应⽤名debug_print_parsedebug_print_rewrittendebug_print_plan使能不同的调试输⼊,parse输出解析树,重写输出以及执⾏计划,这些消息位于LOG层debug_pretty_print故名思意,增加缩进,打印的更好看log_checkpoints记录checkpoint点,同时包含写⼊的缓冲数据以及写⼊时间等log_connections记录每⼀次对服务器的尝试连接log_disconnections记录连接断开时间和持续时间log_duration记录每⼀个完成的statement的持续时间log_error_verbosity⽇志的详细等级,VERBOSE甚⾄会打印源代码⽂件名,函数名和⾏号log_hostname记录客户端主机的主机名log_line_prefix⽇志⾏前缀log_lock_waits当⼀个session等待超过deadlock-time后,将会产⽣⼀条锁等待⽇志,这个参数对于诊断锁等待造成的性能问题很有⽤log_parameter_max_length确定⾮错误statement的绑定参数的可打印长度log_parameter_max_length_on_error确定错误statement的绑定参数的可打印长度log_statement控制记录哪种类型的SQL,ddl记录所有数据定义语句,mod记录所有ddl+dmllog_replication_commands记录每⼀个replication命令log_temp_files记录临时⽂件名和尺⼨,只记录⼤⼩⼤于该参数的临时⽂件log_timezone设置服务器⽇志记录的时区⽇志视图gp_toolkit是greenplum的⼀个管理schema,我们可以使⽤其中的⼏个视图查看数据库⽇志,gp_toolkit不在默认的搜索路径中,需要⼿动添加。
GP 常用数据库命令
Greenplum 日常简明维护手册1.数据库启动:gpstart常用参数:-a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用访问单个数据实例:PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432启动某个segment instance :pg_ctl stop/start -D /datadir/取端口号:select * from gp_segment_configuration启动以后会在/tmp/ 下生成一个.lock 隐藏文件,记录主进程号。
2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-f:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ;select * from pg_filespace_entry ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirror Instance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录4.gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
Greenplum使用简明手册
Greenplum使⽤简明⼿册GP服务启停su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置⽂件登陆与退出Greenplum#正常登陆psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin#使⽤utility⽅式PGOPTIONS="-c gp_session_role=utility" psql -h -d dbname hostname -p port#退出在psql命令⾏执⾏\q参数查询psql -c 'SHOW ALL;' -d gpdbgpconfig --show max_connections创建数据库 createdb -h localhost -p 5432 dhdw创建GP⽂件系统# ⽂件系统名gpfsdw# ⼦节点,视segment数创建⽬录mkdir -p /gpfsdw/seg1mkdir -p /gpfsdw/seg2chown -R gpadmin:gpadmin /gpfsdw# 主节点mkdir -p /gpfsdw/masterchown -R gpadmin:gpadmin /gpfsdwgpfilespace -o gpfilespace_configgpfilespace -c gpfilespace_config创建GP表空间psql gpdbcreate tablespace TBS_DW_DATA filespace gpfsdw;SET default_tablespace = TBS_DW_DATA;删除GP数据库 gpdeletesystem -d /gpmaster/gpseg-1 -f查看segment配置 select * from gp_segment_configuration;⽂件系统 select * from pg_filespace_entry;磁盘、数据库空间SELECT * FROM gp_toolkit.gp_disk_free ORDER BY dfsegment;SELECT * FROM gp_toolkit.gp_size_of_database ORDER BY sodddatname;⽇志SELECT * FROM gp_toolkit.__gp_log_master_ext;SELECT * FROM gp_toolkit.__gp_log_segment_ext;表描述 /d+ <tablename>表分析 VACUUM ANALYZE tablename;表数据分布 SELECT gp_segment_id, count(*) FROM <table_name> GROUP BY gp_segment_id;表占⽤空间SELECT relname as name, sotdsize/1024/1024 as size_MB, sotdtoastsize as toast, sotdadditionalsize as otherFROM gp_toolkit.gp_size_of_table_disk as sotd, pg_classWHERE sotd.sotdoid = pg_class.oid ORDER BY relname;索引占⽤空间SELECT soisize/1024/1024 as size_MB, relname as indexnameFROM pg_class, gp_toolkit.gp_size_of_indexWHERE pg_class.oid = gp_size_of_index.soioidAND pg_class.relkind='i';OBJECT的操作统计SELECT schemaname as schema, objname as table, usename as role, actionname as action, subtype as type, statime as time FROM pg_stat_operationsWHERE objname = '<name>';锁SELECT locktype, database, c.relname, l.relation, l.transactionid, l.transaction, l.pid, l.mode, l.granted, a.current_queryFROM pg_locks l, pg_class c, pg_stat_activity aWHERE l.relation=c.oidAND l.pid=a.procpidORDER BY c.relname;队列 SELECT * FROM pg_resqueue_status查看指定数据库select pg_size_pretty(pg_database_size('<database_name>'));所有数据库 select datname,pg_size_pretty(pg_database_size(<database_name>)) from pg_database;查看数据库表清单(包括临时表) pg_tables主表与分区表 pg_partitions字段清单 information_schema.columns视图 pg_views字典 schema : information_schemaGP中查询表和视图清单,视图的字段及其类型查询schema_name.view_name的字段及其类型:select a.attname, pg_catalog.format_type(a.atttypid, a.atttypmod) as type,a.attnotnullfrom pg_catalog.pg_attribute a,pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere a.attrelid=c.oidand c.relname='view_name'and a.attnum>0 AND NOT a.attisdroppedand n.oid = c.relnamespaceand n.nspname='schema_name'order by a.attnum查询指定schema下view的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='v'查询指定schema下所有table的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r'查询指定schema下所有外部表的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r' and relstorage='x'查询指定schema下所有普通表的清单:select c.relnamefrom pg_catalog.pg_class c, pg_catalog.pg_namespace nwhere n.oid = c.relnamespaceand n.nspname='schema_name'and c.relkind='r' and relstorage in ('h','a');注意,relstorage字段取值“x”表⽰外部表,“h”表⽰heap表,“a”表⽰append-only表,“v”表⽰virtual表。
GP 常用数据库命令
Greenplum 日常简明维护手册1.数据库启动:gpstart常用参数:-a : 直接启动,不提示终端用户输入确认-m:只启动master 实例,主要在故障处理时使用访问单个数据实例:PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432启动某个segment instance :pg_ctl stop/start -D /datadir/取端口号:select * from gp_segment_configuration 启动以后会在/tmp/ 下生成一个.lock 隐藏文件,记录主进程号。
2.数据库停止:gpstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止master 实例,与gpstart –m 对应使用-f:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ;select * from pg_filespace_entry ;主要字段说明:Content:该字段相等的两个实例,是一对P(primary instance)和M(mirror Instance)Isprimary:实例是否作为primary instance 运行Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运行的端口Datadir:实例对应的数据目录4.gpstate :显示Greenplum数据库运行状态,详细配置等信息常用可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显示standby master 的详细信息该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
Greenplum常用命令、函数
Greenplum常⽤命令、函数Greenplum常⽤查询命令#查看test_bd事务(即数据库)下的所有表名包含 user 的表信息SELECT UPPER(A.SCHEMANAME) AS SCHEMANAME, UPPER(A.TABLENAME) AS TABLENAME,D.ATTRELID,D.ATTRELID :: regclass,UPPER(D.ATTNAME) AS ATTNAME,REPLACE(REPLACE(REPLACE(FORMAT_TYPE(D.ATTTYPID, D.ATTTYPMOD),'numeric','NUMBER'),'character varying','VARCHAR2'),'date','DATE') AS DATA_TYPE,E.DESCRIPTIONFROM PG_TABLES AS AINNER JOIN PG_CLASS AS B ON A.TABLENAME = B.RELNAMELEFT JOIN PG_CATALOG.PG_DESCRIPTION AS E ON B.OID = E.OBJOIDLEFT JOIN PG_CATALOG.PG_ATTRIBUTE AS D ON D.ATTRELID = E.OBJOID AND D.ATTNUM = E.OBJSUBIDWHERE SCHEMANAME ='test_bd'AND A.TABLENAME LIKE'%user%'AND D.ATTNUM >0ORDER BY A .TABLENAME,D.ATTNUM select pg_size_pretty(pg_database_size('gp_db')); #查看gp数据库⼤⼩ select gp_segment_id,count(*) from db_name.tb_name group by gp_segment_id; #查看数据分布情况1.创建数据库 createdb test_db;2.删除数据库 dropdb test_db;3.创建模式 create schema myschema;4.删除模式 drop schema myschema;5.创建⽤户 create user user_name with password '123456' ;6.删除⽤户 drop user user_name;7.查看系统⽤户信息 select usename from pg_user;8.查看版本信息 select version();9.打开psql交互⼯具 psql name_db;10.执⾏sql⽂件 mydb=> \i basics.sql \i 命令从指定的⽂件中读取命令。
GP日常维护手册-常用命令
Greenp lum 日常维护手册1.数据库启动:g pstar t常用可选参数:-a : 直接启动,不提示终端用户输入ye s确认-m:只启动mas ter 实例,主要在故障处理时使用2.数据库停止:g pstop:常用可选参数:-a:直接停止,不提示终端用户输入确认-m:只停止mas t er 实例,与gpsta rt –m 对应使用-M fast:停止数据库,中断所有数据库连接,回滚正在运行的事务-u:不停止数据库,只加载pg_hba.conf 和postgresql.conf中运行时参数,当改动参数配置时候使用。
-f:强制停止数据库-r:重启数据库3.查看实例配置和状态select * from gp_con figur ation orderby 1 ;select * from gp_con figur ation_hist ory orderby 1 ;主要字段说明:Conten t:该字段相等的两个实例,是一对P(primar y instan ce)和M(mirrorInstan ce)Isprim ary:实例是否作为p rimary instan ce 运行V alid:实例是否有效,如处于fal se 状态,则说明该实例已经dow n 掉。
Port:实例运行的端口Datadi r:实例对应的数据目录注 4.0后,实例配置的数据表:gp_seg ment_confi gurat ion 、pg_fil espac e_ent ry、gp_fau lt_st rateg y;其它常用的系统表:pg_cla ss,pg_att ribute,pg_database,pg_tab l es……可以用tab来匹配表名;4.gpstat e :显示Gree n plum数据库运行状态,详细配置等信息常用可选参数:-c:primary instan ce 和mirror instan ce 的对应关系-m:只列出mir ror 实例的状态和配置信息-f:显示stan dby master的详细信息-s:查看详细状态,如在同步,可显示数据同步完成百分比--versio n,查看数据库v ersio n(也可使用pg_cont roldata查看数据库版本和p ostg r esql版本)该命令默认列出数据库运行状态汇总信息,常用于日常巡检。
greenplum gdfdist使用手册
greenplum gdfdist使用手册Greenplum GDFDist 使用手册概述Greenplum GDFDist 是一个用于在 Greenplum 数据库集群中进行分布式数据传输和加载的工具。
它提供了高效、可靠和并行的数据传输功能,能够加速数据导入和导出的过程。
本手册将向您介绍 GDFDist 的安装和配置方法,并提供一些常见的使用示例。
安装和配置1. 安装 GDFDistGDFDist 是作为 Greenplum 数据库分发功能的一部分提供的。
在安装 Greenplum 数据库时,GDFDist 已经被自动包括在内。
确保已正确安装 Greenplum 数据库版本来使用 GDFDist。
2. 配置 GDFDist在开始使用 GDFDist 之前,需要进行一些配置。
打开 Greenplum 数据库配置文件(通常位于 `$MASTER_DATA_DIRECTORY/gpseg-1/postgresql.conf`),找到以下配置项,并根据需要进行修改: - `gp_external_enable`:确保该配置项的值为 `on`,以启用外部表和 GDFDist 功能。
- `gp_external_max_segs`:根据您的集群规模和性能需求,适当调整此配置项的值。
它控制了能使用 GDFDist 进行数据传输的并行进程数量。
完成配置后,重新加载Greenplum 数据库配置文件以使更改生效。
使用示例以下是一些常见的 GDFDist 使用示例,展示了不同场景下如何高效地使用数据传输功能。
1. 从本地文件导入数据到 Greenplum 数据库使用 `COPY` 命令结合 GDFDist,可以将本地文件中的数据快速导入到 Greenplum 数据库中。
示例命令如下:```COPY my_table FROM PROGRAM 'gdfdist -F text -b my_file.txt' WITH (FORMAT CSV, HEADER);```在上述命令中,`my_table` 是指目标表的名称,`my_file.txt` 是指本地文件的路径名。
greenplum基本操作及管理命令
greenplum基本操作及管理命令第1章系统管理 1.1 GP服务启停 su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置文件 1.2 登陆 psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin 1.3 查看segment配置 select * from gp_segment_configuration; 1.4 文件系统 select * from pg_filespace_entry; 1.5 列出所有数据库 psql –l 1.6 行表库最大尺寸一个数据库最大尺寸无限制已存在有32TB 的数据库一个表的最大尺寸 32 TB一行记录的最大尺寸 1.6 TB一个字段的最大尺寸? 1 GB一个表里最大行数无限制一个表里最大列数 250-1600 与列类型有关一个表里的最大索引数量无限制当然实际上没有真正的无限制还是要受可用磁盘空间、可用内存/交换区的制约。
事实上当这些数值变得异常地大时系统性能也会受很大影响。
表的最大尺寸32 TB 不需要操作系统对大文件的支持。
大表用多个 1 GB 的文件存储因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到32K 最大的表尺寸和最大列数还可以增加到四倍 1.7 存储空间一个 Postgres 数据库存储一个文本文件所占用的空间最多可能需要相当于这个文本文件自身大小5倍的磁盘空间。
第2章 Psql操作 2.1 创建/删除用户创建用户createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名参数说明[-a]允许创建其他用户相当于创建一个超级用户[-A]不允许此用户创建其他用户[-d]允许此用户创建数据库[-D]不允许此用户创建数据库[-e]将执行过程显示到Shell上[-P]创建用户时同时设置密码[-h 主机名]为某个主机上的Postgres创建用户[-p port]与-h参数一同使用指定主机的端口。
greenplum数组操作
greenplum数组操作Table 4. Advanced Analytic FunctionsFunction Return Type Full Syntax Descriptionmatrix_add(array[], array[])smallint[], int[], bigint[], float[]matrix_add( array[[1,1],[2,2]], array[[3,4],[5,6]])Adds two two-dimensional matrices. The matrices must be conformable.matrix_multiply( array[], array[])smallint[]int[], bigint[], float[]matrix_multiply( array[[2,0,0],[0,2,0],[0,0,2]], array[[3,0,3],[0,3,0],[0,0,3]] )Multiplies two, three-dimensional arrays. The matrices must be conformable.matrix_multiply( array[], expr)int[], float[]matrix_multiply( array[[1,1,1], [2,2,2],[3,3,3]], 2)Multiplies a two-dimensional array and a scalar numeric value.matrix_transpose( array[])Same as input array type.matrix_transpose( array [[1,1,1],[2,2,2]])Transposes a two-dimensionalarray.pinv(array [])smallint[]int[], bigint[], float[]pinv(array[[2.5,0,0],[0,1,0],[0,0,.5]])Calculates the Moore-Penrosepseudoinverse of a matrix. unnest (array[])set of anyelement unnest( array['one', 'row', 'per', 'item'])Transforms a one dimensionalarray into rows. Returns a setof anyelement, a polymorphic .Table 5. Advanced Aggregate FunctionsFunction Return Type Full Syntax DescriptionMEDIAN (expr)timestamp,timestampz,interval, float MEDIAN (expression)Example:SELECT department_id, MEDIAN(salary)FROM employeesGROUP BY department_id;Can take a two-dimensional arrayas input. Treats such arrays asmatrices.PERCENTILE_CONT (expr) WITHIN GROUP (ORDER BY expr [DESC/ASC])timestamp,timestampz,interval, floatPERCENTILE_CONT(percentage) WITHIN GROUP (ORDERBY expression)Example:SELECT department_id,PERCENTILE_CONT (0.5) WITHIN GROUP (ORDER BY salary DESC)"Median_cont";FROM employees GROUP BY department_id;Performs an inverse function thatassumes a continuous distributionmodel. It takes a percentile valueand a sort specification andreturns the same datatype as thenumeric datatype of the argument.This returned value is a computedresult after performing linearinterpolation. Null are ignored inthis calculation.PERCENTILE_DISC (expr) WITHIN GROUP (ORDER BY expr [DESC/ASC])timestamp,timestampz,interval, floatPERCENTILE_DISC(percentage) WITHIN GROUP (ORDERBY expression)Example:SELECT department_id,PERCENTILE_DISC (0.5) WITHIN GROUP (ORDER BY salary DESC)"Median_desc";FROM employees GROUP BY department_id;Performs an inverse distributionfunction that assumes a discretedistribution model. It takes apercentile value and a sortspecification. This returned valueis an element from the set. Nullare ignored in this calculation.sum(array[])smallint[]int[],bigint[], float[]sum(array[[1,2],[3,4]])Example:CREATE TABLE mymatrix (myvalue int[]);INSERT INTO mymatrix VALUES (array[[1,2],[3,4]]);INSERT INTO mymatrix VALUES (array[[0,1],[1,0]]);SELECT sum(myvalue) FROM mymatrix;sum---------------{{1,3},{4,4}}Performs matrix summation. Cantake as input a two-dimensionalarray that is treated as a matrix.pivot_sum (label[], label, expr)int[], bigint[],float[]pivot_sum( array['A1','A2'], attr, value) A pivot aggregation using sum toresolve duplicate entries.mregr_coef(expr, array[])float[]mregr_coef(y, array[1, x1, x2])The four mregr_*aggregatesperform linear regressions usingthe ordinary-least-squaresmethod. mregr_coef calculates theregression coefficients. The sizeof the return array for mregr_coef isof the return array for mregr_coef isthe same as the size of the inputarray of independent variables,since the return array contains thecoefficient for each independentvariable.mregr_r2 (expr, array[])float mregr_r2(y, array[1, x1, x2])The four mregr_*aggregatesperform linear regressions usingthe ordinary-least-squaresmethod. mregr_r2calculates the r-squared error value for theregression.mregr_pvalues(expr, array[])float[]mregr_pvalues(y, array[1, x1, x2])The four mregr_*aggregatesperform linear regressions usingthe ordinary-least-squaresmethod. mregr_pvalues calculatesthe p-values for the regression. mregr_tstats(expr, array[])float[]mregr_tstats(y, array[1, x1, x2])The four mregr_*aggregatesperform linear regressions usingthe ordinary-least-squaresmethod. mregr_tstats calculates thet-statistics for the regression.nb_classify(text[], bigint, bigint[], bigint[])text nb_classify(classes, attr_count, class_count, class_total)Classify rows using a NaiveBayes Classifier. This aggregateuses a baseline of training data topredict the classification of newrows and returns the class withthe largest likelihood of appearingin the new rows.nb_probabilities(text[], bigint, bigint[], bigint[])text nb_probabilities(classes, attr_count, class_count, class_total)Determine probability for eachclass using a Naive BayesClassifier. This aggregate uses abaseline of training data to predictthe classification of new rows andreturns the probabilities that eachclass will appear in new rows.Function Return Type Full Syntax Description。
GREENPLUM介绍之数据库管理(五)- 数据库的备份和恢复
--------------------------------------------------------------------
先看gp_dump的用法。同样可以通过gp_dump --help查看相关选项。
具体的句法
gp_dump [OPTION]... [DBNAME]
常用选项:
控制还原的选项
-a, --data-only 只还原数据
-c, --clean 在创建之前删除schema
-C, --create 创建目标数据库
-I, --index=NAME 还原索引
-s, --schema-only 只还原SCHEMA,不还原相关数据。
-t, --table=NAME 只还原特定的表
-x, --no-privileges 跳过特定权限的还原 (grant/revoke)
-S, --superuser=NAME 如果使用文本格式,指定超级用户的名称
-t, --table=TABLE 只备份特定的表,视图,或者序列
-T, --exclude-table=TABLE 备份中排除特定的表,视图或者序列。
GREENPLUM介绍之数据库管理(五)- 数据库的备份和恢复
GREENPLUM和许多关系型数据库一样从两个方面实现数据库数据的保护。
一方面是通过数据库的备份恢复,实现数据仓库数据的保护。
另一方面是通过冗余实现系统的容错,为数据仓库系统提供高可用性。
这部分先介绍数据库的备份。GREENPLUM为数据库的备份提供了两种工具,一种是pg_dump,另一种是gp_dump。
pg_dump是从postgre继承过来的工具,它只能通过MASTER节点采用串行方式备份数据库,可以本地备份,也可以远程备份。
Greenplum管理实践.ppt
1.Managing Roles and Privileges
• Role=User+Group
2. Configuring Client Authentication
• pg_hba.conf local all gpadmin trust host all gpadmin 127.0.0.1/32 password
3. Managing Workload and Resources
• Resource queue
CREATE RESOURCE QUEUE executive WITH (ACTIVE_STATEMENTS=3, PRIORITY=MAX);
4. Defining Database Objects
inconsistencies.
9. Expanding a Greenplum
System
• gpexpand
• To interactively create an expansion input file: • gpexpand -f hosts_file • To initialize segments and create expansion schema: • gpexpand -i input_file -D database_name • To redistribute tables: • gpexpand -d duration • To remove the expansion schema: • gpexpand -c
• Multi-level Partition Design
Check constraint
5. Managing Data
• Vacuuming the Database
greenplum 语法
greenplum 语法Greenplum是一个分布式数据库管理系统,它支持SQL语言进行数据的查询、插入、更新和删除等操作。
本文将介绍Greenplum的基本语法和常用操作。
一、基本语法1. 创建数据库CREATE DATABASE dbname;2. 删除数据库DROP DATABASE dbname;3. 连接数据库c dbname;4. 创建表格CREATE TABLE tablename (column1 datatype,column2 datatype,column3 datatype,.....);5. 删除表格DROP TABLE tablename;6. 插入数据INSERT INTO tablename (column1, column2, column3, ....)VALUES (value1, value2, value3, .....);7. 查询数据SELECT column1, column2, ....FROM tablenameWHERE condition;8. 更新数据UPDATE tablenameSET column1 = value1, column2 = value2, ....WHERE condition;9. 删除数据DELETE FROM tablenameWHERE condition;二、常用操作1. 聚合函数聚合函数用于对数据进行计算,包括SUM、AVG、COUNT、MAX和MIN等。
SELECT SUM(column) FROM tablename;2. 排序排序用于对数据进行排序,包括ASC(升序)和DESC(降序)。
SELECT column1, column2, ....FROM tablenameORDER BY column1 ASC;3. 分组分组用于将数据按照某个字段进行分组,可以配合聚合函数进行计算。
SELECT column1, SUM(column2)FROM tablenameGROUP BY column1;4. 联结联结用于将两个或多个表格中的数据进行联合。
GreenPlum使用手册
GreenPlum数据库集群安装说明及使用手册开心十二月总结****年**月**日目录1体系结构介绍 (4)2安装 (10)2.1安装 (10)2.1.1安装准备 (10)2.1.2安装gp-db (11)2.1.3配置通讯 (13)2.1.4建立数据存储池 (17)2.1.5同步系统时间 (17)2.1.6验证安装是否成功 (18)2.1.7初始化 (18)2.1.8数据库的启停 (19)2.2Master双机热备 (19)2.3Segment节点互备 (20)3GP数据库的使用 (23)3.1pgAdminIII工具 (23)3.1.1安装和第一次使用pgAdminIII (23)3.1.2主窗体 (24)3.1.3导航菜单 (24)3.1.4工具栏介绍 (25)3.1.5数据库与表的创建 (26)3.1.6使用pgAdminIII备份数据库 (26)3.2JDBC配置 (27)3.3GP数据库两个重要概念 (28)3.3.1什么是Schema (28)3.3.2数据分布存储 (29)3.4GP的SQL语法 (29)3.4.1数据加载 (29)3.4.2SQL并行查询 (33)3.4.3聚合函数 (33)3.4.4索引 (33)3.4.5分区 (35)3.4.6函数 (36)4维护数据库 (40)4.1数据库启动gpstart (40)4.2数据库停止gpstop (42)4.3查看实例配置和状态 (42)4.4查看数据库运行状态gpstate (43)4.5查看用户会话和提交的查询等信息 (44)4.6查看数据库、表占用空间 (44)4.7查看数据分布情况 (45)4.8实例恢复gprecoverseg (45)4.9查看锁信息 (45)4.10数据库的备份与恢复 (45)5调优、排错 (45)6附件 (45)6.1DBA常用命令 (45)7Q&A (46)7.1不支持触发器 (46)7.2更新操作中的若干问题 (46)1体系结构介绍Greenplum数据库产品——下一代数据仓库引擎和分析方法Greenplum公司是企业数据云计算解决方案的创始人,为客户提供灵活的数据商业智能和分析方法。
GreenPlum 使用指南
GreenPlum 使用指南连接数据库psql -d postgres集群部署1.安装依赖库所有节点执行# yum -y install rsync coreutils glib2 lrzsz sysstat e4fsprogs xfsprogs ntp readline-devel zlib zlib-devel openssl openssl-devel pam-devel libxml2-devel libxslt-devel python-devel tcl-devel gcc make smartmontools flex bison perl perl-devel perl-ExtUtils* OpenIPMI-tools openldap openldap-devel logrotate python-py gcc-c++ libevent-devel apr-devel libcurl-devel bzip2-devel libyaml-develeasy_install pippip install paramikopip install psutilpip install lockfile2.修改内核参数# vi /etc/sysctl.conf#dev_max_backlog = 2500->10000#add by langke install greenplumkernel.shmmni = 4096kernel.sem = 50100 64128000 50100 1280kernel.msgmni = 2048net.ipv4.conf.all.arp_filter = 1filter.ip_conntrack_max = 655360net.ipv4.tcp_keepalive_probes = 9net.ipv4.tcp_keepalive_intvl = 7vm.overcommit_memory = 2fs.file-max = 7672460fs.aio-max-nr = 1048576上面这个内核参数设置之后影响elasticsearch进程(进程自动退出,报OOM:Native memory allocation (mmap) failed to map 11314593792 bytes for committing reserved memory,可能是vm.overcommit_memory,参数影响)kernel.shmmni = 4096kernel.sem =250 32000 32 128kernel.msgmni = 32768net.ipv4.conf.all.arp_filter = 0net.ipv4.tcp_keepalive_probes = 9net.ipv4.tcp_keepalive_intvl = 75vm.overcommit_memory = 0fs.file-max = 7672460fs.aio-max-nr = 1048576# sysctl -p受内核参数影响kafka java客户端推送数据也受影响,soa_logs队列推送很慢,内核参数一直调整无效,最终迁移kafka节点:所以内核参数最好还是不要修改# rm -f /etc/security/limits.d/90-nproc.conf# vi /etc/security/limits.conf* soft nproc 204800* hard nproc 204800* soft memlock unlimited* hard memlock unlimited设置块设备预读大小/sbin/blockdev --setra 16384 /dev/sda1/sbin/blockdev --setra 16384 /dev/sdb1/sbin/blockdev --setra 16384 /dev/sdc1/sbin/blockdev --setra 16384 /dev/sdd13.初始化安装环境#切换到hadoop用户su hadoopmaster节点:mkdir -p /data/disk1/gp/masterchown -R hadoop /data/disk1/gp/masterchmod 700 /data/disk1/gp/master所有segment 节点:mkdir -p /data/disk1/gp/datamkdir -p /data/disk2/gp/datamkdir -p /data/disk3/gp/datamkdir -p /data/disk4/gp/datamkdir -p /data/disk1/gp/mirrormkdir -p /data/disk2/gp/mirrormkdir -p /data/disk3/gp/mirrormkdir -p /data/disk4/gp/mirrorchown -R hadoop /data/disk1/gp/datachmod -R 700 /data/disk1/gp/data4.安装:./greenplum-db-4.3.9.1-build-1-rhel5-x86_64.bin安装到/opt/17173_install/greenplum-db-4.3.9.1安装完成cd greenplum-db/bin./pg_configcd ..cat greenplum_path.sh添加到用户的环境变量cat greenplum_path.sh >> ~/.bash_profile. ~/.bash_profile创建主机文件,包括所有节点以及主节点本身vi hostsea2sea3sea4sea5sea6交换KEY,master 访问所有的segment不需要输入密码,master pub拷贝到所有的segment authorized_keys,安装过hadoop可以略过gpssh-exkeys -f ./host安装软件到segment hostsgpseginstall -f ./host -u hadoop5.初始化数据库配置文件cp docs/cli_help/gpconfigs/gpinitsystem_config ./chmod 644 ./gpinitsystem_configvi ./gpinitsystem_configdeclare -a DATA_DIRECTORY=(/data/disk1/gp/data /data/disk2/gp/data/data/disk3/gp/data /data/disk4/gp/data)MASTER_HOSTNAME=sea6MASTER_DIRECTORY=/data/disk1/gp/masterMIRROR_PORT_BASE=50000REPLICATION_PORT_BASE=41000MIRROR_REPLICATION_PORT_BASE=51000declare -a MIRROR_DATA_DIRECTORY=(/data/disk1/gp/mirror/data/disk2/gp/mirror /data/disk3/gp/mirror /data/disk4/gp/mirror) DATABASE_NAME=seaMACHINE_LIST_FILE=/opt/17173_install/greenplum-db/host_segment编辑主机文件,不要包含master, standby,除非master,standby节点也需要当segment node使用.vi host_segmentsea2sea3sea4sea5sea6初始化数据库gpinitsystem -c ./gpinitsystem_config6.增加standby一个gp集群只有一个master肯定会让人不放心,还好有备用,当master宕掉后,会自动启用standby作为master,下面来看一下standby怎么添加在standby服务器上执行,sea5作为standbymkdir /data/disk1/gp/masterchown hadoop /data/disk1/gp/master在master服务器上执行gpinitstandby -s sea5中间输入一次Y7.增加mirrormirror就是镜像,也叫数据备份。
GP_常用数据库命令
GP_常⽤数据库命令Greenplum ⽇常简明维护⼿册1.数据库启动:gpstart常⽤参数:-a : 直接启动,不提⽰终端⽤户输⼊确认-m:只启动master 实例,主要在故障处理时使⽤访问单个数据实例:PGOPTIONS='-c gp_session_role=utility' psql template1 -p 5432启动某个segment instance :pg_ctl stop/start -D /datadir/取端⼝号:select * from gp_segment_configuration启动以后会在/tmp/ 下⽣成⼀个.lock 隐藏⽂件,记录主进程号。
2.数据库停⽌:gpstop:常⽤可选参数:-a:直接停⽌,不提⽰终端⽤户输⼊确认-m:只停⽌master 实例,与gpstart –m 对应使⽤-f:停⽌数据库,中断所有数据库连接,回滚正在运⾏的事务-u:不停⽌数据库,只加载pg_hba.conf 和postgresql.conf中运⾏时参数,当改动参数配置时候使⽤。
连接数,重启3.查看实例配置和状态select * from gp_segment_configuration order by content ; select * from pg_filespace_entry ;主要字段说明:Content:该字段相等的两个实例,是⼀对P(primary instance)和M(mirror Instance)Isprimary:实例是否作为primary instance 运⾏Valid:实例是否有效,如处于false 状态,则说明该实例已经down 掉。
Port:实例运⾏的端⼝Datadir:实例对应的数据⽬录4.gpstate显⽰Greenplum数据库运⾏状态,详细配置等信息常⽤可选参数:-c:primary instance 和mirror instance 的对应关系-m:只列出mirror 实例的状态和配置信息-f:显⽰standby master 的详细信息该命令默认列出数据库运⾏状态汇总信息,常⽤于⽇常巡检。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章系统管理1.1 GP服务启停su - gpadmingpstart #正常启动gpstop #正常关闭gpstop -M fast #快速关闭gpstop –r #重启gpstop –u #重新加载配置文件1.2 登陆psql gpdbpsql -d gpdb -h gphostm -p 5432 -U gpadmin 1.3 查看segment配置select * from gp_segment_configuration;1.4 文件系统select * from pg_filespace_entry;1.5 列出所有数据库psql –l1.6 行表库最大尺寸一个数据库最大尺寸?无限制(已存在有32TB 的数据库)一个表的最大尺寸?32 TB一行记录的最大尺寸?1.6 TB一个字段的最大尺寸? 1 GB一个表里最大行数?无限制一个表里最大列数?250-1600 (与列类型有关)一个表里的最大索引数量?无限制当然,实际上没有真正的无限制,还是要受可用磁盘空间、可用内存/交换区的制约。
事实上,当这些数值变得异常地大时,系统性能也会受很大影响。
表的最大尺寸32 TB 不需要操作系统对大文件的支持。
大表用多个1 GB 的文件存储,因此文件系统尺寸的限制是不重要的。
如果缺省的块大小增长到32K ,最大的表尺寸和最大列数还可以增加到四倍1.7 存储空间一个Postgres 数据库(存储一个文本文件)所占用的空间最多可能需要相当于这个文本文件自身大小5倍的磁盘空间。
第2章Psql操作2.1 创建/删除用户创建用户:createuser [-a] [-A] [-d] [-D] [-e] [-P] [-h 主机名] [-p port] 用户名参数说明:[-a]:允许创建其他用户,相当于创建一个超级用户;[-A]:不允许此用户创建其他用户;[-d]:允许此用户创建数据库;[-D]:不允许此用户创建数据库;[-e]:将执行过程显示到Shell上;[-P]:创建用户时,同时设置密码;[-h 主机名]:为某个主机上的Postgres创建用户;[-p port]:与-h参数一同使用,指定主机的端口。
createuser -h 172.28.18.51 -p 5000 -D -A -e testuser创建超级用户:createuser -P -d -a -e testuser删除用户:命令:dropuser [-i] [-h] [-p] [-e] 用户名参数说明:[ -i]:删除用户前,要求确认;[-h 主机名]:删除某个主机上的Postgres用户;[-p port]:与-h参数一同使用,指定主机的端口;[-e]:将执行过程显示到Shell上。
2.2 创建数据库createdb -p 5432 -e -U gpadmin mydb2.3 运行建库脚本psql -p 5432 -U gpadmin -d mydb -f ./mysql.sql 2.4 表描述/d+ <tablename>2.5 执行sql文件psql gpdbname –f yoursqlfile.sql或者psql登陆后执行\i yoursqlfile.sq2.6 返回查询头几行/随机几行SELECT colsFROM tabORDER BY random()LIMIT 1 ;2.7 更改字段类型ALTER TABLE ALTER COLUMN TYPE第3章数据导入导出3.1 GPload工具编写load.ymlverSION: 1.0.0.1USER: gpadminPORT: 5432GPLOAD:INPUT:- SOURCE:FILE:- /opt/gpadmin/zhonghong/testload.txt- COLUMNS:- msisdn: text- blank1: text- blank2: text- uaText: text- FORMAT: text- DELIMITER: '|'OUTPUT:- TABLE: ua_in- MODE: INSERTSQL:执行命令:gpload -f load.yml -U gpadmin -d uainfo3.2 外部表CREATE EXTERNAL TABLE ext_expenses ( name text,date date, amount float4, category text, desc text ) LOCATION (‘gpfdist://etlhost:8081/*’,‘gpfdist://etlhost1:8081/*’)FORMAT ‘TEXT’ (DELIMITER ‘,’);装载数据:1-insert方式INSERT INTO expenses_travelSELECT * from ext_expenses where category=’travel’;2-create table…as …方式CREATE TABLE expenses AS SELECT * from ext_expenses;3.3 Copy命令Copy命令装载数据并不是并行装载,而且所装载的数据文件必须放在master服务器上,例如:COPY country FROM ‘/data/gpdb/country_data’WITH DELIMITER ‘|’ LOG ERRORS INTO err_countrySEGMENT REJECT LIMIT 10 ROWS;第4章附录——命令大全输入: /copyright 获取发布信息/h 获取SQL 命令的帮助/? 获取psql 命令的帮助/g 或者以分号作为执行查询的结尾/q 退出4.1 一般选项/c[onnect] [数据库名|- [用户名称]]联接到新的数据库(当前为"test")/cd [目录名] 改变当前的工作目录/copyright 显示PostgreSQL 用法和发布信息/encoding [编码]显示或设置客户端编码/h [名字] SQL 命令的语法帮助, 用* 可以看所有命令的帮助/q 退出psql/set [名字[值]]设置内部变量, 如果没有参数就列出所有/timing 查询计时开关切换(目前是关闭)/unset 名字取消(删除)内部变量/! [命令] 在shell 里执行命令或者开始一个交互的shell4.2 查询缓冲区选项/e [文件名] 用一个外部编辑器编辑当前查询缓冲区或者文件/g [文件名] 向服务器发送SQL 命令(并且把结果写到文件或者|管道) /p 显示当前查询缓冲区的内容/r 重置(清理) 查询缓冲区/s [文件名] 打印历史或者将其保存到文件/w [文件名] 将查询缓冲区写出到文件4.3 输入/输出选项/echo [字串] 向标准输出写出文本/i 文件名执行来自文件的命令/o [文件名] 向文件或者|管道发送所有查询结果/qecho [字串]向查询输出流写出文本(见/o)4.4 信息选项/d [名字] 描述表, 索引, 序列, 或者视图/d{t|i|s|v|S} [模式] (加"+" 获取更多信息)列出表/索引/序列/视图/系统表/da [模式] 列出聚集函数/db [模式] 列出表空间(加"+" 获取更多的信息)/dc [模式] 列出编码转换/dC 列出类型转换/dd [模式] 显示目标的注释/dD [模式] 列出域/df [模式] 列出函数(加"+" 获取更多的信息)/dg [模式] 列出组/dn [模式] 列出模式(加"+" 获取更多的信息)/do [名字] 列出操作符/dl 列出大对象, 和/lo_list 一样/dp [模式] 列出表, 视图, 序列的访问权限/dT [模式] 列出数据类型(加"+" 获取更多的信息)/du [模式] 列出用户/l 列出所有数据库(加"+" 获取更多的信息)/z [模式] 列出表, 视图, 序列的访问权限(和/dp 一样)4.5 格式选项/a 在非对齐和对齐的输出模式之间切换/C [字串] 设置表标题, 如果参数空则取消标题/f [字串] 为非对齐查询输出显示或设置域分隔符/H 在HTML 输出模式之间切换(当前是关闭)/pset 变量[值]设置表的输出选项(变量:= {foramt|border|expanded|fieldsep|null|recordsep|tuples_only|title|tableattr|pager})/t 只显示行(当前是关闭)/T [字串] 设置HTML <表> 标记属性, 如果没有参数就取消设置/x 在扩展输出之间切换(目前是关闭)4.6 拷贝, 大对象选项/copy ... 执行SQL COPY, 数据流指向客户端主机/lo_export LOBOID FILE/lo_import FILE [COMMENT]/lo_list/lo_unlink LOBOID 大对象操作4.7 SQL帮助ABORT CREATE INDEX DROP TYPEALTER AGGREGATE CREATE LANGUAGE DROP USERALTER CONVERSION CREATE OPERATOR CLASS DROP VIEW ALTER DATABASE CREATE OPERATOR ENDALTER DOMAIN CREATE RULE EXECUTEALTER FUNCTION CREATE SCHEMA EXPLAINALTER GROUP CREATE SEQUENCE FETCHALTER INDEX CREATE TABLE GRANTALTER LANGUAGE CREATE TABLE AS INSERTALTER OPERATOR CLASS CREATE TABLESPACE LISTENALTER OPERATOR CREATE TRIGGER LOADALTER SCHEMA CREATE TYPE LOCKALTER SEQUENCE CREATE USER MOVEALTER TABLE CREATE VIEW NOTIFYALTER TABLESPACE DEALLOCATE PREPAREALTER TRIGGER DECLARE REINDEXALTER TYPE DELETE RELEASE SAVEPOINTALTER USER DROP AGGREGATE RESETANALYZE DROP CAST REVOKEBEGIN DROP CONVERSION ROLLBACKCHECKPOINT DROP DATABASE ROLLBACK TO SAVEPOINTCLOSE DROP DOMAIN SAVEPOINTCLUSTER DROP FUNCTION SELECTCOMMENT DROP GROUP SELECT INTOCOMMIT DROP INDEX SETCOPY DROP LANGUAGE SET CONSTRAINTSCREATE AGGREGATE DROP OPERATOR CLASS SET SESSION AUTHORIZATIONCREATE CAST DROP OPERATOR SET TRANSACTIONCREATE CONSTRAINT TRIGGER DROP RULE SHOWCREATE CONVERSION DROP SCHEMA START TRANSACTIONCREATE DATABASE DROP SEQUENCE TRUNCATECREATE DOMAIN DROP TABLE UNLISTENCREATE FUNCTION DROP TABLESPACE UPDATECREATE GROUP DROP TRIGGER VACUUM命令: ABORT描述: 终止当前事务语法:ABORT [ WORK | TRANSACTION ]命令: ALTER AGGREGATE描述: 改变一个聚集函数的定义语法:ALTER AGGREGATE 名字( 类型) RENAME TO 新名字ALTER AGGREGATE 名字( 类型) OWNER TO 新属主命令: ALTER CONVERSION描述: 改变一个转换的定义语法:ALTER CONVERSION 名字RENAME TO 新名字ALTER CONVERSION 名字OWNER TO 新属主命令: ALTER DATABASE描述: 改变一个数据库语法:ALTER DATABASE 名字SET 参数{ TO | = } { 值| DEFAULT } ALTER DATABASE 名字RESET 参数ALTER DATABASE 名字RENAME TO 新名字ALTER DATABASE 名字OWNER TO 新属主命令: ALTER DOMAIN描述: 改变一个域的定义语法:ALTER DOMAIN 名字{ SET DEFAULT 说明| DROP DEFAULT }ALTER DOMAIN 名字{ SET | DROP } NOT NULLALTER DOMAIN 名字ADD 域约束ALTER DOMAIN 名字DROP CONSTRAINT 约束名字[ RESTRICT | CASCADE ] ALTER DOMAIN 名字OWNER TO 新宿主命令: ALTER DOMAIN描述: 改变一个域的定义语法:ALTER DOMAIN 名字{ SET DEFAULT 说明| DROP DEFAULT }ALTER DOMAIN 名字{ SET | DROP } NOT NULLALTER DOMAIN 名字ADD 域约束ALTER DOMAIN 名字DROP CONSTRAINT 约束名字[ RESTRICT | CASCADE ] ALTER DOMAIN 名字OWNER TO 新宿主命令: ALTER FUNCTION描述: 改变一个函数的定义语法:ALTER FUNCTION 名字( [ 类型[, ...] ] ) RENAME TO 新名字ALTER FUNCTION 名字( [ 类型[, ...] ] ) OWNER TO 新属主命令: ALTER GROUP描述: 改变一个用户组语法:ALTER GROUP 组名称ADD USER 用户名称[, ... ]ALTER GROUP 组名称DROP USER 用户名称[, ... ] ALTER GROUP 组名称RENAME TO 新名称命令: ALTER INDEX描述: 改变一个索引的定义语法:ALTER INDEX 索引名称动作[, ... ]ALTER INDEX 索引旧名称RENAME TO 索引新名称动作为以下之一:OWNER TO 新属主SET TABLESPACE indexspace_name命令: ALTER LANGUAGE描述: 改变一个过程语言的定义语法:ALTER LANGUAGE 名字RENAME TO 新名字命令: ALTER OPERATOR CLASS描述: 改变一个操作符表的定义语法:ALTER OPERATOR CLASS 名字USING 索引方法RENAME TO 新名字ALTER OPERATOR CLASS 名字USING 索引方法OWNER TO 新属主命令: ALTER OPERATOR CLASS描述: 改变一个操作符表的定义语法:ALTER OPERATOR CLASS 名字USING 索引方法RENAME TO 新名字ALTER OPERATOR CLASS 名字USING 索引方法OWNER TO 新属主命令: ALTER OPERATOR描述: 改变一个操作符的定义语法:ALTER OPERATOR 名字( { 左边类型| NONE } , { 右边类型| NONE } ) OWNER TO 新属主命令: ALTER SCHEMA描述: 改变一个模式的定义语法:ALTER SCHEMA 名字RENAME TO 新名字ALTER SCHEMA 名字OWNER TO 新属主命令: ALTER SEQUENCE描述: 改变一个序列生成器的定义语法:ALTER SEQUENCE 名字[ INCREMENT [ BY ] 递增][ MINVALUE 最小值| NO MINVALUE ] [ MAXVALUE 最大值| NO MAXVALUE ] [ RESTART [ WITH ] 开始] [ CACHE 缓存] [ [ NO ] CYCLE ]命令: ALTER TABLE描述: 改变一个表的定义语法:ALTER TABLE [ ONLY ] 表名[ * ]action [, ... ]ALTER TABLE [ ONLY ] 表名[ * ]RENAME [ COLUMN ] 字段名TO 新字段名ALTER TABLE 表名RENAME TO 新表名action 为下面的一种:ADD [ COLUMN ] 字段名类型[ 字段约束[ ... ] ]DROP [ COLUMN ] 字段名[ RESTRICT | CASCADE ]ALTER [ COLUMN ] 字段名TYPE 类型[ USING 表达式]ALTER [ COLUMN ] 字段名SET DEFAULT 表达式ALTER [ COLUMN ] 字段名DROP DEFAULTALTER [ COLUMN ] 字段名{ SET | DROP } NOT NULLALTER [ COLUMN ] 字段名SET STATISTICS integerALTER [ COLUMN ] 字段名SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN }ADD 表约束DROP CONSTRAINT 约束名字[ RESTRICT | CASCADE ]CLUSTER ON 索引名称SET WITHOUT CLUSTERSET WITHOUT OIDSOWNER TO 新属主SET TABLESPACE 表空间名字命令: ALTER TABLESPACE描述: 改变一个表空间的定义语法:ALTER TABLESPACE 名字RENAME TO 新名字ALTER TABLESPACE 名字OWNER TO 新属主命令: ALTER TABLESPACE描述: 改变一个表空间的定义语法:ALTER TABLESPACE 名字RENAME TO 新名字ALTER TABLESPACE 名字OWNER TO 新属主命令: ALTER TRIGGER描述: 改变一个触发器的定义语法:ALTER TRIGGER 名字ON 表RENAME TO 新名字命令: ALTER TYPE描述: 改变一个类型的定义语法:ALTER TYPE 名字OWNER TO 新属主命令: ALTER USER描述: 改变一个数据库用户语法:ALTER USER name [ [ WITH ] option [ ... ] ]where option can be:CREATEDB | NOCREATEDB| CREATEUSER | NOCREATEUSER| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password'| VALID UNTIL 'abstime'ALTER USER name RENAME TO newnameALTER USER name SET parameter { TO | = } { value | DEFAULT }ALTER USER name RESET parameter命令: ANALYZE描述: 收集关于数据库的统计数字语法:ANALYZE [ VERBOSE ] [ 表[ (字段[, ...] ) ] ]命令: BEGIN描述: 开始一个事务块语法:BEGIN [ WORK | TRANSACTION ] [ 事物模式[, ...] ]事物模式为下面之一:ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }READ WRITE | READ ONLY命令: CHECKPOINT描述: 强行交易日志检查语法:CHECKPOINT命令: CLOSE描述: 关闭一个游标语法:CLOSE 名字命令: CLUSTER描述: 根据一个索引建表簇语法:CLUSTER 索引名字ON 表名CLUSTER 表名CLUSTER命令: COMMENT描述: 定义或改变一个对象的评注语法:COMMENT ON{TABLE object_name |COLUMN table_name.column_name | AGGREGATE agg_name (agg_type) |CAST (sourcetype AS targettype) | CONSTRAINT constraint_name ON table_name | CONVERSION object_name |DATABASE object_name |DOMAIN object_name |FUNCTION func_name (arg1_type, arg2_type, ...) | INDEX object_name |LARGE OBJECT large_object_oid |OPERATOR op (leftoperand_type, rightoperand_type) OPERATOR CLASS object_name USING index_method | [ PROCEDURAL ] LANGUAGE object_name |RULE rule_name ON table_name |SCHEMA object_name |SEQUENCE object_name |TRIGGER trigger_name ON table_name |TYPE object_name |VIEW object_name} IS 'text'命令: COMMIT描述: 提交当前事务语法:COMMIT [ WORK | TRANSACTION ]命令: COPY描述: 在一个文件和一个表之间拷贝数据语法:COPY 表名[ ( 字段[, ...] ) ]FROM { '文件名' | STDIN }[ [ WITH ][ BINARY ][ OIDS ][ DELIMITER [ AS ] 'delimiter' ][ NULL [ AS ] 'null string' ][ CSV [ QUOTE [ AS ] 'quote' ] [ ESCAPE [ AS ] 'escape' ][ FORCE NOT NULL column [, ...] ]COPY 表名[ ( 字段[, ...] ) ]TO { '文件名' | STDOUT }[ [ WITH ][ BINARY ][ OIDS ][ DELIMITER [ AS ] 'delimiter' ] [ NULL [ AS ] 'null string' ][ CSV [ QUOTE [ AS ] 'quote' ] [ ESCAPE [ AS ] 'escape' ][ FORCE QUOTE column [, ...] ]命令: CREATE AGGREGATE描述: 定义一个新的聚集函数语法:CREATE AGGREGATE name ( BASETYPE = input_data_type, SFUNC = sfunc,STYPE = state_data_type[ , FINALFUNC = ffunc ][ , INITCOND = initial_condition ] )命令: CREATE CAST描述: 定义一个新的类型转换语法:CREATE CAST (源类型AS 目标类型)WITH FUNCTION 函数名(参数类型)[ AS ASSIGNMENT | AS IMPLICIT ]CREATE CAST (源类型AS 目标类型)WITHOUT FUNCTION[ AS ASSIGNMENT | AS IMPLICIT ]命令: CREATE CONSTRAINT TRIGGER描述: 定义一个新的约束触发器语法:CREATE CONSTRAINT TRIGGER nameAFTER events ONtablename constraint attributesFOR EACH ROW EXECUTE PROCEDURE funcname ( args )命令: CREATE CONVERSION描述: define a new encoding conversion语法:CREATE [DEFAULT] CONVERSION 名字FOR 源编码TO 目标编码FROM 函数名命令: CREATE DATABASE描述: 创建一个新的数据库语法:CREATE DATABASE 数据库名称[ [ WITH ] [ OWNER [=] 数据库属主][ TEMPLATE [=] 模板][ ENCODING [=] 编码][ TABLESPACE [=] 表空间] ]命令: CREATE DOMAIN描述: 定义一个新的域语法:CREATE DOMAIN name [AS] data_type[ DEFAULT expression ][ constraint [ ... ] ]constraint 是:[ CONSTRAINT constraint_name ]{ NOT NULL | NULL | CHECK (expression) }命令: CREATE FUNCTION描述: 定义一个新的函数语法:CREATE [ OR REPLACE ] FUNCTION 名字( [ [ 参数名字] 参数类型[, ...] ] ) RETURNS 返回类型{ LANGUAGE 语言名称| IMMUTABLE | STABLE | VOLATILE| CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER | AS 'definition'| AS 'obj_file', 'link_symbol'} ...[ WITH ( attribute [, ...] ) ]命令: CREATE GROUP描述: 定义一个新的用户组语法:CREATE GROUP 组名[ [ WITH ] option [ ... ] ]option 可以为:SYSID gid| USER username [, ...]命令: CREATE INDEX描述: 定义一个新的索引语法:CREATE [ UNIQUE ] INDEX 索引名称ON 表名[ USING method ]( { column | ( expression ) } [ opclass ] [, ...] )[ TABLESPACE tablespace ][ WHERE predicate ]命令: CREATE LANGUAGE描述: 定义一个新的过程语言语法:CREATE [ TRUSTED ] [ PROCEDURAL ] LANGUAGE nameHANDLER call_handler [ VALIDATOR valfunction ]命令: CREATE OPERATOR CLASS描述: 定义一个新的操作符类语法:CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ RECHECK ] | FUNCTION support_number funcname ( argument_type [, ...] )| STORAGE storage_type} [, ... ]命令: CREATE OPERATOR CLASS描述: 定义一个新的操作符类语法:CREATE OPERATOR CLASS name [ DEFAULT ] FOR TYPE data_type USING index_method AS{ OPERATOR strategy_number operator_name [ ( op_type, op_type ) ] [ RECHECK ] | FUNCTION support_number funcname ( argument_type [, ...] )| STORAGE storage_type} [, ... ]命令: CREATE OPERATOR描述: 定义一个新的操作符语法:CREATE OPERATOR name (PROCEDURE = funcname[, LEFTARG = lefttype ] [, RIGHTARG = righttype ][, COMMUTATOR = com_op ] [, NEGATOR = neg_op ][, RESTRICT = res_proc ] [, JOIN = join_proc ][, HASHES ] [, MERGES ][, SORT1 = left_sort_op ] [, SORT2 = right_sort_op ][, LTCMP = less_than_op ] [, GTCMP = greater_than_op ])命令: CREATE RULE描述: 定义一个新的重写规则语法:CREATE [ OR REPLACE ] RULE 名字AS ON 事件TO 表[ WHERE 条件]DO [ ALSO | INSTEAD ] { NOTHING | 命令| ( 命令; 命令 ... ) }命令: CREATE RULE描述: 定义一个新的重写规则语法:CREATE [ OR REPLACE ] RULE 名字AS ON 事件TO 表[ WHERE 条件]DO [ ALSO | INSTEAD ] { NOTHING | 命令| ( 命令; 命令 ... ) }test=# /h CREATE SCHEMA命令: CREATE SCHEMA描述: 定义一个新的模式语法:CREATE SCHEMA 模式名称[ AUTHORIZATION 用户名称] [ 模式元素[ ... ] ]CREATE SCHEMA AUTHORIZATION 用户名称[ 模式元素[ ... ] ]命令: CREATE SEQUENCE描述: 定义一个新的序列生成器语法:CREATE [ TEMPORARY | TEMP ] SEQUENCE name [ INCREMENT [ BY ] increment ][ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ][ START [ WITH ] start ] [ CACHE cache ] [ [ NO ] CYCLE ]命令: CREATE TABLE描述: 定义一个新的表语法:CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name ({ column_name data_type [ DEFAULT default_expr ] [ column_constraint [ ... ] ]| table_constraint| LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] } [, ... ])[ INHERITS ( parent_table [, ... ] ) ][ WITH OIDS | WITHOUT OIDS ][ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ][ TABLESPACE tablespace ]where column_constraint is:[ CONSTRAINT constraint_name ]{ NOT NULL |NULL |UNIQUE [ USING INDEX TABLESPACE tablespace ] |PRIMARY KEY [ USING INDEX TABLESPACE tablespace ] |CHECK (expression) |REFERENCES reftable [ ( refcolumn ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ][ ON DELETE action ] [ ON UPDATE action ] }[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]and table_constraint is:[ CONSTRAINT constraint_name ]{ UNIQUE ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] |PRIMARY KEY ( column_name [, ... ] ) [ USING INDEX TABLESPACE tablespace ] | CHECK ( expression ) |FOREIGN KEY ( column_name [, ... ] ) REFERENCES reftable [ ( refcolumn [, ... ] ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE action ] [ ON UPDATE action ] }[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]命令: CREATE TABLE AS描述: 以一个查询的结果定义一个新的表语法:CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } ] TABLE 表名字[ (字段名字[, ...] ) ] [ [ WITH | WITHOUT ] OIDS ]AS query命令: CREATE TABLESPACE描述: 定义一个新的表空间语法:CREATE TABLESPACE 表空间名称[ OWNER 用户名称] LOCATION '目录'命令: CREATE TRIGGER描述: 定义一个新的触发器语法:CREATE TRIGGER 名字{ BEFORE | AFTER } { 事件[ OR ... ] }ON 表[ FOR [ EACH ] { ROW | STATEMENT } ]EXECUTE PROCEDURE 函数名( 参数)命令: CREATE TYPE描述: 定义一个新的数据类型语法:CREATE TYPE name AS( attribute_name data_type [, ... ] )CREATE TYPE name (INPUT = input_function,OUTPUT = output_function[ , RECEIVE = receive_function ][ , SEND = send_function ][ , ANALYZE = analyze_function ][ , INTERNALLENGTH = { internallength | VARIABLE } ] [ , PASSEDBYVALUE ][ , ALIGNMENT = alignment ][ , STORAGE = storage ][ , DEFAULT = default ][ , ELEMENT = element ][ , DELIMITER = delimiter ])命令: CREATE USER描述: 定义一个新的数据库用户帐户语法:CREATE USER name [ [ WITH ] option [ ... ] ]where option can be:SYSID uid| CREATEDB | NOCREATEDB| CREATEUSER | NOCREATEUSER| IN GROUP groupname [, ...]| [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password' | VALID UNTIL 'abstime'命令: CREATE VIEW描述: 定义一个新的视图语法:CREATE [ OR REPLACE ] VIEW 名字[ ( 字段名[, ...] ) ] AS query命令: DEALLOCATE描述: 解除一个准备好的语句语法:DEALLOCATE [ PREPARE ] 规划名称命令: DECLARE描述: 定义一个游标语法:DECLARE name [ BINARY ] [ INSENSITIVE ] [ [ NO ] SCROLL ] CURSOR [ { WITH | WITHOUT } HOLD ] FOR query[ FOR { READ ONLY | UPDATE [ OF column [, ...] ] } ]命令: DELETE描述: 删除一个表的记录语法:DELETE FROM [ ONLY ] 表[ WHERE 条件]命令: DROP AGGREGATE描述: 删除一个聚集函数语法:DROP AGGREGATE 名字( 类型) [ CASCADE | RESTRICT ]命令: DROP CAST描述: 删除一个类型转换语法:DROP CAST (源类型AS 目标类型) [ CASCADE | RESTRICT ]命令: DROP CONVERSION描述: 删除一个转换语法:DROP CONVERSION 名字[ CASCADE | RESTRICT ]命令: DROP DATABASE描述: 删除一个数据库语法:DROP DATABASE 名字命令: DROP DOMAIN描述: 删除一个域语法:DROP DOMAIN 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP FUNCTION描述: 删除一个函数语法:DROP FUNCTION 名字( [ 类型[, ...] ] ) [ CASCADE | RESTRICT ]命令: DROP GROUP描述: 删除一个用户组语法:DROP GROUP 名字命令: DROP INDEX描述: 删除一个索引语法:DROP INDEX 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP LANGUAGE描述: 删除一个过程语言语法:DROP [ PROCEDURAL ] LANGUAGE 名字[ CASCADE | RESTRICT命令: DROP OPERATOR CLASS描述: 删除一个操作符类语法:DROP OPERATOR CLASS name USING index_method [ CASCADE | RESTRICT ]描述: 删除一个操作符语法:DROP OPERATOR 名字( { 左边类型| NONE } , { 右边类型| NONE } ) [ CASCADE | RESTRICT ]命令: DROP RULE描述: 删除一个重写规则语法:DROP RULE 名字ON 关系[ CASCADE | RESTRICT ]命令: DROP SCHEMA描述: 删除一个模式语法:DROP SCHEMA 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP SEQUENCE描述: 删除一个序列语法:DROP SEQUENCE 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP TABLE描述: 删除一个表语法:DROP TABLE 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP TABLESPACE描述: 删除一个表空间语法:DROP TABLESPACE 表空间名字命令: DROP TRIGGER描述: 删除一个触发器语法:DROP TRIGGER 名字ON 表[ CASCADE | RESTRICT ]命令: DROP TYPE描述: 删除一个数据类型语法:DROP TYPE 名字[, ...] [ CASCADE | RESTRICT ]命令: DROP USER描述: 删除一个数据库用户帐户语法:DROP USER 名字命令: DROP VIEW描述: 删除一个视图语法:DROP VIEW 名字[, ...] [ CASCADE | RESTRICT ]命令: END描述: 提交当前事务语法:END [ WORK | TRANSACTION ]命令: EXECUTE描述: 执行一个准备好的语句语法:EXECUTE 规划名称[ (参数[, ...] ) ]命令: EXPLAIN描述: 显示语句的执行规划语法:EXPLAIN [ ANALYZE ] [ VERBOSE ] 语句命令: FETCH描述: 恢复来自一个使用游标查询的行语法:FETCH [ direction { FROM | IN } ] cursorname direction 可以为空或下面的一种:NEXTPRIORFIRSTLASTABSOLUTE countRELATIVE countcountALLFORWARDFORWARD countFORWARD ALLBACKWARDBACKWARD countBACKWARD ALL命令: GRANT描述: 定义访问权限语法:GRANT { { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER[,...] | ALL [ PRIVILEGES ] }ON [ TABLE ] 表名称[, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]GRANT { { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }ON DATABASE 数据库名称[, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]GRANT { EXECUTE | ALL [ PRIVILEGES ] }ON FUNCTION 函数名称([类型, ...]) [, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]GRANT { USAGE | ALL [ PRIVILEGES ] }ON LANGUAGE 语言名称[, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]GRANT { { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }ON SCHEMA 模式名称[, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]GRANT { CREATE | ALL [ PRIVILEGES ] }ON TABLESPACE 表空间名称[, ...]TO { 用户名称| GROUP 组名称| PUBLIC } [, ...] [ WITH GRANT OPTION ]命令: INSERT描述: 在一个表中创建新行语法:INSERT INTO 表名[ ( 字段[, ...] ) ]{ DEFAULT VALUES | VALUES ( { 表达式| DEFAULT } [, ...] ) | 子查询}命令: LISTEN描述: 监听一个通知语法:LISTEN 名字命令: LOAD描述: 提取或重载一个共享库文件语法:LOAD '文件名'命令: LOCK描述: 锁定一个表语法:LOCK [ TABLE ] 名字[, ...] [ IN lockmode MODE ] [ NOWAIT ]lockmode 可以是下面的一种:ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE| SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE命令: MOVE描述: 定位一个游标语法:MOVE [ direction { FROM | IN } ] cursorname命令: NOTIFY描述: 生成一个通知语法:NOTIFY 名字命令: PREPARE描述: 为执行准备一条语句语法:PREPARE 规划名称[ (数据类型[, ...] ) ] AS 语句命令: REINDEX描述: 重建索引语法:REINDEX { DATABASE | TABLE | INDEX } 名字[ FORCE ]命令: RELEASE SAVEPOINT描述: 删除一个以前定义的savepoint语法:RELEASE [ SAVEPOINT ] savepoint_name命令: RESET描述: 恢复运行时参数值为默认值语法:RESET 名字RESET ALL命令: REVOKE描述: 删除访问权限语法:REVOKE [ GRANT OPTION FOR ]{ { SELECT | INSERT | UPDATE | DELETE | RULE | REFERENCES | TRIGGER } [,...] | ALL [ PRIVILEGES ] }ON [ TABLE ] 表名称[, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]REVOKE [ GRANT OPTION FOR ]{ { CREATE | TEMPORARY | TEMP } [,...] | ALL [ PRIVILEGES ] }ON DATABASE 数据库名称[, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]REVOKE [ GRANT OPTION FOR ]{ EXECUTE | ALL [ PRIVILEGES ] }ON FUNCTION 函数名称([类型, ...]) [, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]REVOKE [ GRANT OPTION FOR ]{ USAGE | ALL [ PRIVILEGES ] }ON LANGUAGE 语言名称[, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]REVOKE [ GRANT OPTION FOR ]{ { CREATE | USAGE } [,...] | ALL [ PRIVILEGES ] }ON SCHEMA 模式名称[, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]REVOKE [ GRANT OPTION FOR ]{ CREATE | ALL [ PRIVILEGES ] }ON TABLESPACE 表空间名称[, ...]FROM { 用户名称| GROUP 组名称| PUBLIC } [, ...][ CASCADE | RESTRICT ]命令: ROLLBACK描述: 终止当前事务语法:ROLLBACK [ WORK | TRANSACTION ]命令: ROLLBACK TO SAVEPOINT描述: 回滚到一个savepoint语法:ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] savepoint_name命令: SAVEPOINT描述: 在当前事物中定义一个新的savepoint语法:SAVEPOINT savepoint_name命令: SELECT描述: 恢复一个表或视图的行语法:SELECT [ ALL | DISTINCT [ ON ( 表达式[, ...] ) ] ]* | 表达式[ AS output_name ] [, ...][ FROM from_item [, ...] ][ WHERE 条件][ GROUP BY 表达式[, ...] ][ HAVING 条件[, ...] ][ { UNION | INTERSECT | EXCEPT } [ ALL ] select ][ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ][ LIMIT { count | ALL } ][ OFFSET start ][ FOR UPDATE [ OF 表名[, ...] ] ]from_item 可以是下面的一种:[ ONLY ] table_name [ * ] [ [ AS ] alias [ ( column_alias [, ...] ) ] ]( select ) [ AS ] alias [ ( column_alias [, ...] ) ]function_name ( [ argument [, ...] ] ) [ AS ] alias [ ( column_alias [, ...] | column_definition [, ...] ) ]function_name ( [ argument [, ...] ] ) AS ( column_definition [, ...] )from_item [ NATURAL ] join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]命令: SELECT INTO描述: 以一个查询的结果定义一个新的表语法:SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]* | expression [ AS output_name ] [, ...]INTO [ TEMPORARY | TEMP ] [ TABLE ] new_table[ FROM from_item [, ...] ][ WHERE condition ][ GROUP BY expression [, ...] ][ HAVING condition [, ...] ][ { UNION | INTERSECT | EXCEPT } [ ALL ] select ][ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ][ LIMIT { count | ALL } ][ OFFSET start ][ FOR UPDATE [ OF tablename [, ...] ] ]命令: SET描述: 改变一个运行时参数语法:SET [ SESSION | LOCAL ] 名字{ TO | = } { 值| '值' | DEFAULT }SET [ SESSION | LOCAL ] TIME ZONE { timezone | LOCAL | DEFAULT }命令: SET CONSTRAINTS描述: 设置当前交易的约束检查模式语法:SET CONSTRAINTS { ALL | 名字[, ...] } { DEFERRED | IMMEDIATE }命令: SET SESSION AUTHORIZATION描述: 设置当前会话的会话用户确认和当前用户确认语法:SET [ SESSION | LOCAL ] SESSION AUTHORIZATION 用户名称SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULTRESET SESSION AUTHORIZATION命令: SET TRANSACTION描述: 设置当前交易的属性语法:SET TRANSACTION 事物模式[, ...]SET SESSION CHARACTERISTICS AS TRANSACTION 事物模式[, ...]事物模式为下面之一:ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }READ WRITE | READ ONLY命令: SHOW描述: 显示运行时参数值语法:SHOW 名字SHOW ALL命令: START TRANSACTION描述: 开始一个事务块语法:START TRANSACTION [ 事物模式[, ...] ]事物模式为下面之一:ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }READ WRITE | READ ONLY命令: TRUNCATE描述: 清空一个表语法:TRUNCATE [ TABLE ] 名字命令: UNLISTEN描述: 停止监听通知语法:UNLISTEN { 名字| * }命令: UPDATE描述: 更新一个表的记录语法:UPDATE [ ONLY ] 表名SET 字段= { 表达式| DEFAULT } [, ...][ FROM fromlist ][ WHERE 条件]命令: VACUUM描述: 垃圾回收和可选择分析一个数据库语法:VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ 表]VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] ANALYZE [ 表[ (列[, ...] ) ] ]。