|
|
|
|
@ -5,7 +5,7 @@ |
|
|
|
|
* |
|
|
|
|
* Copyright (c) 1994, Regents of the University of California |
|
|
|
|
* |
|
|
|
|
* $Id: psqlHelp.h,v 1.47 1998/07/24 03:32:12 scrappy Exp $ |
|
|
|
|
* $Id: psqlHelp.h,v 1.48 1998/07/25 00:17:29 momjian Exp $ |
|
|
|
|
* |
|
|
|
|
*------------------------------------------------------------------------- |
|
|
|
|
*/ |
|
|
|
|
@ -26,42 +26,33 @@ static struct _helpStruct QL_HELP[] = { |
|
|
|
|
"abort [transaction];"}, |
|
|
|
|
{"alter table", |
|
|
|
|
"add/rename attributes, rename tables", |
|
|
|
|
"\talter table <class_name> [*] add column <attr> <type>\n\
|
|
|
|
|
\talter table <class_name> [*] rename [column] <attr1> to <attr2>\n\
|
|
|
|
|
\talter table <class_name1> rename to <class_name2>"}, |
|
|
|
|
"\tALTER TABLE class_name [*] ADD COLUMN attr type\n\
|
|
|
|
|
\tALTER TABLE class_name [*] RENAME [COLUMN] attr1 TO attr2\n\
|
|
|
|
|
\tALTER TABLE class_name1 RENAME TO class_name2"}, |
|
|
|
|
{"alter user", |
|
|
|
|
"alter system information for a user", |
|
|
|
|
"alter user <user_name>\n\
|
|
|
|
|
\t[with password <password>]\n\
|
|
|
|
|
\t[createdb | noccreatedb]\n\
|
|
|
|
|
\t[createuser | nocreateuser]\n\
|
|
|
|
|
\t[in group <group_1>, ..., <group_n>]\n\
|
|
|
|
|
\t[valid until '<abstime>'];"}, |
|
|
|
|
{"begin", |
|
|
|
|
"begin a new transaction", |
|
|
|
|
"begin [transaction|work];"}, |
|
|
|
|
{"begin transaction", |
|
|
|
|
"begin a new transaction", |
|
|
|
|
"begin [transaction|work];"}, |
|
|
|
|
"ALTER USER user_name\n\
|
|
|
|
|
\t[WITH PASSWORD password]\n\
|
|
|
|
|
\t[CREATEDB | NOCCREATEDB]\n\
|
|
|
|
|
\t[CREATEUSER | NOCREATEUSER]\n\
|
|
|
|
|
\t[IN GROUP group_1, ...groupN]\n\
|
|
|
|
|
\t[VALID UNTIL 'abstime'];"}, |
|
|
|
|
{"begin work", |
|
|
|
|
"begin a new transaction", |
|
|
|
|
"begin [transaction|work];"}, |
|
|
|
|
"BEGIN [TRANSACTION|WORK];"}, |
|
|
|
|
{"cluster", |
|
|
|
|
"create a clustered index (from an existing index)", |
|
|
|
|
"cluster <index_name> on <relation_name>"}, |
|
|
|
|
"CLUSTER index_name ON relation_name"}, |
|
|
|
|
{"close", |
|
|
|
|
"close an existing cursor (cursor)", |
|
|
|
|
"close <cursorname>;"}, |
|
|
|
|
{"commit", |
|
|
|
|
"commit a transaction", |
|
|
|
|
"commit [work]"}, |
|
|
|
|
"CLOSE cursorname;"}, |
|
|
|
|
{"commit work", |
|
|
|
|
"commit a transaction", |
|
|
|
|
"commit [work]"}, |
|
|
|
|
"COMMIT [TRANSACTION|WORK]"}, |
|
|
|
|
{"copy", |
|
|
|
|
"copy data to and from a table", |
|
|
|
|
"copy [binary] <class_name> [with oids]\n\
|
|
|
|
|
\t{to|from} {<filename>|stdin|stdout} [using delimiters <delim>];"}, |
|
|
|
|
"COPY [BINARY] class_name [WITH OIDS]\n\
|
|
|
|
|
\tTO|FROM filename|STDIN|STDOUT [USING DELIMITERS 'delim'];"}, |
|
|
|
|
{"create", |
|
|
|
|
"Please be more specific:", |
|
|
|
|
"\tcreate aggregate\n\
|
|
|
|
|
@ -77,98 +68,98 @@ static struct _helpStruct QL_HELP[] = { |
|
|
|
|
\tcreate view"}, |
|
|
|
|
{"create aggregate", |
|
|
|
|
"define an aggregate function", |
|
|
|
|
"create aggregate <agg_name> [as] (basetype = <data_type>, \n\
|
|
|
|
|
\t[sfunc1 = <sfunc_1>, stype1 = <sfunc1_return_type>]\n\
|
|
|
|
|
\t[sfunc2 = <sfunc_2>, stype2 = <sfunc2_return_type>]\n\
|
|
|
|
|
\t[,finalfunc = <final-function>]\n\
|
|
|
|
|
\t[,initcond1 = <initial-cond1>][,initcond2 = <initial-cond2>]);"}, |
|
|
|
|
"CREATE AGGREGATE agg_name [AS] (BASETYPE = data_type, \n\
|
|
|
|
|
\t[SFUNC1 = sfunc_1, STYPE1 = sfunc1_return_type]\n\
|
|
|
|
|
\t[SFUNC2 = sfunc_2, STYPE2 = sfunc2_return_type]\n\
|
|
|
|
|
\t[,FINALFUNC = final-function]\n\
|
|
|
|
|
\t[,INITCOND1 = initial-cond1][,INITCOND2 = initial-cond2]);"}, |
|
|
|
|
{"create database", |
|
|
|
|
"create a database", |
|
|
|
|
"create database <dbname> [with location = '<dbpath>']"}, |
|
|
|
|
"CREATE DATABASE dbname [WITH LOCATION = 'dbpath']"}, |
|
|
|
|
{"create function", |
|
|
|
|
"create a user-defined function", |
|
|
|
|
"create function <function_name> ([<type1>,...<typeN>]) returns <return_type>\n\
|
|
|
|
|
\tas '<object_filename>'|'<sql-queries>'\n\
|
|
|
|
|
\tlanguage 'c'|'sql'|'internal';"}, |
|
|
|
|
"CREATE FUNCTION function_name ([type1, ...typeN]) RETURNS return_type\n\
|
|
|
|
|
\tAS 'object_filename'|'sql-queries'\n\
|
|
|
|
|
\tLANGUAGE 'c'|'sql'|'internal';"}, |
|
|
|
|
{"create index", |
|
|
|
|
"construct an index", |
|
|
|
|
"create [unique] index <indexname> on <class_name> [using <access_method>]\n\
|
|
|
|
|
( <attr1> [<type_class1>] [,...] | <funcname>(<attr1>,...) [<type_class>] );"}, |
|
|
|
|
"CREATE [UNIQUE] INDEX indexname ON class_name [USING access_method]\n\
|
|
|
|
|
( attr1 [type_class1], ...attrN | funcname(attr1, ...) [type_class] );"}, |
|
|
|
|
{"create operator", |
|
|
|
|
"create a user-defined operator", |
|
|
|
|
"create operator <operator_name> (\n\
|
|
|
|
|
\t[leftarg = <type1>][,rightarg = <type2>]\n\
|
|
|
|
|
\t,procedure = <func_name>,\n\
|
|
|
|
|
\t[,commutator = <com_op>][,negator = <neg_op>]\n\
|
|
|
|
|
\t[,restrict = <res_proc>][,hashes]\n\
|
|
|
|
|
\t[,join = <join_proc>][,sort = <sort_op1>...<sort_opN>]);"}, |
|
|
|
|
"CREATE OPERATOR operator_name (\n\
|
|
|
|
|
\t[LEFTARG = type1][,RIGHTARG = type2]\n\
|
|
|
|
|
\t,PROCEDURE = func_name,\n\
|
|
|
|
|
\t[,COMMUTATOR = com_op][,NEGATOR = neg_op]\n\
|
|
|
|
|
\t[,RESTRICT = res_proc][,HASHES]\n\
|
|
|
|
|
\t[,JOIN = join_proc][,SORT = sort_op1...sort_opN]);"}, |
|
|
|
|
{"create rule", |
|
|
|
|
"define a new rule", |
|
|
|
|
"create rule <rule_name> as on\n\
|
|
|
|
|
\t[select|update|delete|insert]\n\
|
|
|
|
|
\tto <object> [where <qual>]\n\
|
|
|
|
|
\tdo [instead] [<action>|nothing| [<actions>]];"}, |
|
|
|
|
"CREATE RULE rule_name AS ON\n\
|
|
|
|
|
\t[SELECT|UPDATE|DELETE|INSERT]\n\
|
|
|
|
|
\tTO object [WHERE qual]\n\
|
|
|
|
|
\tDO [INSTEAD] [action|NOTHING|[actions]];"}, |
|
|
|
|
{"create sequence", |
|
|
|
|
"create a new sequence number generator", |
|
|
|
|
"create sequence <sequence_name>\n\
|
|
|
|
|
\t[increment <NUMBER>]\n\
|
|
|
|
|
\t[start <NUMBER>]\n\
|
|
|
|
|
\t[minvalue <NUMBER>]\n\
|
|
|
|
|
\t[maxvalue <NUMBER>]\n\
|
|
|
|
|
\t[cache <NUMBER>]\n\
|
|
|
|
|
\t[cycle];"}, |
|
|
|
|
"CREATE SEQUENCE sequence_name\n\
|
|
|
|
|
\t[INCREMENT number]\n\
|
|
|
|
|
\t[START number]\n\
|
|
|
|
|
\t[MINVALUE number]\n\
|
|
|
|
|
\t[MAXVALUE number]\n\
|
|
|
|
|
\t[CACHE number]\n\
|
|
|
|
|
\t[CYCLE];"}, |
|
|
|
|
{"create table", |
|
|
|
|
"create a new table", |
|
|
|
|
"create table <class_name>\n\
|
|
|
|
|
\t(<attr1> <type1> [default <expression>] [not null] [,...])\n\
|
|
|
|
|
\t[inherits (<class_name1>,...<class_nameN>)\n\
|
|
|
|
|
\t[[constraint <name>] check <condition> [,...] ]\n\
|
|
|
|
|
"CREATE TABLE class_name\n\
|
|
|
|
|
\t(attr1 type1 [DEFAULT expression] [NOT NULL], ...attrN)\n\
|
|
|
|
|
\t[INHERITS (class_name1, ...class_nameN)\n\
|
|
|
|
|
\t[[CONSTRAINT name] CHECK condition1, ...conditionN] ]\n\
|
|
|
|
|
;"}, |
|
|
|
|
{"create trigger", |
|
|
|
|
"create a new trigger", |
|
|
|
|
"create trigger <trigger_name> after|before event1 [or event2 [or event3] ]\n\
|
|
|
|
|
\ton <class_name> for each row|statement\n\
|
|
|
|
|
\texecute procedure <func_name> ([arguments])\n\
|
|
|
|
|
"CREATE TRIGGER trigger_name AFTER|BEFORE event1 [OR event2 [OR event3] ]\n\
|
|
|
|
|
\tON class_name FOR EACH ROW|STATEMENT\n\
|
|
|
|
|
\tEXECUTE PROCEDURE func_name ([arguments])\n\
|
|
|
|
|
\n\
|
|
|
|
|
\teventX is one of INSERT, DELETE, UPDATE"}, |
|
|
|
|
{"create type", |
|
|
|
|
"create a new user-defined base data type", |
|
|
|
|
"create type <typename> (\n\
|
|
|
|
|
\tinternallength = (<number> | variable),\n\
|
|
|
|
|
\t[externallength = (<number>|variable),]\n\
|
|
|
|
|
\tinput=<input_function>, output = <output_function>\n\
|
|
|
|
|
\t[,element = <typename>][,delimiter=<character>][,default=\'<string>\']\n\
|
|
|
|
|
\t[,send = <send_function>][,receive = <receive_function>][,passedbyvalue]);"}, |
|
|
|
|
"CREATE TYPE typename (\n\
|
|
|
|
|
\tINTERNALLENGTH = (number|VARIABLE),\n\
|
|
|
|
|
\t[EXTERNALLENGTH = (number|VARIABLE),]\n\
|
|
|
|
|
\tINPUT = input_function, OUTPUT = output_function\n\
|
|
|
|
|
\t[,ELEMENT = typename][,DELIMITER = character][,DEFAULT=\'<string>\']\n\
|
|
|
|
|
\t[,SEND = send_function][,RECEIVE = receive_function][,PASSEDBYVALUE]);"}, |
|
|
|
|
{"create user", |
|
|
|
|
"create a new user", |
|
|
|
|
"create user <user_name>\n\
|
|
|
|
|
\t[with password <password>]\n\
|
|
|
|
|
\t[createdb | nocreatedb]\n\
|
|
|
|
|
\t[createuser | nocreateuser]\n\
|
|
|
|
|
\t[in group <group_1>, ..., <group_n>]\n\
|
|
|
|
|
\t[valid until '<abstime>'];"}, |
|
|
|
|
"CREATE USER user_name\n\
|
|
|
|
|
\t[WITH PASSWORD password]\n\
|
|
|
|
|
\t[CREATEDB | NOCREATEDB]\n\
|
|
|
|
|
\t[CREATEUSER | NOCREATEUSER]\n\
|
|
|
|
|
\t[IN GROUP group1, ...groupN]\n\
|
|
|
|
|
\t[VALID UNTIL 'abstime'];"}, |
|
|
|
|
{"create view", |
|
|
|
|
"create a view", |
|
|
|
|
"create view <view_name> as\n\
|
|
|
|
|
\tselect [distinct [on attrN]]\n\
|
|
|
|
|
\t<expr1>[as <attr1>][,... <exprN>[as <attrN>]]\n\
|
|
|
|
|
\t[from <from_list>]\n\
|
|
|
|
|
\t[where <qual>]\n\
|
|
|
|
|
\t[group by <group_list>];"}, |
|
|
|
|
"CREATE VIEW view_name AS\n\
|
|
|
|
|
\tSELECT [DISTINCT [ON attrN]]\n\
|
|
|
|
|
\texpr1 [AS attr1], ...exprN\n\
|
|
|
|
|
\t[FROM from_list]\n\
|
|
|
|
|
\t[WHERE qual]\n\
|
|
|
|
|
\t[GROUP BY group_list];"}, |
|
|
|
|
{"declare", |
|
|
|
|
"set up a cursor", |
|
|
|
|
"declare <cursorname> [binary] cursor for\n\
|
|
|
|
|
\tselect [distinct [on attrN]]\n\
|
|
|
|
|
\t<expr1> [as <attr1>],...<exprN> [as <attrN>]\n\
|
|
|
|
|
\t[from <from_list>]\n\
|
|
|
|
|
\t[where <qual>]\n\
|
|
|
|
|
\t[group by <group_list>]\n\
|
|
|
|
|
\t[having <having_clause>]\n\
|
|
|
|
|
\t[order by <attr1> [using <op1>],... <attrN> [using <opN>]]\n\
|
|
|
|
|
\t[union [all] select ...];"}, |
|
|
|
|
"DECLARE cursorname [BINARY] CURSOR FOR\n\
|
|
|
|
|
\tSELECT [DISTINCT [ON attrN]]\n\
|
|
|
|
|
\texpr1 [AS attr1], ...exprN\n\
|
|
|
|
|
\t[FROM from_list]\n\
|
|
|
|
|
\t[WHERE qual]\n\
|
|
|
|
|
\t[GROUP BY group_list]\n\
|
|
|
|
|
\t[HAVING having_clause]\n\
|
|
|
|
|
\t[ORDER BY attr1 [USING op1], ...attrN]\n\
|
|
|
|
|
\t[UNION [ALL] SELECT ...];"}, |
|
|
|
|
{"delete", |
|
|
|
|
"delete tuples", |
|
|
|
|
"delete from <class_name> [where <qual>];"}, |
|
|
|
|
"DELETE FROM class_name [WHERE qual];"}, |
|
|
|
|
{"drop", |
|
|
|
|
"Please be more specific:", |
|
|
|
|
"\tdrop aggregate\n\
|
|
|
|
|
@ -184,136 +175,134 @@ static struct _helpStruct QL_HELP[] = { |
|
|
|
|
\tdrop view"}, |
|
|
|
|
{"drop aggregate", |
|
|
|
|
"remove an aggregate function", |
|
|
|
|
"drop aggregate <agg_name> <agg_type>|*;"}, |
|
|
|
|
"DROP AGGREGATE agg_name agg_type|*;"}, |
|
|
|
|
{"drop database", |
|
|
|
|
"remove a database", |
|
|
|
|
"drop database <dbname>"}, |
|
|
|
|
"DROP DATABASE dbname"}, |
|
|
|
|
{"drop function", |
|
|
|
|
"remove a user-defined function", |
|
|
|
|
"drop function <funcname> ([<type1>,....<typeN>]);"}, |
|
|
|
|
"DROP FUNCTION funcname ([type1, ...typeN]);"}, |
|
|
|
|
{"drop index", |
|
|
|
|
"remove an existing index", |
|
|
|
|
"drop index <indexname>;"}, |
|
|
|
|
"DROP INDEX indexname;"}, |
|
|
|
|
{"drop operator", |
|
|
|
|
"remove a user-defined operator", |
|
|
|
|
"drop operator <operator_name> ([<ltype>|none],[<rtype>|none]);"}, |
|
|
|
|
"DROP OPERATOR operator_name ([ltype|NONE],[RTYPE|none]);"}, |
|
|
|
|
{"drop rule", |
|
|
|
|
"remove a rule", |
|
|
|
|
"drop rule <rulename>;"}, |
|
|
|
|
"DROP RULE rulename;"}, |
|
|
|
|
{"drop sequence", |
|
|
|
|
"remove a sequence number generator", |
|
|
|
|
"drop sequence <sequence_name>[,...<sequence_nameN];"}, |
|
|
|
|
"DROP SEQUENCE sequence_name[, ...sequence_nameN];"}, |
|
|
|
|
{"drop table", |
|
|
|
|
"remove a table", |
|
|
|
|
"drop table <class_name>[,...<class_nameN];"}, |
|
|
|
|
"DROP TABLE class_name1, ...class_nameN;"}, |
|
|
|
|
{"drop trigger", |
|
|
|
|
"remove a trigger", |
|
|
|
|
"drop trigger <trigger_name> on <class_name>;"}, |
|
|
|
|
"DROP TRIGGER trigger_name ON class_name;"}, |
|
|
|
|
{"drop type", |
|
|
|
|
"remove a user-defined base type", |
|
|
|
|
"drop type <typename>;"}, |
|
|
|
|
"DROP TYPE typename;"}, |
|
|
|
|
{"drop user", |
|
|
|
|
"remove a user from the system", |
|
|
|
|
"drop user <user_name>;"}, |
|
|
|
|
"DROP USER user_name;"}, |
|
|
|
|
{"drop view", |
|
|
|
|
"remove a view", |
|
|
|
|
"drop view <view_name>"}, |
|
|
|
|
{"end", |
|
|
|
|
"end the current transaction", |
|
|
|
|
"end [transaction];"}, |
|
|
|
|
"DROP VIEW view_name"}, |
|
|
|
|
{"end transaction", |
|
|
|
|
"end the current transaction", |
|
|
|
|
"end [transaction];"}, |
|
|
|
|
"END [TRANSACTION|WORK];"}, |
|
|
|
|
{"explain", |
|
|
|
|
"explain the query execution plan", |
|
|
|
|
"explain [verbose] <query>"}, |
|
|
|
|
"EXPLAIN [VERBOSE] query"}, |
|
|
|
|
{"fetch", |
|
|
|
|
"retrieve tuples from a cursor", |
|
|
|
|
"fetch [forward|backward] [<number>|all] [in <cursorname>];"}, |
|
|
|
|
"FETCH [FORWARD|BACKWARD] [number|ALL] [IN cursorname];"}, |
|
|
|
|
{"grant", |
|
|
|
|
"grant access control to a user or group", |
|
|
|
|
"grant <privilege[,privilege,...]> on <rel1>[,...<reln>] to \n\
|
|
|
|
|
[public | group <group> | <username>]\n\
|
|
|
|
|
\t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}"}, |
|
|
|
|
"GRANT privilege1, ...privilegeN ON rel1, ...relN TO \n\
|
|
|
|
|
[PUBLIC|GROUP group|username]\n\
|
|
|
|
|
\t privilege is ALL|SELECT|INSERT|UPDATE|DELETE|RULE"}, |
|
|
|
|
{"insert", |
|
|
|
|
"insert tuples", |
|
|
|
|
"insert into <class_name> [(<attr1>...<attrN>)]\n\
|
|
|
|
|
\tvalues (<expr1>...<exprN>) |\n\
|
|
|
|
|
\tselect [distinct [on attrN]]\n\
|
|
|
|
|
\t<expr1>,...<exprN>\n\
|
|
|
|
|
\t[from <from_clause>]\n\
|
|
|
|
|
\t[where <qual>]\n\
|
|
|
|
|
\t[group by <group_list>]\n\
|
|
|
|
|
\t[having <having_clause>]\n\
|
|
|
|
|
\t[union [all] select ...];"}, |
|
|
|
|
"INSERT INTO class_name [(attr1, ...attrN)]\n\
|
|
|
|
|
\tVALUES (expr1,..exprN) |\n\
|
|
|
|
|
\tSELECT [DISTINCT [ON attrN]]\n\
|
|
|
|
|
\texpr1, ...exprN\n\
|
|
|
|
|
\t[FROM from_clause]\n\
|
|
|
|
|
\t[WHERE qual]\n\
|
|
|
|
|
\t[GROUP BY group_list]\n\
|
|
|
|
|
\t[HAVING having_clause]\n\
|
|
|
|
|
\t[UNION [ALL] SELECT ...];"}, |
|
|
|
|
{"listen", |
|
|
|
|
"listen for notification on a relation", |
|
|
|
|
"listen <class_name>"}, |
|
|
|
|
"LISTEN class_name"}, |
|
|
|
|
{"load", |
|
|
|
|
"dynamically load a module", |
|
|
|
|
"load <filename>;"}, |
|
|
|
|
"LOAD 'filename';"}, |
|
|
|
|
{"lock", |
|
|
|
|
"exclusive lock a table inside a transaction", |
|
|
|
|
"lock [table] <class_name>;"}, |
|
|
|
|
"LOCK [TABLE] class_name;"}, |
|
|
|
|
{"move", |
|
|
|
|
"move an cursor position", |
|
|
|
|
"move [forward|backward] [<number>|all] [in <cursorname>];"}, |
|
|
|
|
"MOVE [FORWARD|BACKWARD] [number|ALL] [IN cursorname];"}, |
|
|
|
|
{"notify", |
|
|
|
|
"signal all frontends and backends listening on a relation", |
|
|
|
|
"notify <class_name>"}, |
|
|
|
|
"NOTIFY class_name"}, |
|
|
|
|
{"reset", |
|
|
|
|
"set run-time environment back to default", |
|
|
|
|
#ifdef MULTIBYTE |
|
|
|
|
"reset {DateStyle | GEQO | R_PLANS | CLIENT_ENCODING}"}, |
|
|
|
|
"RESET DateStyle|GEQO|R_PLANS|CLIENT_ENCODING"}, |
|
|
|
|
#else |
|
|
|
|
"reset {DateStyle | GEQO | R_PLANS}"}, |
|
|
|
|
"RESET DateStyle|GEQO|R_PLANS"}, |
|
|
|
|
#endif |
|
|
|
|
{"revoke", |
|
|
|
|
"revoke access control from a user or group", |
|
|
|
|
"revoke <privilege[,privilege,...]> on <rel1>[,...<reln>] from \n\
|
|
|
|
|
[public | group <group> | <username>]\n\
|
|
|
|
|
\t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}"}, |
|
|
|
|
"REVOKE privilege1, ...privilegeN ON rel1, ...relN FROM \n\
|
|
|
|
|
[PUBLIC|GROUP group|username]\n\
|
|
|
|
|
\t privilege is ALL|SELECT|INSERT|UPDATE|DELETE|RULE"}, |
|
|
|
|
{"rollback", |
|
|
|
|
"abort a transaction", |
|
|
|
|
"rollback [transaction|work]"}, |
|
|
|
|
"ROLLBACK [TRANSACTION|WORK]"}, |
|
|
|
|
{"select", |
|
|
|
|
"retrieve tuples", |
|
|
|
|
"select [distinct [on <attrN>]] <expr1> [as <attr1>], ... <exprN> [as <attrN>]\n\
|
|
|
|
|
\t[into [table] <class_name>]\n\
|
|
|
|
|
\t[from <from_list>]\n\
|
|
|
|
|
\t[where <qual>]\n\
|
|
|
|
|
\t[group by <group_list>]\n\
|
|
|
|
|
\t[having <having_clause>]\n\
|
|
|
|
|
\t[order by <attr1> [ASC | DESC] [using <op1>], ... <attrN> ]\n\
|
|
|
|
|
\t[union [all] select ...];"}, |
|
|
|
|
"SELECT [DISTINCT [ON attrN]] expr1 [AS attr1], ...exprN\n\
|
|
|
|
|
\t[INTO [TABLE] class_name]\n\
|
|
|
|
|
\t[FROM from_list]\n\
|
|
|
|
|
\t[WHERE qual]\n\
|
|
|
|
|
\t[GROUP BY group_list]\n\
|
|
|
|
|
\t[HAVING having_clause]\n\
|
|
|
|
|
\t[ORDER BY attr1 [ASC|DESC] [USING op1], ...attrN ]\n\
|
|
|
|
|
\t[UNION [ALL] SELECT ...];"}, |
|
|
|
|
{"set", |
|
|
|
|
"set run-time environment", |
|
|
|
|
#ifdef MULTIBYTE |
|
|
|
|
"set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\n\
|
|
|
|
|
set GEQO to {'ON[=#]' | 'OFF'}\n\
|
|
|
|
|
set R_PLANS to {'ON' | 'OFF'}\n\
|
|
|
|
|
set CLIENT_ENCODING to {'EUC_JP' | 'SJIS' | 'EUC_CN' | 'EUC_KR' | 'EUC_TW' | 'MULE_INTERNAL' | 'LATIN1' | 'LATIN2' | 'LATIN3' | 'LATIN4' | 'LATIN5'}"}, |
|
|
|
|
"SET DateStyle TO 'ISO'|'SQL'|'Postgres'|'European'|'US'|'NonEuropean'\n\
|
|
|
|
|
set GEQO TO 'ON[=#]'|'OFF'\n\
|
|
|
|
|
set R_PLANS TO 'ON'|'OFF'\n\
|
|
|
|
|
set CLIENT_ENCODING TO 'EUC_JP'|'SJIS'|'EUC_CN'|'EUC_KR'|'EUC_TW'|'MULE_INTERNAL'|'LATIN1'|'LATIN2'|'LATIN3'|'LATIN4'|'LATIN5'"}, |
|
|
|
|
#else |
|
|
|
|
"set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\n\
|
|
|
|
|
set GEQO to {'ON[=#]' | 'OFF'}\n\
|
|
|
|
|
set R_PLANS to {'ON' | 'OFF'}"}, |
|
|
|
|
"SET DateStyle TO 'ISO'|'SQL'|'Postgres'|'European'|'US'|'NonEuropean'\n\
|
|
|
|
|
set GEQO TO 'ON[=#]'|'OFF'\n\
|
|
|
|
|
set R_PLANS TO 'ON'| 'OFF'"}, |
|
|
|
|
#endif |
|
|
|
|
{"show", |
|
|
|
|
"show current run-time environment", |
|
|
|
|
#ifdef MULTIBYTE |
|
|
|
|
"show {DateStyle | GEQO | R_PLANS | CLIENT_ENCODING}"}, |
|
|
|
|
"SHOW DateStyle|GEQO|R_PLANS|CLIENT_ENCODING"}, |
|
|
|
|
#else |
|
|
|
|
"show {DateStyle | GEQO | R_PLANS}"}, |
|
|
|
|
"SHOW DateStyle|GEQO|R_PLANS"}, |
|
|
|
|
#endif |
|
|
|
|
{"update", |
|
|
|
|
{"UPDATE", |
|
|
|
|
"update tuples", |
|
|
|
|
"update <class_name> set <attr1>=<expr1>,...<attrN>=<exprN> [from <from_clause>] [where <qual>];"}, |
|
|
|
|
"UPDATE class_name SET attr1 = expr1, ...attrN = exprN\n\
|
|
|
|
|
\t [FROM from_clause]\n\
|
|
|
|
|
\t[WHERE qual];"}, |
|
|
|
|
{"vacuum", |
|
|
|
|
"vacuum the database, i.e. cleans out deleted records, updates statistics", |
|
|
|
|
"\
|
|
|
|
|
vacuum [verbose] [analyze] [table]\n\
|
|
|
|
|
"VACUUM [VERBOSE] [ANALYZE] [table]\n\
|
|
|
|
|
\tor\n\
|
|
|
|
|
vacuum [verbose] analyze [table [(attr1, ... attrN)]];"}, |
|
|
|
|
VACUUM [VERBOSE] ANALYZE [table [(attr1, ...attrN)]];"}, |
|
|
|
|
{NULL, NULL, NULL} /* important to keep a NULL terminator
|
|
|
|
|
* here! */ |
|
|
|
|
}; |
|
|
|
|
|