LCOV - code coverage report
Current view: top level - src/bin/psql - sql_help.c (source / functions) Hit Total Coverage
Test: PostgreSQL 19devel Lines: 3 558 0.5 %
Date: 2025-12-13 19:18:15 Functions: 1 186 0.5 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * *** Do not change this file by hand. It is automatically
       3             :  * *** generated from the DocBook documentation.
       4             :  *
       5             :  * generated by src/bin/psql/create_help.pl
       6             :  *
       7             :  */
       8             : 
       9             : #define N_(x) (x)               /* gettext noop */
      10             : 
      11             : #include "postgres_fe.h"
      12             : #include "sql_help.h"
      13             : 
      14             : static void
      15           0 : sql_help_ABORT(PQExpBuffer buf)
      16             : {
      17           0 :     appendPQExpBuffer(buf,
      18             :                       "ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]");
      19           0 : }
      20             : 
      21             : static void
      22           0 : sql_help_ALTER_AGGREGATE(PQExpBuffer buf)
      23             : {
      24           0 :     appendPQExpBuffer(buf,
      25             :                       "ALTER AGGREGATE %s ( %s ) RENAME TO %s\n"
      26             :                       "ALTER AGGREGATE %s ( %s )\n"
      27             :                       "                OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
      28             :                       "ALTER AGGREGATE %s ( %s ) SET SCHEMA %s\n"
      29             :                       "\n"
      30             :                       "%s\n"
      31             :                       "\n"
      32             :                       "* |\n"
      33             :                       "[ %s ] [ %s ] %s [ , ... ] |\n"
      34             :                       "[ [ %s ] [ %s ] %s [ , ... ] ] ORDER BY [ %s ] [ %s ] %s [ , ... ]",
      35             :                       _("name"),
      36             :                       _("aggregate_signature"),
      37             :                       _("new_name"),
      38             :                       _("name"),
      39             :                       _("aggregate_signature"),
      40             :                       _("new_owner"),
      41             :                       _("name"),
      42             :                       _("aggregate_signature"),
      43             :                       _("new_schema"),
      44             :                       _("where aggregate_signature is:"),
      45             :                       _("argmode"),
      46             :                       _("argname"),
      47             :                       _("argtype"),
      48             :                       _("argmode"),
      49             :                       _("argname"),
      50             :                       _("argtype"),
      51             :                       _("argmode"),
      52             :                       _("argname"),
      53             :                       _("argtype"));
      54           0 : }
      55             : 
      56             : static void
      57           0 : sql_help_ALTER_COLLATION(PQExpBuffer buf)
      58             : {
      59           0 :     appendPQExpBuffer(buf,
      60             :                       "ALTER COLLATION %s REFRESH VERSION\n"
      61             :                       "\n"
      62             :                       "ALTER COLLATION %s RENAME TO %s\n"
      63             :                       "ALTER COLLATION %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
      64             :                       "ALTER COLLATION %s SET SCHEMA %s",
      65             :                       _("name"),
      66             :                       _("name"),
      67             :                       _("new_name"),
      68             :                       _("name"),
      69             :                       _("new_owner"),
      70             :                       _("name"),
      71             :                       _("new_schema"));
      72           0 : }
      73             : 
      74             : static void
      75           0 : sql_help_ALTER_CONVERSION(PQExpBuffer buf)
      76             : {
      77           0 :     appendPQExpBuffer(buf,
      78             :                       "ALTER CONVERSION %s RENAME TO %s\n"
      79             :                       "ALTER CONVERSION %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
      80             :                       "ALTER CONVERSION %s SET SCHEMA %s",
      81             :                       _("name"),
      82             :                       _("new_name"),
      83             :                       _("name"),
      84             :                       _("new_owner"),
      85             :                       _("name"),
      86             :                       _("new_schema"));
      87           0 : }
      88             : 
      89             : static void
      90           0 : sql_help_ALTER_DATABASE(PQExpBuffer buf)
      91             : {
      92           0 :     appendPQExpBuffer(buf,
      93             :                       "ALTER DATABASE %s [ [ WITH ] %s [ ... ] ]\n"
      94             :                       "\n"
      95             :                       "%s\n"
      96             :                       "\n"
      97             :                       "    ALLOW_CONNECTIONS %s\n"
      98             :                       "    CONNECTION LIMIT %s\n"
      99             :                       "    IS_TEMPLATE %s\n"
     100             :                       "\n"
     101             :                       "ALTER DATABASE %s RENAME TO %s\n"
     102             :                       "\n"
     103             :                       "ALTER DATABASE %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     104             :                       "\n"
     105             :                       "ALTER DATABASE %s SET TABLESPACE %s\n"
     106             :                       "\n"
     107             :                       "ALTER DATABASE %s REFRESH COLLATION VERSION\n"
     108             :                       "\n"
     109             :                       "ALTER DATABASE %s SET %s { TO | = } { %s | DEFAULT }\n"
     110             :                       "ALTER DATABASE %s SET %s FROM CURRENT\n"
     111             :                       "ALTER DATABASE %s RESET %s\n"
     112             :                       "ALTER DATABASE %s RESET ALL",
     113             :                       _("name"),
     114             :                       _("option"),
     115             :                       _("where option can be:"),
     116             :                       _("allowconn"),
     117             :                       _("connlimit"),
     118             :                       _("istemplate"),
     119             :                       _("name"),
     120             :                       _("new_name"),
     121             :                       _("name"),
     122             :                       _("new_owner"),
     123             :                       _("name"),
     124             :                       _("new_tablespace"),
     125             :                       _("name"),
     126             :                       _("name"),
     127             :                       _("configuration_parameter"),
     128             :                       _("value"),
     129             :                       _("name"),
     130             :                       _("configuration_parameter"),
     131             :                       _("name"),
     132             :                       _("configuration_parameter"),
     133             :                       _("name"));
     134           0 : }
     135             : 
     136             : static void
     137           0 : sql_help_ALTER_DEFAULT_PRIVILEGES(PQExpBuffer buf)
     138             : {
     139           0 :     appendPQExpBuffer(buf,
     140             :                       "ALTER DEFAULT PRIVILEGES\n"
     141             :                       "    [ FOR { ROLE | USER } %s [, ...] ]\n"
     142             :                       "    [ IN SCHEMA %s [, ...] ]\n"
     143             :                       "    %s\n"
     144             :                       "\n"
     145             :                       "%s\n"
     146             :                       "\n"
     147             :                       "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }\n"
     148             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     149             :                       "    ON TABLES\n"
     150             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     151             :                       "\n"
     152             :                       "GRANT { { USAGE | SELECT | UPDATE }\n"
     153             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     154             :                       "    ON SEQUENCES\n"
     155             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     156             :                       "\n"
     157             :                       "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
     158             :                       "    ON { FUNCTIONS | ROUTINES }\n"
     159             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     160             :                       "\n"
     161             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
     162             :                       "    ON TYPES\n"
     163             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     164             :                       "\n"
     165             :                       "GRANT { { USAGE | CREATE }\n"
     166             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     167             :                       "    ON SCHEMAS\n"
     168             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     169             :                       "\n"
     170             :                       "GRANT { { SELECT | UPDATE }\n"
     171             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     172             :                       "    ON LARGE OBJECTS\n"
     173             :                       "    TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n"
     174             :                       "\n"
     175             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     176             :                       "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }\n"
     177             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     178             :                       "    ON TABLES\n"
     179             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     180             :                       "    [ CASCADE | RESTRICT ]\n"
     181             :                       "\n"
     182             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     183             :                       "    { { USAGE | SELECT | UPDATE }\n"
     184             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     185             :                       "    ON SEQUENCES\n"
     186             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     187             :                       "    [ CASCADE | RESTRICT ]\n"
     188             :                       "\n"
     189             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     190             :                       "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
     191             :                       "    ON { FUNCTIONS | ROUTINES }\n"
     192             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     193             :                       "    [ CASCADE | RESTRICT ]\n"
     194             :                       "\n"
     195             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     196             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
     197             :                       "    ON TYPES\n"
     198             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     199             :                       "    [ CASCADE | RESTRICT ]\n"
     200             :                       "\n"
     201             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     202             :                       "    { { USAGE | CREATE }\n"
     203             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     204             :                       "    ON SCHEMAS\n"
     205             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     206             :                       "    [ CASCADE | RESTRICT ]\n"
     207             :                       "\n"
     208             :                       "REVOKE [ GRANT OPTION FOR ]\n"
     209             :                       "    { { SELECT | UPDATE }\n"
     210             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
     211             :                       "    ON LARGE OBJECTS\n"
     212             :                       "    FROM { [ GROUP ] %s | PUBLIC } [, ...]\n"
     213             :                       "    [ CASCADE | RESTRICT ]",
     214             :                       _("target_role"),
     215             :                       _("schema_name"),
     216             :                       _("abbreviated_grant_or_revoke"),
     217             :                       _("where abbreviated_grant_or_revoke is one of:"),
     218             :                       _("role_name"),
     219             :                       _("role_name"),
     220             :                       _("role_name"),
     221             :                       _("role_name"),
     222             :                       _("role_name"),
     223             :                       _("role_name"),
     224             :                       _("role_name"),
     225             :                       _("role_name"),
     226             :                       _("role_name"),
     227             :                       _("role_name"),
     228             :                       _("role_name"),
     229             :                       _("role_name"));
     230           0 : }
     231             : 
     232             : static void
     233           0 : sql_help_ALTER_DOMAIN(PQExpBuffer buf)
     234             : {
     235           0 :     appendPQExpBuffer(buf,
     236             :                       "ALTER DOMAIN %s\n"
     237             :                       "    { SET DEFAULT %s | DROP DEFAULT }\n"
     238             :                       "ALTER DOMAIN %s\n"
     239             :                       "    { SET | DROP } NOT NULL\n"
     240             :                       "ALTER DOMAIN %s\n"
     241             :                       "    ADD %s [ NOT VALID ]\n"
     242             :                       "ALTER DOMAIN %s\n"
     243             :                       "    DROP CONSTRAINT [ IF EXISTS ] %s [ RESTRICT | CASCADE ]\n"
     244             :                       "ALTER DOMAIN %s\n"
     245             :                       "     RENAME CONSTRAINT %s TO %s\n"
     246             :                       "ALTER DOMAIN %s\n"
     247             :                       "    VALIDATE CONSTRAINT %s\n"
     248             :                       "ALTER DOMAIN %s\n"
     249             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     250             :                       "ALTER DOMAIN %s\n"
     251             :                       "    RENAME TO %s\n"
     252             :                       "ALTER DOMAIN %s\n"
     253             :                       "    SET SCHEMA %s\n"
     254             :                       "\n"
     255             :                       "%s\n"
     256             :                       "\n"
     257             :                       "[ CONSTRAINT %s ]\n"
     258             :                       "{ NOT NULL | CHECK (%s) }",
     259             :                       _("name"),
     260             :                       _("expression"),
     261             :                       _("name"),
     262             :                       _("name"),
     263             :                       _("domain_constraint"),
     264             :                       _("name"),
     265             :                       _("constraint_name"),
     266             :                       _("name"),
     267             :                       _("constraint_name"),
     268             :                       _("new_constraint_name"),
     269             :                       _("name"),
     270             :                       _("constraint_name"),
     271             :                       _("name"),
     272             :                       _("new_owner"),
     273             :                       _("name"),
     274             :                       _("new_name"),
     275             :                       _("name"),
     276             :                       _("new_schema"),
     277             :                       _("where domain_constraint is:"),
     278             :                       _("constraint_name"),
     279             :                       _("expression"));
     280           0 : }
     281             : 
     282             : static void
     283           0 : sql_help_ALTER_EVENT_TRIGGER(PQExpBuffer buf)
     284             : {
     285           0 :     appendPQExpBuffer(buf,
     286             :                       "ALTER EVENT TRIGGER %s DISABLE\n"
     287             :                       "ALTER EVENT TRIGGER %s ENABLE [ REPLICA | ALWAYS ]\n"
     288             :                       "ALTER EVENT TRIGGER %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     289             :                       "ALTER EVENT TRIGGER %s RENAME TO %s",
     290             :                       _("name"),
     291             :                       _("name"),
     292             :                       _("name"),
     293             :                       _("new_owner"),
     294             :                       _("name"),
     295             :                       _("new_name"));
     296           0 : }
     297             : 
     298             : static void
     299           0 : sql_help_ALTER_EXTENSION(PQExpBuffer buf)
     300             : {
     301           0 :     appendPQExpBuffer(buf,
     302             :                       "ALTER EXTENSION %s UPDATE [ TO %s ]\n"
     303             :                       "ALTER EXTENSION %s SET SCHEMA %s\n"
     304             :                       "ALTER EXTENSION %s ADD %s\n"
     305             :                       "ALTER EXTENSION %s DROP %s\n"
     306             :                       "\n"
     307             :                       "%s\n"
     308             :                       "\n"
     309             :                       "  ACCESS METHOD %s |\n"
     310             :                       "  AGGREGATE %s ( %s ) |\n"
     311             :                       "  CAST (%s AS %s) |\n"
     312             :                       "  COLLATION %s |\n"
     313             :                       "  CONVERSION %s |\n"
     314             :                       "  DOMAIN %s |\n"
     315             :                       "  EVENT TRIGGER %s |\n"
     316             :                       "  FOREIGN DATA WRAPPER %s |\n"
     317             :                       "  FOREIGN TABLE %s |\n"
     318             :                       "  FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
     319             :                       "  MATERIALIZED VIEW %s |\n"
     320             :                       "  OPERATOR %s (%s, %s) |\n"
     321             :                       "  OPERATOR CLASS %s USING %s |\n"
     322             :                       "  OPERATOR FAMILY %s USING %s |\n"
     323             :                       "  [ PROCEDURAL ] LANGUAGE %s |\n"
     324             :                       "  PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
     325             :                       "  ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
     326             :                       "  SCHEMA %s |\n"
     327             :                       "  SEQUENCE %s |\n"
     328             :                       "  SERVER %s |\n"
     329             :                       "  TABLE %s |\n"
     330             :                       "  TEXT SEARCH CONFIGURATION %s |\n"
     331             :                       "  TEXT SEARCH DICTIONARY %s |\n"
     332             :                       "  TEXT SEARCH PARSER %s |\n"
     333             :                       "  TEXT SEARCH TEMPLATE %s |\n"
     334             :                       "  TRANSFORM FOR %s LANGUAGE %s |\n"
     335             :                       "  TYPE %s |\n"
     336             :                       "  VIEW %s\n"
     337             :                       "\n"
     338             :                       "%s\n"
     339             :                       "\n"
     340             :                       "* |\n"
     341             :                       "[ %s ] [ %s ] %s [ , ... ] |\n"
     342             :                       "[ [ %s ] [ %s ] %s [ , ... ] ] ORDER BY [ %s ] [ %s ] %s [ , ... ]",
     343             :                       _("name"),
     344             :                       _("new_version"),
     345             :                       _("name"),
     346             :                       _("new_schema"),
     347             :                       _("name"),
     348             :                       _("member_object"),
     349             :                       _("name"),
     350             :                       _("member_object"),
     351             :                       _("where member_object is:"),
     352             :                       _("object_name"),
     353             :                       _("aggregate_name"),
     354             :                       _("aggregate_signature"),
     355             :                       _("source_type"),
     356             :                       _("target_type"),
     357             :                       _("object_name"),
     358             :                       _("object_name"),
     359             :                       _("object_name"),
     360             :                       _("object_name"),
     361             :                       _("object_name"),
     362             :                       _("object_name"),
     363             :                       _("function_name"),
     364             :                       _("argmode"),
     365             :                       _("argname"),
     366             :                       _("argtype"),
     367             :                       _("object_name"),
     368             :                       _("operator_name"),
     369             :                       _("left_type"),
     370             :                       _("right_type"),
     371             :                       _("object_name"),
     372             :                       _("index_method"),
     373             :                       _("object_name"),
     374             :                       _("index_method"),
     375             :                       _("object_name"),
     376             :                       _("procedure_name"),
     377             :                       _("argmode"),
     378             :                       _("argname"),
     379             :                       _("argtype"),
     380             :                       _("routine_name"),
     381             :                       _("argmode"),
     382             :                       _("argname"),
     383             :                       _("argtype"),
     384             :                       _("object_name"),
     385             :                       _("object_name"),
     386             :                       _("object_name"),
     387             :                       _("object_name"),
     388             :                       _("object_name"),
     389             :                       _("object_name"),
     390             :                       _("object_name"),
     391             :                       _("object_name"),
     392             :                       _("type_name"),
     393             :                       _("lang_name"),
     394             :                       _("object_name"),
     395             :                       _("object_name"),
     396             :                       _("and aggregate_signature is:"),
     397             :                       _("argmode"),
     398             :                       _("argname"),
     399             :                       _("argtype"),
     400             :                       _("argmode"),
     401             :                       _("argname"),
     402             :                       _("argtype"),
     403             :                       _("argmode"),
     404             :                       _("argname"),
     405             :                       _("argtype"));
     406           0 : }
     407             : 
     408             : static void
     409           0 : sql_help_ALTER_FOREIGN_DATA_WRAPPER(PQExpBuffer buf)
     410             : {
     411           0 :     appendPQExpBuffer(buf,
     412             :                       "ALTER FOREIGN DATA WRAPPER %s\n"
     413             :                       "    [ HANDLER %s | NO HANDLER ]\n"
     414             :                       "    [ VALIDATOR %s | NO VALIDATOR ]\n"
     415             :                       "    [ OPTIONS ( [ ADD | SET | DROP ] %s ['%s'] [, ... ]) ]\n"
     416             :                       "ALTER FOREIGN DATA WRAPPER %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     417             :                       "ALTER FOREIGN DATA WRAPPER %s RENAME TO %s",
     418             :                       _("name"),
     419             :                       _("handler_function"),
     420             :                       _("validator_function"),
     421             :                       _("option"),
     422             :                       _("value"),
     423             :                       _("name"),
     424             :                       _("new_owner"),
     425             :                       _("name"),
     426             :                       _("new_name"));
     427           0 : }
     428             : 
     429             : static void
     430           0 : sql_help_ALTER_FOREIGN_TABLE(PQExpBuffer buf)
     431             : {
     432           0 :     appendPQExpBuffer(buf,
     433             :                       "ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] %s [ * ]\n"
     434             :                       "    %s [, ... ]\n"
     435             :                       "ALTER FOREIGN TABLE [ IF EXISTS ] [ ONLY ] %s [ * ]\n"
     436             :                       "    RENAME [ COLUMN ] %s TO %s\n"
     437             :                       "ALTER FOREIGN TABLE [ IF EXISTS ] %s\n"
     438             :                       "    RENAME TO %s\n"
     439             :                       "ALTER FOREIGN TABLE [ IF EXISTS ] %s\n"
     440             :                       "    SET SCHEMA %s\n"
     441             :                       "\n"
     442             :                       "%s\n"
     443             :                       "\n"
     444             :                       "    ADD [ COLUMN ] %s %s [ COLLATE %s ] [ %s [ ... ] ]\n"
     445             :                       "    DROP [ COLUMN ] [ IF EXISTS ] %s [ RESTRICT | CASCADE ]\n"
     446             :                       "    ALTER [ COLUMN ] %s [ SET DATA ] TYPE %s [ COLLATE %s ]\n"
     447             :                       "    ALTER [ COLUMN ] %s SET DEFAULT %s\n"
     448             :                       "    ALTER [ COLUMN ] %s DROP DEFAULT\n"
     449             :                       "    ALTER [ COLUMN ] %s { SET | DROP } NOT NULL\n"
     450             :                       "    ALTER [ COLUMN ] %s SET STATISTICS %s\n"
     451             :                       "    ALTER [ COLUMN ] %s SET ( %s = %s [, ... ] )\n"
     452             :                       "    ALTER [ COLUMN ] %s RESET ( %s [, ... ] )\n"
     453             :                       "    ALTER [ COLUMN ] %s SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }\n"
     454             :                       "    ALTER [ COLUMN ] %s OPTIONS ( [ ADD | SET | DROP ] %s ['%s'] [, ... ])\n"
     455             :                       "    ADD %s [ NOT VALID ]\n"
     456             :                       "    VALIDATE CONSTRAINT %s\n"
     457             :                       "    DROP CONSTRAINT [ IF EXISTS ]  %s [ RESTRICT | CASCADE ]\n"
     458             :                       "    DISABLE TRIGGER [ %s | ALL | USER ]\n"
     459             :                       "    ENABLE TRIGGER [ %s | ALL | USER ]\n"
     460             :                       "    ENABLE REPLICA TRIGGER %s\n"
     461             :                       "    ENABLE ALWAYS TRIGGER %s\n"
     462             :                       "    SET WITHOUT OIDS\n"
     463             :                       "    INHERIT %s\n"
     464             :                       "    NO INHERIT %s\n"
     465             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     466             :                       "    OPTIONS ( [ ADD | SET | DROP ] %s ['%s'] [, ... ])",
     467             :                       _("name"),
     468             :                       _("action"),
     469             :                       _("name"),
     470             :                       _("column_name"),
     471             :                       _("new_column_name"),
     472             :                       _("name"),
     473             :                       _("new_name"),
     474             :                       _("name"),
     475             :                       _("new_schema"),
     476             :                       _("where action is one of:"),
     477             :                       _("column_name"),
     478             :                       _("data_type"),
     479             :                       _("collation"),
     480             :                       _("column_constraint"),
     481             :                       _("column_name"),
     482             :                       _("column_name"),
     483             :                       _("data_type"),
     484             :                       _("collation"),
     485             :                       _("column_name"),
     486             :                       _("expression"),
     487             :                       _("column_name"),
     488             :                       _("column_name"),
     489             :                       _("column_name"),
     490             :                       _("integer"),
     491             :                       _("column_name"),
     492             :                       _("attribute_option"),
     493             :                       _("value"),
     494             :                       _("column_name"),
     495             :                       _("attribute_option"),
     496             :                       _("column_name"),
     497             :                       _("column_name"),
     498             :                       _("option"),
     499             :                       _("value"),
     500             :                       _("table_constraint"),
     501             :                       _("constraint_name"),
     502             :                       _("constraint_name"),
     503             :                       _("trigger_name"),
     504             :                       _("trigger_name"),
     505             :                       _("trigger_name"),
     506             :                       _("trigger_name"),
     507             :                       _("parent_table"),
     508             :                       _("parent_table"),
     509             :                       _("new_owner"),
     510             :                       _("option"),
     511             :                       _("value"));
     512           0 : }
     513             : 
     514             : static void
     515           0 : sql_help_ALTER_FUNCTION(PQExpBuffer buf)
     516             : {
     517           0 :     appendPQExpBuffer(buf,
     518             :                       "ALTER FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     519             :                       "    %s [ ... ] [ RESTRICT ]\n"
     520             :                       "ALTER FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     521             :                       "    RENAME TO %s\n"
     522             :                       "ALTER FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     523             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     524             :                       "ALTER FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     525             :                       "    SET SCHEMA %s\n"
     526             :                       "ALTER FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     527             :                       "    [ NO ] DEPENDS ON EXTENSION %s\n"
     528             :                       "\n"
     529             :                       "%s\n"
     530             :                       "\n"
     531             :                       "    CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT\n"
     532             :                       "    IMMUTABLE | STABLE | VOLATILE\n"
     533             :                       "    [ NOT ] LEAKPROOF\n"
     534             :                       "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
     535             :                       "    PARALLEL { UNSAFE | RESTRICTED | SAFE }\n"
     536             :                       "    COST %s\n"
     537             :                       "    ROWS %s\n"
     538             :                       "    SUPPORT %s\n"
     539             :                       "    SET %s { TO | = } { %s | DEFAULT }\n"
     540             :                       "    SET %s FROM CURRENT\n"
     541             :                       "    RESET %s\n"
     542             :                       "    RESET ALL",
     543             :                       _("name"),
     544             :                       _("argmode"),
     545             :                       _("argname"),
     546             :                       _("argtype"),
     547             :                       _("action"),
     548             :                       _("name"),
     549             :                       _("argmode"),
     550             :                       _("argname"),
     551             :                       _("argtype"),
     552             :                       _("new_name"),
     553             :                       _("name"),
     554             :                       _("argmode"),
     555             :                       _("argname"),
     556             :                       _("argtype"),
     557             :                       _("new_owner"),
     558             :                       _("name"),
     559             :                       _("argmode"),
     560             :                       _("argname"),
     561             :                       _("argtype"),
     562             :                       _("new_schema"),
     563             :                       _("name"),
     564             :                       _("argmode"),
     565             :                       _("argname"),
     566             :                       _("argtype"),
     567             :                       _("extension_name"),
     568             :                       _("where action is one of:"),
     569             :                       _("execution_cost"),
     570             :                       _("result_rows"),
     571             :                       _("support_function"),
     572             :                       _("configuration_parameter"),
     573             :                       _("value"),
     574             :                       _("configuration_parameter"),
     575             :                       _("configuration_parameter"));
     576           0 : }
     577             : 
     578             : static void
     579           0 : sql_help_ALTER_GROUP(PQExpBuffer buf)
     580             : {
     581           0 :     appendPQExpBuffer(buf,
     582             :                       "ALTER GROUP %s ADD USER %s [, ... ]\n"
     583             :                       "ALTER GROUP %s DROP USER %s [, ... ]\n"
     584             :                       "\n"
     585             :                       "%s\n"
     586             :                       "\n"
     587             :                       "    %s\n"
     588             :                       "  | CURRENT_ROLE\n"
     589             :                       "  | CURRENT_USER\n"
     590             :                       "  | SESSION_USER\n"
     591             :                       "\n"
     592             :                       "ALTER GROUP %s RENAME TO %s",
     593             :                       _("role_specification"),
     594             :                       _("user_name"),
     595             :                       _("role_specification"),
     596             :                       _("user_name"),
     597             :                       _("where role_specification can be:"),
     598             :                       _("role_name"),
     599             :                       _("group_name"),
     600             :                       _("new_name"));
     601           0 : }
     602             : 
     603             : static void
     604           0 : sql_help_ALTER_INDEX(PQExpBuffer buf)
     605             : {
     606           0 :     appendPQExpBuffer(buf,
     607             :                       "ALTER INDEX [ IF EXISTS ] %s RENAME TO %s\n"
     608             :                       "ALTER INDEX [ IF EXISTS ] %s SET TABLESPACE %s\n"
     609             :                       "ALTER INDEX %s ATTACH PARTITION %s\n"
     610             :                       "ALTER INDEX %s [ NO ] DEPENDS ON EXTENSION %s\n"
     611             :                       "ALTER INDEX [ IF EXISTS ] %s SET ( %s [= %s] [, ... ] )\n"
     612             :                       "ALTER INDEX [ IF EXISTS ] %s RESET ( %s [, ... ] )\n"
     613             :                       "ALTER INDEX [ IF EXISTS ] %s ALTER [ COLUMN ] %s\n"
     614             :                       "    SET STATISTICS %s\n"
     615             :                       "ALTER INDEX ALL IN TABLESPACE %s [ OWNED BY %s [, ... ] ]\n"
     616             :                       "    SET TABLESPACE %s [ NOWAIT ]",
     617             :                       _("name"),
     618             :                       _("new_name"),
     619             :                       _("name"),
     620             :                       _("tablespace_name"),
     621             :                       _("name"),
     622             :                       _("index_name"),
     623             :                       _("name"),
     624             :                       _("extension_name"),
     625             :                       _("name"),
     626             :                       _("storage_parameter"),
     627             :                       _("value"),
     628             :                       _("name"),
     629             :                       _("storage_parameter"),
     630             :                       _("name"),
     631             :                       _("column_number"),
     632             :                       _("integer"),
     633             :                       _("name"),
     634             :                       _("role_name"),
     635             :                       _("new_tablespace"));
     636           0 : }
     637             : 
     638             : static void
     639           0 : sql_help_ALTER_LANGUAGE(PQExpBuffer buf)
     640             : {
     641           0 :     appendPQExpBuffer(buf,
     642             :                       "ALTER [ PROCEDURAL ] LANGUAGE %s RENAME TO %s\n"
     643             :                       "ALTER [ PROCEDURAL ] LANGUAGE %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }",
     644             :                       _("name"),
     645             :                       _("new_name"),
     646             :                       _("name"),
     647             :                       _("new_owner"));
     648           0 : }
     649             : 
     650             : static void
     651           0 : sql_help_ALTER_LARGE_OBJECT(PQExpBuffer buf)
     652             : {
     653           0 :     appendPQExpBuffer(buf,
     654             :                       "ALTER LARGE OBJECT %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }",
     655             :                       _("large_object_oid"),
     656             :                       _("new_owner"));
     657           0 : }
     658             : 
     659             : static void
     660           0 : sql_help_ALTER_MATERIALIZED_VIEW(PQExpBuffer buf)
     661             : {
     662           0 :     appendPQExpBuffer(buf,
     663             :                       "ALTER MATERIALIZED VIEW [ IF EXISTS ] %s\n"
     664             :                       "    %s [, ... ]\n"
     665             :                       "ALTER MATERIALIZED VIEW %s\n"
     666             :                       "    [ NO ] DEPENDS ON EXTENSION %s\n"
     667             :                       "ALTER MATERIALIZED VIEW [ IF EXISTS ] %s\n"
     668             :                       "    RENAME [ COLUMN ] %s TO %s\n"
     669             :                       "ALTER MATERIALIZED VIEW [ IF EXISTS ] %s\n"
     670             :                       "    RENAME TO %s\n"
     671             :                       "ALTER MATERIALIZED VIEW [ IF EXISTS ] %s\n"
     672             :                       "    SET SCHEMA %s\n"
     673             :                       "ALTER MATERIALIZED VIEW ALL IN TABLESPACE %s [ OWNED BY %s [, ... ] ]\n"
     674             :                       "    SET TABLESPACE %s [ NOWAIT ]\n"
     675             :                       "\n"
     676             :                       "%s\n"
     677             :                       "\n"
     678             :                       "    ALTER [ COLUMN ] %s SET STATISTICS %s\n"
     679             :                       "    ALTER [ COLUMN ] %s SET ( %s = %s [, ... ] )\n"
     680             :                       "    ALTER [ COLUMN ] %s RESET ( %s [, ... ] )\n"
     681             :                       "    ALTER [ COLUMN ] %s SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }\n"
     682             :                       "    ALTER [ COLUMN ] %s SET COMPRESSION %s\n"
     683             :                       "    CLUSTER ON %s\n"
     684             :                       "    SET WITHOUT CLUSTER\n"
     685             :                       "    SET ACCESS METHOD %s\n"
     686             :                       "    SET TABLESPACE %s\n"
     687             :                       "    SET ( %s [= %s] [, ... ] )\n"
     688             :                       "    RESET ( %s [, ... ] )\n"
     689             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }",
     690             :                       _("name"),
     691             :                       _("action"),
     692             :                       _("name"),
     693             :                       _("extension_name"),
     694             :                       _("name"),
     695             :                       _("column_name"),
     696             :                       _("new_column_name"),
     697             :                       _("name"),
     698             :                       _("new_name"),
     699             :                       _("name"),
     700             :                       _("new_schema"),
     701             :                       _("name"),
     702             :                       _("role_name"),
     703             :                       _("new_tablespace"),
     704             :                       _("where action is one of:"),
     705             :                       _("column_name"),
     706             :                       _("integer"),
     707             :                       _("column_name"),
     708             :                       _("attribute_option"),
     709             :                       _("value"),
     710             :                       _("column_name"),
     711             :                       _("attribute_option"),
     712             :                       _("column_name"),
     713             :                       _("column_name"),
     714             :                       _("compression_method"),
     715             :                       _("index_name"),
     716             :                       _("new_access_method"),
     717             :                       _("new_tablespace"),
     718             :                       _("storage_parameter"),
     719             :                       _("value"),
     720             :                       _("storage_parameter"),
     721             :                       _("new_owner"));
     722           0 : }
     723             : 
     724             : static void
     725           0 : sql_help_ALTER_OPERATOR(PQExpBuffer buf)
     726             : {
     727           0 :     appendPQExpBuffer(buf,
     728             :                       "ALTER OPERATOR %s ( { %s | NONE } , %s )\n"
     729             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     730             :                       "\n"
     731             :                       "ALTER OPERATOR %s ( { %s | NONE } , %s )\n"
     732             :                       "    SET SCHEMA %s\n"
     733             :                       "\n"
     734             :                       "ALTER OPERATOR %s ( { %s | NONE } , %s )\n"
     735             :                       "    SET ( {  RESTRICT = { %s | NONE }\n"
     736             :                       "           | JOIN = { %s | NONE }\n"
     737             :                       "           | COMMUTATOR = %s\n"
     738             :                       "           | NEGATOR = %s\n"
     739             :                       "           | HASHES\n"
     740             :                       "           | MERGES\n"
     741             :                       "          } [, ... ] )",
     742             :                       _("name"),
     743             :                       _("left_type"),
     744             :                       _("right_type"),
     745             :                       _("new_owner"),
     746             :                       _("name"),
     747             :                       _("left_type"),
     748             :                       _("right_type"),
     749             :                       _("new_schema"),
     750             :                       _("name"),
     751             :                       _("left_type"),
     752             :                       _("right_type"),
     753             :                       _("res_proc"),
     754             :                       _("join_proc"),
     755             :                       _("com_op"),
     756             :                       _("neg_op"));
     757           0 : }
     758             : 
     759             : static void
     760           0 : sql_help_ALTER_OPERATOR_CLASS(PQExpBuffer buf)
     761             : {
     762           0 :     appendPQExpBuffer(buf,
     763             :                       "ALTER OPERATOR CLASS %s USING %s\n"
     764             :                       "    RENAME TO %s\n"
     765             :                       "\n"
     766             :                       "ALTER OPERATOR CLASS %s USING %s\n"
     767             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     768             :                       "\n"
     769             :                       "ALTER OPERATOR CLASS %s USING %s\n"
     770             :                       "    SET SCHEMA %s",
     771             :                       _("name"),
     772             :                       _("index_method"),
     773             :                       _("new_name"),
     774             :                       _("name"),
     775             :                       _("index_method"),
     776             :                       _("new_owner"),
     777             :                       _("name"),
     778             :                       _("index_method"),
     779             :                       _("new_schema"));
     780           0 : }
     781             : 
     782             : static void
     783           0 : sql_help_ALTER_OPERATOR_FAMILY(PQExpBuffer buf)
     784             : {
     785           0 :     appendPQExpBuffer(buf,
     786             :                       "ALTER OPERATOR FAMILY %s USING %s ADD\n"
     787             :                       "  {  OPERATOR %s %s ( %s, %s )\n"
     788             :                       "              [ FOR SEARCH | FOR ORDER BY %s ]\n"
     789             :                       "   | FUNCTION %s [ ( %s [ , %s ] ) ]\n"
     790             :                       "              %s [ ( %s [, ...] ) ]\n"
     791             :                       "  } [, ... ]\n"
     792             :                       "\n"
     793             :                       "ALTER OPERATOR FAMILY %s USING %s DROP\n"
     794             :                       "  {  OPERATOR %s ( %s [ , %s ] )\n"
     795             :                       "   | FUNCTION %s ( %s [ , %s ] )\n"
     796             :                       "  } [, ... ]\n"
     797             :                       "\n"
     798             :                       "ALTER OPERATOR FAMILY %s USING %s\n"
     799             :                       "    RENAME TO %s\n"
     800             :                       "\n"
     801             :                       "ALTER OPERATOR FAMILY %s USING %s\n"
     802             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     803             :                       "\n"
     804             :                       "ALTER OPERATOR FAMILY %s USING %s\n"
     805             :                       "    SET SCHEMA %s",
     806             :                       _("name"),
     807             :                       _("index_method"),
     808             :                       _("strategy_number"),
     809             :                       _("operator_name"),
     810             :                       _("op_type"),
     811             :                       _("op_type"),
     812             :                       _("sort_family_name"),
     813             :                       _("support_number"),
     814             :                       _("op_type"),
     815             :                       _("op_type"),
     816             :                       _("function_name"),
     817             :                       _("argument_type"),
     818             :                       _("name"),
     819             :                       _("index_method"),
     820             :                       _("strategy_number"),
     821             :                       _("op_type"),
     822             :                       _("op_type"),
     823             :                       _("support_number"),
     824             :                       _("op_type"),
     825             :                       _("op_type"),
     826             :                       _("name"),
     827             :                       _("index_method"),
     828             :                       _("new_name"),
     829             :                       _("name"),
     830             :                       _("index_method"),
     831             :                       _("new_owner"),
     832             :                       _("name"),
     833             :                       _("index_method"),
     834             :                       _("new_schema"));
     835           0 : }
     836             : 
     837             : static void
     838           0 : sql_help_ALTER_POLICY(PQExpBuffer buf)
     839             : {
     840           0 :     appendPQExpBuffer(buf,
     841             :                       "ALTER POLICY %s ON %s RENAME TO %s\n"
     842             :                       "\n"
     843             :                       "ALTER POLICY %s ON %s\n"
     844             :                       "    [ TO { %s | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] ]\n"
     845             :                       "    [ USING ( %s ) ]\n"
     846             :                       "    [ WITH CHECK ( %s ) ]",
     847             :                       _("name"),
     848             :                       _("table_name"),
     849             :                       _("new_name"),
     850             :                       _("name"),
     851             :                       _("table_name"),
     852             :                       _("role_name"),
     853             :                       _("using_expression"),
     854             :                       _("check_expression"));
     855           0 : }
     856             : 
     857             : static void
     858           0 : sql_help_ALTER_PROCEDURE(PQExpBuffer buf)
     859             : {
     860           0 :     appendPQExpBuffer(buf,
     861             :                       "ALTER PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     862             :                       "    %s [ ... ] [ RESTRICT ]\n"
     863             :                       "ALTER PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     864             :                       "    RENAME TO %s\n"
     865             :                       "ALTER PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     866             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     867             :                       "ALTER PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     868             :                       "    SET SCHEMA %s\n"
     869             :                       "ALTER PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
     870             :                       "    [ NO ] DEPENDS ON EXTENSION %s\n"
     871             :                       "\n"
     872             :                       "%s\n"
     873             :                       "\n"
     874             :                       "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
     875             :                       "    SET %s { TO | = } { %s | DEFAULT }\n"
     876             :                       "    SET %s FROM CURRENT\n"
     877             :                       "    RESET %s\n"
     878             :                       "    RESET ALL",
     879             :                       _("name"),
     880             :                       _("argmode"),
     881             :                       _("argname"),
     882             :                       _("argtype"),
     883             :                       _("action"),
     884             :                       _("name"),
     885             :                       _("argmode"),
     886             :                       _("argname"),
     887             :                       _("argtype"),
     888             :                       _("new_name"),
     889             :                       _("name"),
     890             :                       _("argmode"),
     891             :                       _("argname"),
     892             :                       _("argtype"),
     893             :                       _("new_owner"),
     894             :                       _("name"),
     895             :                       _("argmode"),
     896             :                       _("argname"),
     897             :                       _("argtype"),
     898             :                       _("new_schema"),
     899             :                       _("name"),
     900             :                       _("argmode"),
     901             :                       _("argname"),
     902             :                       _("argtype"),
     903             :                       _("extension_name"),
     904             :                       _("where action is one of:"),
     905             :                       _("configuration_parameter"),
     906             :                       _("value"),
     907             :                       _("configuration_parameter"),
     908             :                       _("configuration_parameter"));
     909           0 : }
     910             : 
     911             : static void
     912           0 : sql_help_ALTER_PUBLICATION(PQExpBuffer buf)
     913             : {
     914           0 :     appendPQExpBuffer(buf,
     915             :                       "ALTER PUBLICATION %s ADD %s [, ...]\n"
     916             :                       "ALTER PUBLICATION %s SET %s [, ...]\n"
     917             :                       "ALTER PUBLICATION %s DROP %s [, ...]\n"
     918             :                       "ALTER PUBLICATION %s SET ( %s [= %s] [, ... ] )\n"
     919             :                       "ALTER PUBLICATION %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
     920             :                       "ALTER PUBLICATION %s RENAME TO %s\n"
     921             :                       "\n"
     922             :                       "%s\n"
     923             :                       "\n"
     924             :                       "    TABLE %s [, ... ]\n"
     925             :                       "    TABLES IN SCHEMA { %s | CURRENT_SCHEMA } [, ... ]\n"
     926             :                       "\n"
     927             :                       "%s\n"
     928             :                       "\n"
     929             :                       "    TABLE [ ONLY ] %s [ * ] [, ... ]\n"
     930             :                       "    TABLES IN SCHEMA { %s | CURRENT_SCHEMA } [, ... ]\n"
     931             :                       "\n"
     932             :                       "%s\n"
     933             :                       "\n"
     934             :                       "    [ ONLY ] %s [ * ] [ ( %s [, ... ] ) ] [ WHERE ( %s ) ]",
     935             :                       _("name"),
     936             :                       _("publication_object"),
     937             :                       _("name"),
     938             :                       _("publication_object"),
     939             :                       _("name"),
     940             :                       _("publication_drop_object"),
     941             :                       _("name"),
     942             :                       _("publication_parameter"),
     943             :                       _("value"),
     944             :                       _("name"),
     945             :                       _("new_owner"),
     946             :                       _("name"),
     947             :                       _("new_name"),
     948             :                       _("where publication_object is one of:"),
     949             :                       _("table_and_columns"),
     950             :                       _("schema_name"),
     951             :                       _("and publication_drop_object is one of:"),
     952             :                       _("table_name"),
     953             :                       _("schema_name"),
     954             :                       _("and table_and_columns is:"),
     955             :                       _("table_name"),
     956             :                       _("column_name"),
     957             :                       _("expression"));
     958           0 : }
     959             : 
     960             : static void
     961           0 : sql_help_ALTER_ROLE(PQExpBuffer buf)
     962             : {
     963           0 :     appendPQExpBuffer(buf,
     964             :                       "ALTER ROLE %s [ WITH ] %s [ ... ]\n"
     965             :                       "\n"
     966             :                       "%s\n"
     967             :                       "\n"
     968             :                       "      SUPERUSER | NOSUPERUSER\n"
     969             :                       "    | CREATEDB | NOCREATEDB\n"
     970             :                       "    | CREATEROLE | NOCREATEROLE\n"
     971             :                       "    | INHERIT | NOINHERIT\n"
     972             :                       "    | LOGIN | NOLOGIN\n"
     973             :                       "    | REPLICATION | NOREPLICATION\n"
     974             :                       "    | BYPASSRLS | NOBYPASSRLS\n"
     975             :                       "    | CONNECTION LIMIT %s\n"
     976             :                       "    | [ ENCRYPTED ] PASSWORD '%s' | PASSWORD NULL\n"
     977             :                       "    | VALID UNTIL '%s'\n"
     978             :                       "\n"
     979             :                       "ALTER ROLE %s RENAME TO %s\n"
     980             :                       "\n"
     981             :                       "ALTER ROLE { %s | ALL } [ IN DATABASE %s ] SET %s { TO | = } { %s | DEFAULT }\n"
     982             :                       "ALTER ROLE { %s | ALL } [ IN DATABASE %s ] SET %s FROM CURRENT\n"
     983             :                       "ALTER ROLE { %s | ALL } [ IN DATABASE %s ] RESET %s\n"
     984             :                       "ALTER ROLE { %s | ALL } [ IN DATABASE %s ] RESET ALL\n"
     985             :                       "\n"
     986             :                       "%s\n"
     987             :                       "\n"
     988             :                       "    %s\n"
     989             :                       "  | CURRENT_ROLE\n"
     990             :                       "  | CURRENT_USER\n"
     991             :                       "  | SESSION_USER",
     992             :                       _("role_specification"),
     993             :                       _("option"),
     994             :                       _("where option can be:"),
     995             :                       _("connlimit"),
     996             :                       _("password"),
     997             :                       _("timestamp"),
     998             :                       _("name"),
     999             :                       _("new_name"),
    1000             :                       _("role_specification"),
    1001             :                       _("database_name"),
    1002             :                       _("configuration_parameter"),
    1003             :                       _("value"),
    1004             :                       _("role_specification"),
    1005             :                       _("database_name"),
    1006             :                       _("configuration_parameter"),
    1007             :                       _("role_specification"),
    1008             :                       _("database_name"),
    1009             :                       _("configuration_parameter"),
    1010             :                       _("role_specification"),
    1011             :                       _("database_name"),
    1012             :                       _("where role_specification can be:"),
    1013             :                       _("role_name"));
    1014           0 : }
    1015             : 
    1016             : static void
    1017           0 : sql_help_ALTER_ROUTINE(PQExpBuffer buf)
    1018             : {
    1019           0 :     appendPQExpBuffer(buf,
    1020             :                       "ALTER ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
    1021             :                       "    %s [ ... ] [ RESTRICT ]\n"
    1022             :                       "ALTER ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
    1023             :                       "    RENAME TO %s\n"
    1024             :                       "ALTER ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
    1025             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1026             :                       "ALTER ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
    1027             :                       "    SET SCHEMA %s\n"
    1028             :                       "ALTER ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ]\n"
    1029             :                       "    [ NO ] DEPENDS ON EXTENSION %s\n"
    1030             :                       "\n"
    1031             :                       "%s\n"
    1032             :                       "\n"
    1033             :                       "    IMMUTABLE | STABLE | VOLATILE\n"
    1034             :                       "    [ NOT ] LEAKPROOF\n"
    1035             :                       "    [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
    1036             :                       "    PARALLEL { UNSAFE | RESTRICTED | SAFE }\n"
    1037             :                       "    COST %s\n"
    1038             :                       "    ROWS %s\n"
    1039             :                       "    SET %s { TO | = } { %s | DEFAULT }\n"
    1040             :                       "    SET %s FROM CURRENT\n"
    1041             :                       "    RESET %s\n"
    1042             :                       "    RESET ALL",
    1043             :                       _("name"),
    1044             :                       _("argmode"),
    1045             :                       _("argname"),
    1046             :                       _("argtype"),
    1047             :                       _("action"),
    1048             :                       _("name"),
    1049             :                       _("argmode"),
    1050             :                       _("argname"),
    1051             :                       _("argtype"),
    1052             :                       _("new_name"),
    1053             :                       _("name"),
    1054             :                       _("argmode"),
    1055             :                       _("argname"),
    1056             :                       _("argtype"),
    1057             :                       _("new_owner"),
    1058             :                       _("name"),
    1059             :                       _("argmode"),
    1060             :                       _("argname"),
    1061             :                       _("argtype"),
    1062             :                       _("new_schema"),
    1063             :                       _("name"),
    1064             :                       _("argmode"),
    1065             :                       _("argname"),
    1066             :                       _("argtype"),
    1067             :                       _("extension_name"),
    1068             :                       _("where action is one of:"),
    1069             :                       _("execution_cost"),
    1070             :                       _("result_rows"),
    1071             :                       _("configuration_parameter"),
    1072             :                       _("value"),
    1073             :                       _("configuration_parameter"),
    1074             :                       _("configuration_parameter"));
    1075           0 : }
    1076             : 
    1077             : static void
    1078           0 : sql_help_ALTER_RULE(PQExpBuffer buf)
    1079             : {
    1080           0 :     appendPQExpBuffer(buf,
    1081             :                       "ALTER RULE %s ON %s RENAME TO %s",
    1082             :                       _("name"),
    1083             :                       _("table_name"),
    1084             :                       _("new_name"));
    1085           0 : }
    1086             : 
    1087             : static void
    1088           0 : sql_help_ALTER_SCHEMA(PQExpBuffer buf)
    1089             : {
    1090           0 :     appendPQExpBuffer(buf,
    1091             :                       "ALTER SCHEMA %s RENAME TO %s\n"
    1092             :                       "ALTER SCHEMA %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }",
    1093             :                       _("name"),
    1094             :                       _("new_name"),
    1095             :                       _("name"),
    1096             :                       _("new_owner"));
    1097           0 : }
    1098             : 
    1099             : static void
    1100           0 : sql_help_ALTER_SEQUENCE(PQExpBuffer buf)
    1101             : {
    1102           0 :     appendPQExpBuffer(buf,
    1103             :                       "ALTER SEQUENCE [ IF EXISTS ] %s\n"
    1104             :                       "    [ AS %s ]\n"
    1105             :                       "    [ INCREMENT [ BY ] %s ]\n"
    1106             :                       "    [ MINVALUE %s | NO MINVALUE ] [ MAXVALUE %s | NO MAXVALUE ]\n"
    1107             :                       "    [ [ NO ] CYCLE ]\n"
    1108             :                       "    [ START [ WITH ] %s ]\n"
    1109             :                       "    [ RESTART [ [ WITH ] %s ] ]\n"
    1110             :                       "    [ CACHE %s ]\n"
    1111             :                       "    [ OWNED BY { %s.%s | NONE } ]\n"
    1112             :                       "ALTER SEQUENCE [ IF EXISTS ] %s SET { LOGGED | UNLOGGED }\n"
    1113             :                       "ALTER SEQUENCE [ IF EXISTS ] %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1114             :                       "ALTER SEQUENCE [ IF EXISTS ] %s RENAME TO %s\n"
    1115             :                       "ALTER SEQUENCE [ IF EXISTS ] %s SET SCHEMA %s",
    1116             :                       _("name"),
    1117             :                       _("data_type"),
    1118             :                       _("increment"),
    1119             :                       _("minvalue"),
    1120             :                       _("maxvalue"),
    1121             :                       _("start"),
    1122             :                       _("restart"),
    1123             :                       _("cache"),
    1124             :                       _("table_name"),
    1125             :                       _("column_name"),
    1126             :                       _("name"),
    1127             :                       _("name"),
    1128             :                       _("new_owner"),
    1129             :                       _("name"),
    1130             :                       _("new_name"),
    1131             :                       _("name"),
    1132             :                       _("new_schema"));
    1133           0 : }
    1134             : 
    1135             : static void
    1136           0 : sql_help_ALTER_SERVER(PQExpBuffer buf)
    1137             : {
    1138           0 :     appendPQExpBuffer(buf,
    1139             :                       "ALTER SERVER %s [ VERSION '%s' ]\n"
    1140             :                       "    [ OPTIONS ( [ ADD | SET | DROP ] %s ['%s'] [, ... ] ) ]\n"
    1141             :                       "ALTER SERVER %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1142             :                       "ALTER SERVER %s RENAME TO %s",
    1143             :                       _("name"),
    1144             :                       _("new_version"),
    1145             :                       _("option"),
    1146             :                       _("value"),
    1147             :                       _("name"),
    1148             :                       _("new_owner"),
    1149             :                       _("name"),
    1150             :                       _("new_name"));
    1151           0 : }
    1152             : 
    1153             : static void
    1154           0 : sql_help_ALTER_STATISTICS(PQExpBuffer buf)
    1155             : {
    1156           0 :     appendPQExpBuffer(buf,
    1157             :                       "ALTER STATISTICS %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1158             :                       "ALTER STATISTICS %s RENAME TO %s\n"
    1159             :                       "ALTER STATISTICS %s SET SCHEMA %s\n"
    1160             :                       "ALTER STATISTICS %s SET STATISTICS { %s | DEFAULT }",
    1161             :                       _("name"),
    1162             :                       _("new_owner"),
    1163             :                       _("name"),
    1164             :                       _("new_name"),
    1165             :                       _("name"),
    1166             :                       _("new_schema"),
    1167             :                       _("name"),
    1168             :                       _("new_target"));
    1169           0 : }
    1170             : 
    1171             : static void
    1172           0 : sql_help_ALTER_SUBSCRIPTION(PQExpBuffer buf)
    1173             : {
    1174           0 :     appendPQExpBuffer(buf,
    1175             :                       "ALTER SUBSCRIPTION %s CONNECTION '%s'\n"
    1176             :                       "ALTER SUBSCRIPTION %s SET PUBLICATION %s [, ...] [ WITH ( %s [= %s] [, ... ] ) ]\n"
    1177             :                       "ALTER SUBSCRIPTION %s ADD PUBLICATION %s [, ...] [ WITH ( %s [= %s] [, ... ] ) ]\n"
    1178             :                       "ALTER SUBSCRIPTION %s DROP PUBLICATION %s [, ...] [ WITH ( %s [= %s] [, ... ] ) ]\n"
    1179             :                       "ALTER SUBSCRIPTION %s REFRESH PUBLICATION [ WITH ( %s [= %s] [, ... ] ) ]\n"
    1180             :                       "ALTER SUBSCRIPTION %s REFRESH SEQUENCES\n"
    1181             :                       "ALTER SUBSCRIPTION %s ENABLE\n"
    1182             :                       "ALTER SUBSCRIPTION %s DISABLE\n"
    1183             :                       "ALTER SUBSCRIPTION %s SET ( %s [= %s] [, ... ] )\n"
    1184             :                       "ALTER SUBSCRIPTION %s SKIP ( %s = %s )\n"
    1185             :                       "ALTER SUBSCRIPTION %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1186             :                       "ALTER SUBSCRIPTION %s RENAME TO %s",
    1187             :                       _("name"),
    1188             :                       _("conninfo"),
    1189             :                       _("name"),
    1190             :                       _("publication_name"),
    1191             :                       _("publication_option"),
    1192             :                       _("value"),
    1193             :                       _("name"),
    1194             :                       _("publication_name"),
    1195             :                       _("publication_option"),
    1196             :                       _("value"),
    1197             :                       _("name"),
    1198             :                       _("publication_name"),
    1199             :                       _("publication_option"),
    1200             :                       _("value"),
    1201             :                       _("name"),
    1202             :                       _("refresh_option"),
    1203             :                       _("value"),
    1204             :                       _("name"),
    1205             :                       _("name"),
    1206             :                       _("name"),
    1207             :                       _("name"),
    1208             :                       _("subscription_parameter"),
    1209             :                       _("value"),
    1210             :                       _("name"),
    1211             :                       _("skip_option"),
    1212             :                       _("value"),
    1213             :                       _("name"),
    1214             :                       _("new_owner"),
    1215             :                       _("name"),
    1216             :                       _("new_name"));
    1217           0 : }
    1218             : 
    1219             : static void
    1220           0 : sql_help_ALTER_SYSTEM(PQExpBuffer buf)
    1221             : {
    1222           0 :     appendPQExpBuffer(buf,
    1223             :                       "ALTER SYSTEM SET %s { TO | = } { %s [, ...] | DEFAULT }\n"
    1224             :                       "\n"
    1225             :                       "ALTER SYSTEM RESET %s\n"
    1226             :                       "ALTER SYSTEM RESET ALL",
    1227             :                       _("configuration_parameter"),
    1228             :                       _("value"),
    1229             :                       _("configuration_parameter"));
    1230           0 : }
    1231             : 
    1232             : static void
    1233           0 : sql_help_ALTER_TABLE(PQExpBuffer buf)
    1234             : {
    1235           0 :     appendPQExpBuffer(buf,
    1236             :                       "ALTER TABLE [ IF EXISTS ] [ ONLY ] %s [ * ]\n"
    1237             :                       "    %s [, ... ]\n"
    1238             :                       "ALTER TABLE [ IF EXISTS ] [ ONLY ] %s [ * ]\n"
    1239             :                       "    RENAME [ COLUMN ] %s TO %s\n"
    1240             :                       "ALTER TABLE [ IF EXISTS ] [ ONLY ] %s [ * ]\n"
    1241             :                       "    RENAME CONSTRAINT %s TO %s\n"
    1242             :                       "ALTER TABLE [ IF EXISTS ] %s\n"
    1243             :                       "    RENAME TO %s\n"
    1244             :                       "ALTER TABLE [ IF EXISTS ] %s\n"
    1245             :                       "    SET SCHEMA %s\n"
    1246             :                       "ALTER TABLE ALL IN TABLESPACE %s [ OWNED BY %s [, ... ] ]\n"
    1247             :                       "    SET TABLESPACE %s [ NOWAIT ]\n"
    1248             :                       "ALTER TABLE [ IF EXISTS ] %s\n"
    1249             :                       "    ATTACH PARTITION %s { FOR VALUES %s | DEFAULT }\n"
    1250             :                       "ALTER TABLE [ IF EXISTS ] %s\n"
    1251             :                       "    DETACH PARTITION %s [ CONCURRENTLY | FINALIZE ]\n"
    1252             :                       "\n"
    1253             :                       "%s\n"
    1254             :                       "\n"
    1255             :                       "    ADD [ COLUMN ] [ IF NOT EXISTS ] %s %s [ COLLATE %s ] [ %s [ ... ] ]\n"
    1256             :                       "    DROP [ COLUMN ] [ IF EXISTS ] %s [ RESTRICT | CASCADE ]\n"
    1257             :                       "    ALTER [ COLUMN ] %s [ SET DATA ] TYPE %s [ COLLATE %s ] [ USING %s ]\n"
    1258             :                       "    ALTER [ COLUMN ] %s SET DEFAULT %s\n"
    1259             :                       "    ALTER [ COLUMN ] %s DROP DEFAULT\n"
    1260             :                       "    ALTER [ COLUMN ] %s { SET | DROP } NOT NULL\n"
    1261             :                       "    ALTER [ COLUMN ] %s SET EXPRESSION AS ( %s )\n"
    1262             :                       "    ALTER [ COLUMN ] %s DROP EXPRESSION [ IF EXISTS ]\n"
    1263             :                       "    ALTER [ COLUMN ] %s ADD GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( %s ) ]\n"
    1264             :                       "    ALTER [ COLUMN ] %s { SET GENERATED { ALWAYS | BY DEFAULT } | SET %s | RESTART [ [ WITH ] %s ] } [...]\n"
    1265             :                       "    ALTER [ COLUMN ] %s DROP IDENTITY [ IF EXISTS ]\n"
    1266             :                       "    ALTER [ COLUMN ] %s SET STATISTICS { %s | DEFAULT }\n"
    1267             :                       "    ALTER [ COLUMN ] %s SET ( %s = %s [, ... ] )\n"
    1268             :                       "    ALTER [ COLUMN ] %s RESET ( %s [, ... ] )\n"
    1269             :                       "    ALTER [ COLUMN ] %s SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT }\n"
    1270             :                       "    ALTER [ COLUMN ] %s SET COMPRESSION %s\n"
    1271             :                       "    ADD %s [ NOT VALID ]\n"
    1272             :                       "    ADD %s\n"
    1273             :                       "    ALTER CONSTRAINT %s [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ]\n"
    1274             :                       "    ALTER CONSTRAINT %s [ INHERIT | NO INHERIT ]\n"
    1275             :                       "    VALIDATE CONSTRAINT %s\n"
    1276             :                       "    DROP CONSTRAINT [ IF EXISTS ]  %s [ RESTRICT | CASCADE ]\n"
    1277             :                       "    DISABLE TRIGGER [ %s | ALL | USER ]\n"
    1278             :                       "    ENABLE TRIGGER [ %s | ALL | USER ]\n"
    1279             :                       "    ENABLE REPLICA TRIGGER %s\n"
    1280             :                       "    ENABLE ALWAYS TRIGGER %s\n"
    1281             :                       "    DISABLE RULE %s\n"
    1282             :                       "    ENABLE RULE %s\n"
    1283             :                       "    ENABLE REPLICA RULE %s\n"
    1284             :                       "    ENABLE ALWAYS RULE %s\n"
    1285             :                       "    DISABLE ROW LEVEL SECURITY\n"
    1286             :                       "    ENABLE ROW LEVEL SECURITY\n"
    1287             :                       "    FORCE ROW LEVEL SECURITY\n"
    1288             :                       "    NO FORCE ROW LEVEL SECURITY\n"
    1289             :                       "    CLUSTER ON %s\n"
    1290             :                       "    SET WITHOUT CLUSTER\n"
    1291             :                       "    SET WITHOUT OIDS\n"
    1292             :                       "    SET ACCESS METHOD { %s | DEFAULT }\n"
    1293             :                       "    SET TABLESPACE %s\n"
    1294             :                       "    SET { LOGGED | UNLOGGED }\n"
    1295             :                       "    SET ( %s [= %s] [, ... ] )\n"
    1296             :                       "    RESET ( %s [, ... ] )\n"
    1297             :                       "    INHERIT %s\n"
    1298             :                       "    NO INHERIT %s\n"
    1299             :                       "    OF %s\n"
    1300             :                       "    NOT OF\n"
    1301             :                       "    OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1302             :                       "    REPLICA IDENTITY { DEFAULT | USING INDEX %s | FULL | NOTHING }\n"
    1303             :                       "\n"
    1304             :                       "%s\n"
    1305             :                       "\n"
    1306             :                       "IN ( %s [, ...] ) |\n"
    1307             :                       "FROM ( { %s | MINVALUE | MAXVALUE } [, ...] )\n"
    1308             :                       "  TO ( { %s | MINVALUE | MAXVALUE } [, ...] ) |\n"
    1309             :                       "WITH ( MODULUS %s, REMAINDER %s )\n"
    1310             :                       "\n"
    1311             :                       "%s\n"
    1312             :                       "\n"
    1313             :                       "[ CONSTRAINT %s ]\n"
    1314             :                       "{ NOT NULL [ NO INHERIT ] |\n"
    1315             :                       "  NULL |\n"
    1316             :                       "  CHECK ( %s ) [ NO INHERIT ] |\n"
    1317             :                       "  DEFAULT %s |\n"
    1318             :                       "  GENERATED ALWAYS AS ( %s ) [ STORED | VIRTUAL ] |\n"
    1319             :                       "  GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( %s ) ] |\n"
    1320             :                       "  UNIQUE [ NULLS [ NOT ] DISTINCT ] %s |\n"
    1321             :                       "  PRIMARY KEY %s |\n"
    1322             :                       "  REFERENCES %s [ ( %s ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]\n"
    1323             :                       "    [ ON DELETE %s ] [ ON UPDATE %s ] }\n"
    1324             :                       "[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ]\n"
    1325             :                       "\n"
    1326             :                       "%s\n"
    1327             :                       "\n"
    1328             :                       "[ CONSTRAINT %s ]\n"
    1329             :                       "{ CHECK ( %s ) [ NO INHERIT ] |\n"
    1330             :                       "  NOT NULL %s [ NO INHERIT ] |\n"
    1331             :                       "  UNIQUE [ NULLS [ NOT ] DISTINCT ] ( %s [, ... ] [, %s WITHOUT OVERLAPS ] ) %s |\n"
    1332             :                       "  PRIMARY KEY ( %s [, ... ] [, %s WITHOUT OVERLAPS ] ) %s |\n"
    1333             :                       "  EXCLUDE [ USING %s ] ( %s WITH %s [, ... ] ) %s [ WHERE ( %s ) ] |\n"
    1334             :                       "  FOREIGN KEY ( %s [, ... ] [, PERIOD %s ] ) REFERENCES %s [ ( %s [, ... ]  [, PERIOD %s ] ) ]\n"
    1335             :                       "    [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE %s ] [ ON UPDATE %s ] }\n"
    1336             :                       "[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ]\n"
    1337             :                       "\n"
    1338             :                       "%s\n"
    1339             :                       "\n"
    1340             :                       "    [ CONSTRAINT %s ]\n"
    1341             :                       "    { UNIQUE | PRIMARY KEY } USING INDEX %s\n"
    1342             :                       "    [ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]\n"
    1343             :                       "\n"
    1344             :                       "%s\n"
    1345             :                       "\n"
    1346             :                       "[ INCLUDE ( %s [, ... ] ) ]\n"
    1347             :                       "[ WITH ( %s [= %s] [, ... ] ) ]\n"
    1348             :                       "[ USING INDEX TABLESPACE %s ]\n"
    1349             :                       "\n"
    1350             :                       "%s\n"
    1351             :                       "\n"
    1352             :                       "{ %s | ( %s ) } [ COLLATE %s ] [ %s [ ( %s = %s [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n"
    1353             :                       "\n"
    1354             :                       "%s\n"
    1355             :                       "\n"
    1356             :                       "{ NO ACTION | RESTRICT | CASCADE | SET NULL [ ( %s [, ... ] ) ] | SET DEFAULT [ ( %s [, ... ] ) ] }",
    1357             :                       _("name"),
    1358             :                       _("action"),
    1359             :                       _("name"),
    1360             :                       _("column_name"),
    1361             :                       _("new_column_name"),
    1362             :                       _("name"),
    1363             :                       _("constraint_name"),
    1364             :                       _("new_constraint_name"),
    1365             :                       _("name"),
    1366             :                       _("new_name"),
    1367             :                       _("name"),
    1368             :                       _("new_schema"),
    1369             :                       _("name"),
    1370             :                       _("role_name"),
    1371             :                       _("new_tablespace"),
    1372             :                       _("name"),
    1373             :                       _("partition_name"),
    1374             :                       _("partition_bound_spec"),
    1375             :                       _("name"),
    1376             :                       _("partition_name"),
    1377             :                       _("where action is one of:"),
    1378             :                       _("column_name"),
    1379             :                       _("data_type"),
    1380             :                       _("collation"),
    1381             :                       _("column_constraint"),
    1382             :                       _("column_name"),
    1383             :                       _("column_name"),
    1384             :                       _("data_type"),
    1385             :                       _("collation"),
    1386             :                       _("expression"),
    1387             :                       _("column_name"),
    1388             :                       _("expression"),
    1389             :                       _("column_name"),
    1390             :                       _("column_name"),
    1391             :                       _("column_name"),
    1392             :                       _("expression"),
    1393             :                       _("column_name"),
    1394             :                       _("column_name"),
    1395             :                       _("sequence_options"),
    1396             :                       _("column_name"),
    1397             :                       _("sequence_option"),
    1398             :                       _("restart"),
    1399             :                       _("column_name"),
    1400             :                       _("column_name"),
    1401             :                       _("integer"),
    1402             :                       _("column_name"),
    1403             :                       _("attribute_option"),
    1404             :                       _("value"),
    1405             :                       _("column_name"),
    1406             :                       _("attribute_option"),
    1407             :                       _("column_name"),
    1408             :                       _("column_name"),
    1409             :                       _("compression_method"),
    1410             :                       _("table_constraint"),
    1411             :                       _("table_constraint_using_index"),
    1412             :                       _("constraint_name"),
    1413             :                       _("constraint_name"),
    1414             :                       _("constraint_name"),
    1415             :                       _("constraint_name"),
    1416             :                       _("trigger_name"),
    1417             :                       _("trigger_name"),
    1418             :                       _("trigger_name"),
    1419             :                       _("trigger_name"),
    1420             :                       _("rewrite_rule_name"),
    1421             :                       _("rewrite_rule_name"),
    1422             :                       _("rewrite_rule_name"),
    1423             :                       _("rewrite_rule_name"),
    1424             :                       _("index_name"),
    1425             :                       _("new_access_method"),
    1426             :                       _("new_tablespace"),
    1427             :                       _("storage_parameter"),
    1428             :                       _("value"),
    1429             :                       _("storage_parameter"),
    1430             :                       _("parent_table"),
    1431             :                       _("parent_table"),
    1432             :                       _("type_name"),
    1433             :                       _("new_owner"),
    1434             :                       _("index_name"),
    1435             :                       _("and partition_bound_spec is:"),
    1436             :                       _("partition_bound_expr"),
    1437             :                       _("partition_bound_expr"),
    1438             :                       _("partition_bound_expr"),
    1439             :                       _("numeric_literal"),
    1440             :                       _("numeric_literal"),
    1441             :                       _("and column_constraint is:"),
    1442             :                       _("constraint_name"),
    1443             :                       _("expression"),
    1444             :                       _("default_expr"),
    1445             :                       _("generation_expr"),
    1446             :                       _("sequence_options"),
    1447             :                       _("index_parameters"),
    1448             :                       _("index_parameters"),
    1449             :                       _("reftable"),
    1450             :                       _("refcolumn"),
    1451             :                       _("referential_action"),
    1452             :                       _("referential_action"),
    1453             :                       _("and table_constraint is:"),
    1454             :                       _("constraint_name"),
    1455             :                       _("expression"),
    1456             :                       _("column_name"),
    1457             :                       _("column_name"),
    1458             :                       _("column_name"),
    1459             :                       _("index_parameters"),
    1460             :                       _("column_name"),
    1461             :                       _("column_name"),
    1462             :                       _("index_parameters"),
    1463             :                       _("index_method"),
    1464             :                       _("exclude_element"),
    1465             :                       _("operator"),
    1466             :                       _("index_parameters"),
    1467             :                       _("predicate"),
    1468             :                       _("column_name"),
    1469             :                       _("column_name"),
    1470             :                       _("reftable"),
    1471             :                       _("refcolumn"),
    1472             :                       _("refcolumn"),
    1473             :                       _("referential_action"),
    1474             :                       _("referential_action"),
    1475             :                       _("and table_constraint_using_index is:"),
    1476             :                       _("constraint_name"),
    1477             :                       _("index_name"),
    1478             :                       _("index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"),
    1479             :                       _("column_name"),
    1480             :                       _("storage_parameter"),
    1481             :                       _("value"),
    1482             :                       _("tablespace_name"),
    1483             :                       _("exclude_element in an EXCLUDE constraint is:"),
    1484             :                       _("column_name"),
    1485             :                       _("expression"),
    1486             :                       _("collation"),
    1487             :                       _("opclass"),
    1488             :                       _("opclass_parameter"),
    1489             :                       _("value"),
    1490             :                       _("referential_action in a FOREIGN KEY/REFERENCES constraint is:"),
    1491             :                       _("column_name"),
    1492             :                       _("column_name"));
    1493           0 : }
    1494             : 
    1495             : static void
    1496           0 : sql_help_ALTER_TABLESPACE(PQExpBuffer buf)
    1497             : {
    1498           0 :     appendPQExpBuffer(buf,
    1499             :                       "ALTER TABLESPACE %s RENAME TO %s\n"
    1500             :                       "ALTER TABLESPACE %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1501             :                       "ALTER TABLESPACE %s SET ( %s = %s [, ... ] )\n"
    1502             :                       "ALTER TABLESPACE %s RESET ( %s [, ... ] )",
    1503             :                       _("name"),
    1504             :                       _("new_name"),
    1505             :                       _("name"),
    1506             :                       _("new_owner"),
    1507             :                       _("name"),
    1508             :                       _("tablespace_option"),
    1509             :                       _("value"),
    1510             :                       _("name"),
    1511             :                       _("tablespace_option"));
    1512           0 : }
    1513             : 
    1514             : static void
    1515           0 : sql_help_ALTER_TEXT_SEARCH_CONFIGURATION(PQExpBuffer buf)
    1516             : {
    1517           0 :     appendPQExpBuffer(buf,
    1518             :                       "ALTER TEXT SEARCH CONFIGURATION %s\n"
    1519             :                       "    ADD MAPPING FOR %s [, ... ] WITH %s [, ... ]\n"
    1520             :                       "ALTER TEXT SEARCH CONFIGURATION %s\n"
    1521             :                       "    ALTER MAPPING FOR %s [, ... ] WITH %s [, ... ]\n"
    1522             :                       "ALTER TEXT SEARCH CONFIGURATION %s\n"
    1523             :                       "    ALTER MAPPING REPLACE %s WITH %s\n"
    1524             :                       "ALTER TEXT SEARCH CONFIGURATION %s\n"
    1525             :                       "    ALTER MAPPING FOR %s [, ... ] REPLACE %s WITH %s\n"
    1526             :                       "ALTER TEXT SEARCH CONFIGURATION %s\n"
    1527             :                       "    DROP MAPPING [ IF EXISTS ] FOR %s [, ... ]\n"
    1528             :                       "ALTER TEXT SEARCH CONFIGURATION %s RENAME TO %s\n"
    1529             :                       "ALTER TEXT SEARCH CONFIGURATION %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1530             :                       "ALTER TEXT SEARCH CONFIGURATION %s SET SCHEMA %s",
    1531             :                       _("name"),
    1532             :                       _("token_type"),
    1533             :                       _("dictionary_name"),
    1534             :                       _("name"),
    1535             :                       _("token_type"),
    1536             :                       _("dictionary_name"),
    1537             :                       _("name"),
    1538             :                       _("old_dictionary"),
    1539             :                       _("new_dictionary"),
    1540             :                       _("name"),
    1541             :                       _("token_type"),
    1542             :                       _("old_dictionary"),
    1543             :                       _("new_dictionary"),
    1544             :                       _("name"),
    1545             :                       _("token_type"),
    1546             :                       _("name"),
    1547             :                       _("new_name"),
    1548             :                       _("name"),
    1549             :                       _("new_owner"),
    1550             :                       _("name"),
    1551             :                       _("new_schema"));
    1552           0 : }
    1553             : 
    1554             : static void
    1555           0 : sql_help_ALTER_TEXT_SEARCH_DICTIONARY(PQExpBuffer buf)
    1556             : {
    1557           0 :     appendPQExpBuffer(buf,
    1558             :                       "ALTER TEXT SEARCH DICTIONARY %s (\n"
    1559             :                       "    %s [ = %s ] [, ... ]\n"
    1560             :                       ")\n"
    1561             :                       "ALTER TEXT SEARCH DICTIONARY %s RENAME TO %s\n"
    1562             :                       "ALTER TEXT SEARCH DICTIONARY %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1563             :                       "ALTER TEXT SEARCH DICTIONARY %s SET SCHEMA %s",
    1564             :                       _("name"),
    1565             :                       _("option"),
    1566             :                       _("value"),
    1567             :                       _("name"),
    1568             :                       _("new_name"),
    1569             :                       _("name"),
    1570             :                       _("new_owner"),
    1571             :                       _("name"),
    1572             :                       _("new_schema"));
    1573           0 : }
    1574             : 
    1575             : static void
    1576           0 : sql_help_ALTER_TEXT_SEARCH_PARSER(PQExpBuffer buf)
    1577             : {
    1578           0 :     appendPQExpBuffer(buf,
    1579             :                       "ALTER TEXT SEARCH PARSER %s RENAME TO %s\n"
    1580             :                       "ALTER TEXT SEARCH PARSER %s SET SCHEMA %s",
    1581             :                       _("name"),
    1582             :                       _("new_name"),
    1583             :                       _("name"),
    1584             :                       _("new_schema"));
    1585           0 : }
    1586             : 
    1587             : static void
    1588           0 : sql_help_ALTER_TEXT_SEARCH_TEMPLATE(PQExpBuffer buf)
    1589             : {
    1590           0 :     appendPQExpBuffer(buf,
    1591             :                       "ALTER TEXT SEARCH TEMPLATE %s RENAME TO %s\n"
    1592             :                       "ALTER TEXT SEARCH TEMPLATE %s SET SCHEMA %s",
    1593             :                       _("name"),
    1594             :                       _("new_name"),
    1595             :                       _("name"),
    1596             :                       _("new_schema"));
    1597           0 : }
    1598             : 
    1599             : static void
    1600           0 : sql_help_ALTER_TRIGGER(PQExpBuffer buf)
    1601             : {
    1602           0 :     appendPQExpBuffer(buf,
    1603             :                       "ALTER TRIGGER %s ON %s RENAME TO %s\n"
    1604             :                       "ALTER TRIGGER %s ON %s [ NO ] DEPENDS ON EXTENSION %s",
    1605             :                       _("name"),
    1606             :                       _("table_name"),
    1607             :                       _("new_name"),
    1608             :                       _("name"),
    1609             :                       _("table_name"),
    1610             :                       _("extension_name"));
    1611           0 : }
    1612             : 
    1613             : static void
    1614           0 : sql_help_ALTER_TYPE(PQExpBuffer buf)
    1615             : {
    1616           0 :     appendPQExpBuffer(buf,
    1617             :                       "ALTER TYPE %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1618             :                       "ALTER TYPE %s RENAME TO %s\n"
    1619             :                       "ALTER TYPE %s SET SCHEMA %s\n"
    1620             :                       "ALTER TYPE %s RENAME ATTRIBUTE %s TO %s [ CASCADE | RESTRICT ]\n"
    1621             :                       "ALTER TYPE %s %s [, ... ]\n"
    1622             :                       "ALTER TYPE %s ADD VALUE [ IF NOT EXISTS ] %s [ { BEFORE | AFTER } %s ]\n"
    1623             :                       "ALTER TYPE %s RENAME VALUE %s TO %s\n"
    1624             :                       "ALTER TYPE %s SET ( %s = %s [, ... ] )\n"
    1625             :                       "\n"
    1626             :                       "%s\n"
    1627             :                       "\n"
    1628             :                       "    ADD ATTRIBUTE %s %s [ COLLATE %s ] [ CASCADE | RESTRICT ]\n"
    1629             :                       "    DROP ATTRIBUTE [ IF EXISTS ] %s [ CASCADE | RESTRICT ]\n"
    1630             :                       "    ALTER ATTRIBUTE %s [ SET DATA ] TYPE %s [ COLLATE %s ] [ CASCADE | RESTRICT ]",
    1631             :                       _("name"),
    1632             :                       _("new_owner"),
    1633             :                       _("name"),
    1634             :                       _("new_name"),
    1635             :                       _("name"),
    1636             :                       _("new_schema"),
    1637             :                       _("name"),
    1638             :                       _("attribute_name"),
    1639             :                       _("new_attribute_name"),
    1640             :                       _("name"),
    1641             :                       _("action"),
    1642             :                       _("name"),
    1643             :                       _("new_enum_value"),
    1644             :                       _("neighbor_enum_value"),
    1645             :                       _("name"),
    1646             :                       _("existing_enum_value"),
    1647             :                       _("new_enum_value"),
    1648             :                       _("name"),
    1649             :                       _("property"),
    1650             :                       _("value"),
    1651             :                       _("where action is one of:"),
    1652             :                       _("attribute_name"),
    1653             :                       _("data_type"),
    1654             :                       _("collation"),
    1655             :                       _("attribute_name"),
    1656             :                       _("attribute_name"),
    1657             :                       _("data_type"),
    1658             :                       _("collation"));
    1659           0 : }
    1660             : 
    1661             : static void
    1662           0 : sql_help_ALTER_USER(PQExpBuffer buf)
    1663             : {
    1664           0 :     appendPQExpBuffer(buf,
    1665             :                       "ALTER USER %s [ WITH ] %s [ ... ]\n"
    1666             :                       "\n"
    1667             :                       "%s\n"
    1668             :                       "\n"
    1669             :                       "      SUPERUSER | NOSUPERUSER\n"
    1670             :                       "    | CREATEDB | NOCREATEDB\n"
    1671             :                       "    | CREATEROLE | NOCREATEROLE\n"
    1672             :                       "    | INHERIT | NOINHERIT\n"
    1673             :                       "    | LOGIN | NOLOGIN\n"
    1674             :                       "    | REPLICATION | NOREPLICATION\n"
    1675             :                       "    | BYPASSRLS | NOBYPASSRLS\n"
    1676             :                       "    | CONNECTION LIMIT %s\n"
    1677             :                       "    | [ ENCRYPTED ] PASSWORD '%s' | PASSWORD NULL\n"
    1678             :                       "    | VALID UNTIL '%s'\n"
    1679             :                       "\n"
    1680             :                       "ALTER USER %s RENAME TO %s\n"
    1681             :                       "\n"
    1682             :                       "ALTER USER { %s | ALL } [ IN DATABASE %s ] SET %s { TO | = } { %s | DEFAULT }\n"
    1683             :                       "ALTER USER { %s | ALL } [ IN DATABASE %s ] SET %s FROM CURRENT\n"
    1684             :                       "ALTER USER { %s | ALL } [ IN DATABASE %s ] RESET %s\n"
    1685             :                       "ALTER USER { %s | ALL } [ IN DATABASE %s ] RESET ALL\n"
    1686             :                       "\n"
    1687             :                       "%s\n"
    1688             :                       "\n"
    1689             :                       "    %s\n"
    1690             :                       "  | CURRENT_ROLE\n"
    1691             :                       "  | CURRENT_USER\n"
    1692             :                       "  | SESSION_USER",
    1693             :                       _("role_specification"),
    1694             :                       _("option"),
    1695             :                       _("where option can be:"),
    1696             :                       _("connlimit"),
    1697             :                       _("password"),
    1698             :                       _("timestamp"),
    1699             :                       _("name"),
    1700             :                       _("new_name"),
    1701             :                       _("role_specification"),
    1702             :                       _("database_name"),
    1703             :                       _("configuration_parameter"),
    1704             :                       _("value"),
    1705             :                       _("role_specification"),
    1706             :                       _("database_name"),
    1707             :                       _("configuration_parameter"),
    1708             :                       _("role_specification"),
    1709             :                       _("database_name"),
    1710             :                       _("configuration_parameter"),
    1711             :                       _("role_specification"),
    1712             :                       _("database_name"),
    1713             :                       _("where role_specification can be:"),
    1714             :                       _("role_name"));
    1715           0 : }
    1716             : 
    1717             : static void
    1718           0 : sql_help_ALTER_USER_MAPPING(PQExpBuffer buf)
    1719             : {
    1720           0 :     appendPQExpBuffer(buf,
    1721             :                       "ALTER USER MAPPING FOR { %s | USER | CURRENT_ROLE | CURRENT_USER | SESSION_USER | PUBLIC }\n"
    1722             :                       "    SERVER %s\n"
    1723             :                       "    OPTIONS ( [ ADD | SET | DROP ] %s ['%s'] [, ... ] )",
    1724             :                       _("user_name"),
    1725             :                       _("server_name"),
    1726             :                       _("option"),
    1727             :                       _("value"));
    1728           0 : }
    1729             : 
    1730             : static void
    1731           0 : sql_help_ALTER_VIEW(PQExpBuffer buf)
    1732             : {
    1733           0 :     appendPQExpBuffer(buf,
    1734             :                       "ALTER VIEW [ IF EXISTS ] %s ALTER [ COLUMN ] %s SET DEFAULT %s\n"
    1735             :                       "ALTER VIEW [ IF EXISTS ] %s ALTER [ COLUMN ] %s DROP DEFAULT\n"
    1736             :                       "ALTER VIEW [ IF EXISTS ] %s OWNER TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }\n"
    1737             :                       "ALTER VIEW [ IF EXISTS ] %s RENAME [ COLUMN ] %s TO %s\n"
    1738             :                       "ALTER VIEW [ IF EXISTS ] %s RENAME TO %s\n"
    1739             :                       "ALTER VIEW [ IF EXISTS ] %s SET SCHEMA %s\n"
    1740             :                       "ALTER VIEW [ IF EXISTS ] %s SET ( %s [= %s] [, ... ] )\n"
    1741             :                       "ALTER VIEW [ IF EXISTS ] %s RESET ( %s [, ... ] )",
    1742             :                       _("name"),
    1743             :                       _("column_name"),
    1744             :                       _("expression"),
    1745             :                       _("name"),
    1746             :                       _("column_name"),
    1747             :                       _("name"),
    1748             :                       _("new_owner"),
    1749             :                       _("name"),
    1750             :                       _("column_name"),
    1751             :                       _("new_column_name"),
    1752             :                       _("name"),
    1753             :                       _("new_name"),
    1754             :                       _("name"),
    1755             :                       _("new_schema"),
    1756             :                       _("name"),
    1757             :                       _("view_option_name"),
    1758             :                       _("view_option_value"),
    1759             :                       _("name"),
    1760             :                       _("view_option_name"));
    1761           0 : }
    1762             : 
    1763             : static void
    1764           0 : sql_help_ANALYZE(PQExpBuffer buf)
    1765             : {
    1766           0 :     appendPQExpBuffer(buf,
    1767             :                       "ANALYZE [ ( %s [, ...] ) ] [ %s [, ...] ]\n"
    1768             :                       "\n"
    1769             :                       "%s\n"
    1770             :                       "\n"
    1771             :                       "    VERBOSE [ %s ]\n"
    1772             :                       "    SKIP_LOCKED [ %s ]\n"
    1773             :                       "    BUFFER_USAGE_LIMIT %s\n"
    1774             :                       "\n"
    1775             :                       "%s\n"
    1776             :                       "\n"
    1777             :                       "    [ ONLY ] %s [ * ] [ ( %s [, ...] ) ]",
    1778             :                       _("option"),
    1779             :                       _("table_and_columns"),
    1780             :                       _("where option can be one of:"),
    1781             :                       _("boolean"),
    1782             :                       _("boolean"),
    1783             :                       _("size"),
    1784             :                       _("and table_and_columns is:"),
    1785             :                       _("table_name"),
    1786             :                       _("column_name"));
    1787           0 : }
    1788             : 
    1789             : static void
    1790           0 : sql_help_BEGIN(PQExpBuffer buf)
    1791             : {
    1792           0 :     appendPQExpBuffer(buf,
    1793             :                       "BEGIN [ WORK | TRANSACTION ] [ %s [, ...] ]\n"
    1794             :                       "\n"
    1795             :                       "%s\n"
    1796             :                       "\n"
    1797             :                       "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
    1798             :                       "    READ WRITE | READ ONLY\n"
    1799             :                       "    [ NOT ] DEFERRABLE",
    1800             :                       _("transaction_mode"),
    1801             :                       _("where transaction_mode is one of:"));
    1802           0 : }
    1803             : 
    1804             : static void
    1805           0 : sql_help_CALL(PQExpBuffer buf)
    1806             : {
    1807           0 :     appendPQExpBuffer(buf,
    1808             :                       "CALL %s ( [ %s ] [, ...] )",
    1809             :                       _("name"),
    1810             :                       _("argument"));
    1811           0 : }
    1812             : 
    1813             : static void
    1814           0 : sql_help_CHECKPOINT(PQExpBuffer buf)
    1815             : {
    1816           0 :     appendPQExpBuffer(buf,
    1817             :                       "CHECKPOINT [ ( option [, ...] ) ]\n"
    1818             :                       "\n"
    1819             :                       "%s\n"
    1820             :                       "\n"
    1821             :                       "    FLUSH_UNLOGGED [ %s ]\n"
    1822             :                       "    MODE { FAST | SPREAD }",
    1823             :                       _("where option can be one of:"),
    1824             :                       _("boolean"));
    1825           0 : }
    1826             : 
    1827             : static void
    1828           0 : sql_help_CLOSE(PQExpBuffer buf)
    1829             : {
    1830           0 :     appendPQExpBuffer(buf,
    1831             :                       "CLOSE { %s | ALL }",
    1832             :                       _("name"));
    1833           0 : }
    1834             : 
    1835             : static void
    1836           0 : sql_help_CLUSTER(PQExpBuffer buf)
    1837             : {
    1838           0 :     appendPQExpBuffer(buf,
    1839             :                       "CLUSTER [ ( %s [, ...] ) ] [ %s [ USING %s ] ]\n"
    1840             :                       "\n"
    1841             :                       "%s\n"
    1842             :                       "\n"
    1843             :                       "    VERBOSE [ %s ]",
    1844             :                       _("option"),
    1845             :                       _("table_name"),
    1846             :                       _("index_name"),
    1847             :                       _("where option can be one of:"),
    1848             :                       _("boolean"));
    1849           0 : }
    1850             : 
    1851             : static void
    1852           0 : sql_help_COMMENT(PQExpBuffer buf)
    1853             : {
    1854           0 :     appendPQExpBuffer(buf,
    1855             :                       "COMMENT ON\n"
    1856             :                       "{\n"
    1857             :                       "  ACCESS METHOD %s |\n"
    1858             :                       "  AGGREGATE %s ( %s ) |\n"
    1859             :                       "  CAST (%s AS %s) |\n"
    1860             :                       "  COLLATION %s |\n"
    1861             :                       "  COLUMN %s.%s |\n"
    1862             :                       "  CONSTRAINT %s ON %s |\n"
    1863             :                       "  CONSTRAINT %s ON DOMAIN %s |\n"
    1864             :                       "  CONVERSION %s |\n"
    1865             :                       "  DATABASE %s |\n"
    1866             :                       "  DOMAIN %s |\n"
    1867             :                       "  EXTENSION %s |\n"
    1868             :                       "  EVENT TRIGGER %s |\n"
    1869             :                       "  FOREIGN DATA WRAPPER %s |\n"
    1870             :                       "  FOREIGN TABLE %s |\n"
    1871             :                       "  FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    1872             :                       "  INDEX %s |\n"
    1873             :                       "  LARGE OBJECT %s |\n"
    1874             :                       "  MATERIALIZED VIEW %s |\n"
    1875             :                       "  OPERATOR %s (%s, %s) |\n"
    1876             :                       "  OPERATOR CLASS %s USING %s |\n"
    1877             :                       "  OPERATOR FAMILY %s USING %s |\n"
    1878             :                       "  POLICY %s ON %s |\n"
    1879             :                       "  [ PROCEDURAL ] LANGUAGE %s |\n"
    1880             :                       "  PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    1881             :                       "  PUBLICATION %s |\n"
    1882             :                       "  ROLE %s |\n"
    1883             :                       "  ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    1884             :                       "  RULE %s ON %s |\n"
    1885             :                       "  SCHEMA %s |\n"
    1886             :                       "  SEQUENCE %s |\n"
    1887             :                       "  SERVER %s |\n"
    1888             :                       "  STATISTICS %s |\n"
    1889             :                       "  SUBSCRIPTION %s |\n"
    1890             :                       "  TABLE %s |\n"
    1891             :                       "  TABLESPACE %s |\n"
    1892             :                       "  TEXT SEARCH CONFIGURATION %s |\n"
    1893             :                       "  TEXT SEARCH DICTIONARY %s |\n"
    1894             :                       "  TEXT SEARCH PARSER %s |\n"
    1895             :                       "  TEXT SEARCH TEMPLATE %s |\n"
    1896             :                       "  TRANSFORM FOR %s LANGUAGE %s |\n"
    1897             :                       "  TRIGGER %s ON %s |\n"
    1898             :                       "  TYPE %s |\n"
    1899             :                       "  VIEW %s\n"
    1900             :                       "} IS { %s | NULL }\n"
    1901             :                       "\n"
    1902             :                       "%s\n"
    1903             :                       "\n"
    1904             :                       "* |\n"
    1905             :                       "[ %s ] [ %s ] %s [ , ... ] |\n"
    1906             :                       "[ [ %s ] [ %s ] %s [ , ... ] ] ORDER BY [ %s ] [ %s ] %s [ , ... ]",
    1907             :                       _("object_name"),
    1908             :                       _("aggregate_name"),
    1909             :                       _("aggregate_signature"),
    1910             :                       _("source_type"),
    1911             :                       _("target_type"),
    1912             :                       _("object_name"),
    1913             :                       _("relation_name"),
    1914             :                       _("column_name"),
    1915             :                       _("constraint_name"),
    1916             :                       _("table_name"),
    1917             :                       _("constraint_name"),
    1918             :                       _("domain_name"),
    1919             :                       _("object_name"),
    1920             :                       _("object_name"),
    1921             :                       _("object_name"),
    1922             :                       _("object_name"),
    1923             :                       _("object_name"),
    1924             :                       _("object_name"),
    1925             :                       _("object_name"),
    1926             :                       _("function_name"),
    1927             :                       _("argmode"),
    1928             :                       _("argname"),
    1929             :                       _("argtype"),
    1930             :                       _("object_name"),
    1931             :                       _("large_object_oid"),
    1932             :                       _("object_name"),
    1933             :                       _("operator_name"),
    1934             :                       _("left_type"),
    1935             :                       _("right_type"),
    1936             :                       _("object_name"),
    1937             :                       _("index_method"),
    1938             :                       _("object_name"),
    1939             :                       _("index_method"),
    1940             :                       _("policy_name"),
    1941             :                       _("table_name"),
    1942             :                       _("object_name"),
    1943             :                       _("procedure_name"),
    1944             :                       _("argmode"),
    1945             :                       _("argname"),
    1946             :                       _("argtype"),
    1947             :                       _("object_name"),
    1948             :                       _("object_name"),
    1949             :                       _("routine_name"),
    1950             :                       _("argmode"),
    1951             :                       _("argname"),
    1952             :                       _("argtype"),
    1953             :                       _("rule_name"),
    1954             :                       _("table_name"),
    1955             :                       _("object_name"),
    1956             :                       _("object_name"),
    1957             :                       _("object_name"),
    1958             :                       _("object_name"),
    1959             :                       _("object_name"),
    1960             :                       _("object_name"),
    1961             :                       _("object_name"),
    1962             :                       _("object_name"),
    1963             :                       _("object_name"),
    1964             :                       _("object_name"),
    1965             :                       _("object_name"),
    1966             :                       _("type_name"),
    1967             :                       _("lang_name"),
    1968             :                       _("trigger_name"),
    1969             :                       _("table_name"),
    1970             :                       _("object_name"),
    1971             :                       _("object_name"),
    1972             :                       _("string_literal"),
    1973             :                       _("where aggregate_signature is:"),
    1974             :                       _("argmode"),
    1975             :                       _("argname"),
    1976             :                       _("argtype"),
    1977             :                       _("argmode"),
    1978             :                       _("argname"),
    1979             :                       _("argtype"),
    1980             :                       _("argmode"),
    1981             :                       _("argname"),
    1982             :                       _("argtype"));
    1983           0 : }
    1984             : 
    1985             : static void
    1986           0 : sql_help_COMMIT(PQExpBuffer buf)
    1987             : {
    1988           0 :     appendPQExpBuffer(buf,
    1989             :                       "COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]");
    1990           0 : }
    1991             : 
    1992             : static void
    1993           0 : sql_help_COMMIT_PREPARED(PQExpBuffer buf)
    1994             : {
    1995           0 :     appendPQExpBuffer(buf,
    1996             :                       "COMMIT PREPARED %s",
    1997             :                       _("transaction_id"));
    1998           0 : }
    1999             : 
    2000             : static void
    2001           0 : sql_help_COPY(PQExpBuffer buf)
    2002             : {
    2003           0 :     appendPQExpBuffer(buf,
    2004             :                       "COPY %s [ ( %s [, ...] ) ]\n"
    2005             :                       "    FROM { '%s' | PROGRAM '%s' | STDIN }\n"
    2006             :                       "    [ [ WITH ] ( %s [, ...] ) ]\n"
    2007             :                       "    [ WHERE %s ]\n"
    2008             :                       "\n"
    2009             :                       "COPY { %s [ ( %s [, ...] ) ] | ( %s ) }\n"
    2010             :                       "    TO { '%s' | PROGRAM '%s' | STDOUT }\n"
    2011             :                       "    [ [ WITH ] ( %s [, ...] ) ]\n"
    2012             :                       "\n"
    2013             :                       "%s\n"
    2014             :                       "\n"
    2015             :                       "    FORMAT %s\n"
    2016             :                       "    FREEZE [ %s ]\n"
    2017             :                       "    DELIMITER '%s'\n"
    2018             :                       "    NULL '%s'\n"
    2019             :                       "    DEFAULT '%s'\n"
    2020             :                       "    HEADER [ %s | %s | MATCH ]\n"
    2021             :                       "    QUOTE '%s'\n"
    2022             :                       "    ESCAPE '%s'\n"
    2023             :                       "    FORCE_QUOTE { ( %s [, ...] ) | * }\n"
    2024             :                       "    FORCE_NOT_NULL { ( %s [, ...] ) | * }\n"
    2025             :                       "    FORCE_NULL { ( %s [, ...] ) | * }\n"
    2026             :                       "    ON_ERROR %s\n"
    2027             :                       "    REJECT_LIMIT %s\n"
    2028             :                       "    ENCODING '%s'\n"
    2029             :                       "    LOG_VERBOSITY %s",
    2030             :                       _("table_name"),
    2031             :                       _("column_name"),
    2032             :                       _("filename"),
    2033             :                       _("command"),
    2034             :                       _("option"),
    2035             :                       _("condition"),
    2036             :                       _("table_name"),
    2037             :                       _("column_name"),
    2038             :                       _("query"),
    2039             :                       _("filename"),
    2040             :                       _("command"),
    2041             :                       _("option"),
    2042             :                       _("where option can be one of:"),
    2043             :                       _("format_name"),
    2044             :                       _("boolean"),
    2045             :                       _("delimiter_character"),
    2046             :                       _("null_string"),
    2047             :                       _("default_string"),
    2048             :                       _("boolean"),
    2049             :                       _("integer"),
    2050             :                       _("quote_character"),
    2051             :                       _("escape_character"),
    2052             :                       _("column_name"),
    2053             :                       _("column_name"),
    2054             :                       _("column_name"),
    2055             :                       _("error_action"),
    2056             :                       _("maxerror"),
    2057             :                       _("encoding_name"),
    2058             :                       _("verbosity"));
    2059           0 : }
    2060             : 
    2061             : static void
    2062           0 : sql_help_CREATE_ACCESS_METHOD(PQExpBuffer buf)
    2063             : {
    2064           0 :     appendPQExpBuffer(buf,
    2065             :                       "CREATE ACCESS METHOD %s\n"
    2066             :                       "    TYPE %s\n"
    2067             :                       "    HANDLER %s",
    2068             :                       _("name"),
    2069             :                       _("access_method_type"),
    2070             :                       _("handler_function"));
    2071           0 : }
    2072             : 
    2073             : static void
    2074           0 : sql_help_CREATE_AGGREGATE(PQExpBuffer buf)
    2075             : {
    2076           0 :     appendPQExpBuffer(buf,
    2077             :                       "CREATE [ OR REPLACE ] AGGREGATE %s ( [ %s ] [ %s ] %s [ , ... ] ) (\n"
    2078             :                       "    SFUNC = %s,\n"
    2079             :                       "    STYPE = %s\n"
    2080             :                       "    [ , SSPACE = %s ]\n"
    2081             :                       "    [ , FINALFUNC = %s ]\n"
    2082             :                       "    [ , FINALFUNC_EXTRA ]\n"
    2083             :                       "    [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]\n"
    2084             :                       "    [ , COMBINEFUNC = %s ]\n"
    2085             :                       "    [ , SERIALFUNC = %s ]\n"
    2086             :                       "    [ , DESERIALFUNC = %s ]\n"
    2087             :                       "    [ , INITCOND = %s ]\n"
    2088             :                       "    [ , MSFUNC = %s ]\n"
    2089             :                       "    [ , MINVFUNC = %s ]\n"
    2090             :                       "    [ , MSTYPE = %s ]\n"
    2091             :                       "    [ , MSSPACE = %s ]\n"
    2092             :                       "    [ , MFINALFUNC = %s ]\n"
    2093             :                       "    [ , MFINALFUNC_EXTRA ]\n"
    2094             :                       "    [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]\n"
    2095             :                       "    [ , MINITCOND = %s ]\n"
    2096             :                       "    [ , SORTOP = %s ]\n"
    2097             :                       "    [ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ]\n"
    2098             :                       ")\n"
    2099             :                       "\n"
    2100             :                       "CREATE [ OR REPLACE ] AGGREGATE %s ( [ [ %s ] [ %s ] %s [ , ... ] ]\n"
    2101             :                       "                        ORDER BY [ %s ] [ %s ] %s [ , ... ] ) (\n"
    2102             :                       "    SFUNC = %s,\n"
    2103             :                       "    STYPE = %s\n"
    2104             :                       "    [ , SSPACE = %s ]\n"
    2105             :                       "    [ , FINALFUNC = %s ]\n"
    2106             :                       "    [ , FINALFUNC_EXTRA ]\n"
    2107             :                       "    [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]\n"
    2108             :                       "    [ , INITCOND = %s ]\n"
    2109             :                       "    [ , PARALLEL = { SAFE | RESTRICTED | UNSAFE } ]\n"
    2110             :                       "    [ , HYPOTHETICAL ]\n"
    2111             :                       ")\n"
    2112             :                       "\n"
    2113             :                       "%s\n"
    2114             :                       "\n"
    2115             :                       "CREATE [ OR REPLACE ] AGGREGATE %s (\n"
    2116             :                       "    BASETYPE = %s,\n"
    2117             :                       "    SFUNC = %s,\n"
    2118             :                       "    STYPE = %s\n"
    2119             :                       "    [ , SSPACE = %s ]\n"
    2120             :                       "    [ , FINALFUNC = %s ]\n"
    2121             :                       "    [ , FINALFUNC_EXTRA ]\n"
    2122             :                       "    [ , FINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]\n"
    2123             :                       "    [ , COMBINEFUNC = %s ]\n"
    2124             :                       "    [ , SERIALFUNC = %s ]\n"
    2125             :                       "    [ , DESERIALFUNC = %s ]\n"
    2126             :                       "    [ , INITCOND = %s ]\n"
    2127             :                       "    [ , MSFUNC = %s ]\n"
    2128             :                       "    [ , MINVFUNC = %s ]\n"
    2129             :                       "    [ , MSTYPE = %s ]\n"
    2130             :                       "    [ , MSSPACE = %s ]\n"
    2131             :                       "    [ , MFINALFUNC = %s ]\n"
    2132             :                       "    [ , MFINALFUNC_EXTRA ]\n"
    2133             :                       "    [ , MFINALFUNC_MODIFY = { READ_ONLY | SHAREABLE | READ_WRITE } ]\n"
    2134             :                       "    [ , MINITCOND = %s ]\n"
    2135             :                       "    [ , SORTOP = %s ]\n"
    2136             :                       ")",
    2137             :                       _("name"),
    2138             :                       _("argmode"),
    2139             :                       _("argname"),
    2140             :                       _("arg_data_type"),
    2141             :                       _("sfunc"),
    2142             :                       _("state_data_type"),
    2143             :                       _("state_data_size"),
    2144             :                       _("ffunc"),
    2145             :                       _("combinefunc"),
    2146             :                       _("serialfunc"),
    2147             :                       _("deserialfunc"),
    2148             :                       _("initial_condition"),
    2149             :                       _("msfunc"),
    2150             :                       _("minvfunc"),
    2151             :                       _("mstate_data_type"),
    2152             :                       _("mstate_data_size"),
    2153             :                       _("mffunc"),
    2154             :                       _("minitial_condition"),
    2155             :                       _("sort_operator"),
    2156             :                       _("name"),
    2157             :                       _("argmode"),
    2158             :                       _("argname"),
    2159             :                       _("arg_data_type"),
    2160             :                       _("argmode"),
    2161             :                       _("argname"),
    2162             :                       _("arg_data_type"),
    2163             :                       _("sfunc"),
    2164             :                       _("state_data_type"),
    2165             :                       _("state_data_size"),
    2166             :                       _("ffunc"),
    2167             :                       _("initial_condition"),
    2168             :                       _("or the old syntax"),
    2169             :                       _("name"),
    2170             :                       _("base_type"),
    2171             :                       _("sfunc"),
    2172             :                       _("state_data_type"),
    2173             :                       _("state_data_size"),
    2174             :                       _("ffunc"),
    2175             :                       _("combinefunc"),
    2176             :                       _("serialfunc"),
    2177             :                       _("deserialfunc"),
    2178             :                       _("initial_condition"),
    2179             :                       _("msfunc"),
    2180             :                       _("minvfunc"),
    2181             :                       _("mstate_data_type"),
    2182             :                       _("mstate_data_size"),
    2183             :                       _("mffunc"),
    2184             :                       _("minitial_condition"),
    2185             :                       _("sort_operator"));
    2186           0 : }
    2187             : 
    2188             : static void
    2189           0 : sql_help_CREATE_CAST(PQExpBuffer buf)
    2190             : {
    2191           0 :     appendPQExpBuffer(buf,
    2192             :                       "CREATE CAST (%s AS %s)\n"
    2193             :                       "    WITH FUNCTION %s [ (%s [, ...]) ]\n"
    2194             :                       "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
    2195             :                       "\n"
    2196             :                       "CREATE CAST (%s AS %s)\n"
    2197             :                       "    WITHOUT FUNCTION\n"
    2198             :                       "    [ AS ASSIGNMENT | AS IMPLICIT ]\n"
    2199             :                       "\n"
    2200             :                       "CREATE CAST (%s AS %s)\n"
    2201             :                       "    WITH INOUT\n"
    2202             :                       "    [ AS ASSIGNMENT | AS IMPLICIT ]",
    2203             :                       _("source_type"),
    2204             :                       _("target_type"),
    2205             :                       _("function_name"),
    2206             :                       _("argument_type"),
    2207             :                       _("source_type"),
    2208             :                       _("target_type"),
    2209             :                       _("source_type"),
    2210             :                       _("target_type"));
    2211           0 : }
    2212             : 
    2213             : static void
    2214           0 : sql_help_CREATE_COLLATION(PQExpBuffer buf)
    2215             : {
    2216           0 :     appendPQExpBuffer(buf,
    2217             :                       "CREATE COLLATION [ IF NOT EXISTS ] %s (\n"
    2218             :                       "    [ LOCALE = %s, ]\n"
    2219             :                       "    [ LC_COLLATE = %s, ]\n"
    2220             :                       "    [ LC_CTYPE = %s, ]\n"
    2221             :                       "    [ PROVIDER = %s, ]\n"
    2222             :                       "    [ DETERMINISTIC = %s, ]\n"
    2223             :                       "    [ RULES = %s, ]\n"
    2224             :                       "    [ VERSION = %s ]\n"
    2225             :                       ")\n"
    2226             :                       "CREATE COLLATION [ IF NOT EXISTS ] %s FROM %s",
    2227             :                       _("name"),
    2228             :                       _("locale"),
    2229             :                       _("lc_collate"),
    2230             :                       _("lc_ctype"),
    2231             :                       _("provider"),
    2232             :                       _("boolean"),
    2233             :                       _("rules"),
    2234             :                       _("version"),
    2235             :                       _("name"),
    2236             :                       _("existing_collation"));
    2237           0 : }
    2238             : 
    2239             : static void
    2240           0 : sql_help_CREATE_CONVERSION(PQExpBuffer buf)
    2241             : {
    2242           0 :     appendPQExpBuffer(buf,
    2243             :                       "CREATE [ DEFAULT ] CONVERSION %s\n"
    2244             :                       "    FOR %s TO %s FROM %s",
    2245             :                       _("name"),
    2246             :                       _("source_encoding"),
    2247             :                       _("dest_encoding"),
    2248             :                       _("function_name"));
    2249           0 : }
    2250             : 
    2251             : static void
    2252           0 : sql_help_CREATE_DATABASE(PQExpBuffer buf)
    2253             : {
    2254           0 :     appendPQExpBuffer(buf,
    2255             :                       "CREATE DATABASE %s\n"
    2256             :                       "    [ WITH ] [ OWNER [=] %s ]\n"
    2257             :                       "           [ TEMPLATE [=] %s ]\n"
    2258             :                       "           [ ENCODING [=] %s ]\n"
    2259             :                       "           [ STRATEGY [=] %s ]\n"
    2260             :                       "           [ LOCALE [=] %s ]\n"
    2261             :                       "           [ LC_COLLATE [=] %s ]\n"
    2262             :                       "           [ LC_CTYPE [=] %s ]\n"
    2263             :                       "           [ BUILTIN_LOCALE [=] %s ]\n"
    2264             :                       "           [ ICU_LOCALE [=] %s ]\n"
    2265             :                       "           [ ICU_RULES [=] %s ]\n"
    2266             :                       "           [ LOCALE_PROVIDER [=] %s ]\n"
    2267             :                       "           [ COLLATION_VERSION = %s ]\n"
    2268             :                       "           [ TABLESPACE [=] %s ]\n"
    2269             :                       "           [ ALLOW_CONNECTIONS [=] %s ]\n"
    2270             :                       "           [ CONNECTION LIMIT [=] %s ]\n"
    2271             :                       "           [ IS_TEMPLATE [=] %s ]\n"
    2272             :                       "           [ OID [=] %s ]",
    2273             :                       _("name"),
    2274             :                       _("user_name"),
    2275             :                       _("template"),
    2276             :                       _("encoding"),
    2277             :                       _("strategy"),
    2278             :                       _("locale"),
    2279             :                       _("lc_collate"),
    2280             :                       _("lc_ctype"),
    2281             :                       _("builtin_locale"),
    2282             :                       _("icu_locale"),
    2283             :                       _("icu_rules"),
    2284             :                       _("locale_provider"),
    2285             :                       _("collation_version"),
    2286             :                       _("tablespace_name"),
    2287             :                       _("allowconn"),
    2288             :                       _("connlimit"),
    2289             :                       _("istemplate"),
    2290             :                       _("oid"));
    2291           0 : }
    2292             : 
    2293             : static void
    2294           0 : sql_help_CREATE_DOMAIN(PQExpBuffer buf)
    2295             : {
    2296           0 :     appendPQExpBuffer(buf,
    2297             :                       "CREATE DOMAIN %s [ AS ] %s\n"
    2298             :                       "    [ COLLATE %s ]\n"
    2299             :                       "    [ DEFAULT %s ]\n"
    2300             :                       "    [ %s [ ... ] ]\n"
    2301             :                       "\n"
    2302             :                       "%s\n"
    2303             :                       "\n"
    2304             :                       "[ CONSTRAINT %s ]\n"
    2305             :                       "{ NOT NULL | NULL | CHECK (%s) }",
    2306             :                       _("name"),
    2307             :                       _("data_type"),
    2308             :                       _("collation"),
    2309             :                       _("expression"),
    2310             :                       _("domain_constraint"),
    2311             :                       _("where domain_constraint is:"),
    2312             :                       _("constraint_name"),
    2313             :                       _("expression"));
    2314           0 : }
    2315             : 
    2316             : static void
    2317           0 : sql_help_CREATE_EVENT_TRIGGER(PQExpBuffer buf)
    2318             : {
    2319           0 :     appendPQExpBuffer(buf,
    2320             :                       "CREATE EVENT TRIGGER %s\n"
    2321             :                       "    ON %s\n"
    2322             :                       "    [ WHEN %s IN (%s [, ... ]) [ AND ... ] ]\n"
    2323             :                       "    EXECUTE { FUNCTION | PROCEDURE } %s()",
    2324             :                       _("name"),
    2325             :                       _("event"),
    2326             :                       _("filter_variable"),
    2327             :                       _("filter_value"),
    2328             :                       _("function_name"));
    2329           0 : }
    2330             : 
    2331             : static void
    2332           0 : sql_help_CREATE_EXTENSION(PQExpBuffer buf)
    2333             : {
    2334           0 :     appendPQExpBuffer(buf,
    2335             :                       "CREATE EXTENSION [ IF NOT EXISTS ] %s\n"
    2336             :                       "    [ WITH ] [ SCHEMA %s ]\n"
    2337             :                       "             [ VERSION %s ]\n"
    2338             :                       "             [ CASCADE ]",
    2339             :                       _("extension_name"),
    2340             :                       _("schema_name"),
    2341             :                       _("version"));
    2342           0 : }
    2343             : 
    2344             : static void
    2345           0 : sql_help_CREATE_FOREIGN_DATA_WRAPPER(PQExpBuffer buf)
    2346             : {
    2347           0 :     appendPQExpBuffer(buf,
    2348             :                       "CREATE FOREIGN DATA WRAPPER %s\n"
    2349             :                       "    [ HANDLER %s | NO HANDLER ]\n"
    2350             :                       "    [ VALIDATOR %s | NO VALIDATOR ]\n"
    2351             :                       "    [ OPTIONS ( %s '%s' [, ... ] ) ]",
    2352             :                       _("name"),
    2353             :                       _("handler_function"),
    2354             :                       _("validator_function"),
    2355             :                       _("option"),
    2356             :                       _("value"));
    2357           0 : }
    2358             : 
    2359             : static void
    2360           0 : sql_help_CREATE_FOREIGN_TABLE(PQExpBuffer buf)
    2361             : {
    2362           0 :     appendPQExpBuffer(buf,
    2363             :                       "CREATE FOREIGN TABLE [ IF NOT EXISTS ] %s ( [\n"
    2364             :                       "  { %s %s [ OPTIONS ( %s '%s' [, ... ] ) ] [ COLLATE %s ] [ %s [ ... ] ]\n"
    2365             :                       "    | %s\n"
    2366             :                       "    | LIKE %s [ %s ... ] }\n"
    2367             :                       "    [, ... ]\n"
    2368             :                       "] )\n"
    2369             :                       "[ INHERITS ( %s [, ... ] ) ]\n"
    2370             :                       "  SERVER %s\n"
    2371             :                       "[ OPTIONS ( %s '%s' [, ... ] ) ]\n"
    2372             :                       "\n"
    2373             :                       "CREATE FOREIGN TABLE [ IF NOT EXISTS ] %s\n"
    2374             :                       "  PARTITION OF %s [ (\n"
    2375             :                       "  { %s [ WITH OPTIONS ] [ %s [ ... ] ]\n"
    2376             :                       "    | %s }\n"
    2377             :                       "    [, ... ]\n"
    2378             :                       ") ]\n"
    2379             :                       "{ FOR VALUES %s | DEFAULT }\n"
    2380             :                       "  SERVER %s\n"
    2381             :                       "[ OPTIONS ( %s '%s' [, ... ] ) ]\n"
    2382             :                       "\n"
    2383             :                       "%s\n"
    2384             :                       "\n"
    2385             :                       "[ CONSTRAINT %s ]\n"
    2386             :                       "{ NOT NULL [ NO INHERIT ] |\n"
    2387             :                       "  NULL |\n"
    2388             :                       "  CHECK ( %s ) [ NO INHERIT ] |\n"
    2389             :                       "  DEFAULT %s |\n"
    2390             :                       "  GENERATED ALWAYS AS ( %s ) [ STORED | VIRTUAL ] }\n"
    2391             :                       "[ ENFORCED | NOT ENFORCED ]\n"
    2392             :                       "\n"
    2393             :                       "%s\n"
    2394             :                       "\n"
    2395             :                       "[ CONSTRAINT %s ]\n"
    2396             :                       "{  NOT NULL %s [ NO INHERIT ] |\n"
    2397             :                       "   CHECK ( %s ) [ NO INHERIT ] }\n"
    2398             :                       "[ ENFORCED | NOT ENFORCED ]\n"
    2399             :                       "\n"
    2400             :                       "%s\n"
    2401             :                       "\n"
    2402             :                       "{ INCLUDING | EXCLUDING } { COMMENTS | CONSTRAINTS | DEFAULTS | GENERATED | STATISTICS | ALL }\n"
    2403             :                       "\n"
    2404             :                       "%s\n"
    2405             :                       "\n"
    2406             :                       "IN ( %s [, ...] ) |\n"
    2407             :                       "FROM ( { %s | MINVALUE | MAXVALUE } [, ...] )\n"
    2408             :                       "  TO ( { %s | MINVALUE | MAXVALUE } [, ...] ) |\n"
    2409             :                       "WITH ( MODULUS %s, REMAINDER %s )",
    2410             :                       _("table_name"),
    2411             :                       _("column_name"),
    2412             :                       _("data_type"),
    2413             :                       _("option"),
    2414             :                       _("value"),
    2415             :                       _("collation"),
    2416             :                       _("column_constraint"),
    2417             :                       _("table_constraint"),
    2418             :                       _("source_table"),
    2419             :                       _("like_option"),
    2420             :                       _("parent_table"),
    2421             :                       _("server_name"),
    2422             :                       _("option"),
    2423             :                       _("value"),
    2424             :                       _("table_name"),
    2425             :                       _("parent_table"),
    2426             :                       _("column_name"),
    2427             :                       _("column_constraint"),
    2428             :                       _("table_constraint"),
    2429             :                       _("partition_bound_spec"),
    2430             :                       _("server_name"),
    2431             :                       _("option"),
    2432             :                       _("value"),
    2433             :                       _("where column_constraint is:"),
    2434             :                       _("constraint_name"),
    2435             :                       _("expression"),
    2436             :                       _("default_expr"),
    2437             :                       _("generation_expr"),
    2438             :                       _("and table_constraint is:"),
    2439             :                       _("constraint_name"),
    2440             :                       _("column_name"),
    2441             :                       _("expression"),
    2442             :                       _("and like_option is:"),
    2443             :                       _("and partition_bound_spec is:"),
    2444             :                       _("partition_bound_expr"),
    2445             :                       _("partition_bound_expr"),
    2446             :                       _("partition_bound_expr"),
    2447             :                       _("numeric_literal"),
    2448             :                       _("numeric_literal"));
    2449           0 : }
    2450             : 
    2451             : static void
    2452           0 : sql_help_CREATE_FUNCTION(PQExpBuffer buf)
    2453             : {
    2454           0 :     appendPQExpBuffer(buf,
    2455             :                       "CREATE [ OR REPLACE ] FUNCTION\n"
    2456             :                       "    %s ( [ [ %s ] [ %s ] %s [ { DEFAULT | = } %s ] [, ...] ] )\n"
    2457             :                       "    [ RETURNS %s\n"
    2458             :                       "      | RETURNS TABLE ( %s %s [, ...] ) ]\n"
    2459             :                       "  { LANGUAGE %s\n"
    2460             :                       "    | TRANSFORM { FOR TYPE %s } [, ... ]\n"
    2461             :                       "    | WINDOW\n"
    2462             :                       "    | { IMMUTABLE | STABLE | VOLATILE }\n"
    2463             :                       "    | [ NOT ] LEAKPROOF\n"
    2464             :                       "    | { CALLED ON NULL INPUT | RETURNS NULL ON NULL INPUT | STRICT }\n"
    2465             :                       "    | { [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER }\n"
    2466             :                       "    | PARALLEL { UNSAFE | RESTRICTED | SAFE }\n"
    2467             :                       "    | COST %s\n"
    2468             :                       "    | ROWS %s\n"
    2469             :                       "    | SUPPORT %s\n"
    2470             :                       "    | SET %s { TO %s | = %s | FROM CURRENT }\n"
    2471             :                       "    | AS '%s'\n"
    2472             :                       "    | AS '%s', '%s'\n"
    2473             :                       "    | %s\n"
    2474             :                       "  } ...",
    2475             :                       _("name"),
    2476             :                       _("argmode"),
    2477             :                       _("argname"),
    2478             :                       _("argtype"),
    2479             :                       _("default_expr"),
    2480             :                       _("rettype"),
    2481             :                       _("column_name"),
    2482             :                       _("column_type"),
    2483             :                       _("lang_name"),
    2484             :                       _("type_name"),
    2485             :                       _("execution_cost"),
    2486             :                       _("result_rows"),
    2487             :                       _("support_function"),
    2488             :                       _("configuration_parameter"),
    2489             :                       _("value"),
    2490             :                       _("value"),
    2491             :                       _("definition"),
    2492             :                       _("obj_file"),
    2493             :                       _("link_symbol"),
    2494             :                       _("sql_body"));
    2495           0 : }
    2496             : 
    2497             : static void
    2498           0 : sql_help_CREATE_GROUP(PQExpBuffer buf)
    2499             : {
    2500           0 :     appendPQExpBuffer(buf,
    2501             :                       "CREATE GROUP %s [ [ WITH ] %s [ ... ] ]\n"
    2502             :                       "\n"
    2503             :                       "%s\n"
    2504             :                       "\n"
    2505             :                       "      SUPERUSER | NOSUPERUSER\n"
    2506             :                       "    | CREATEDB | NOCREATEDB\n"
    2507             :                       "    | CREATEROLE | NOCREATEROLE\n"
    2508             :                       "    | INHERIT | NOINHERIT\n"
    2509             :                       "    | LOGIN | NOLOGIN\n"
    2510             :                       "    | REPLICATION | NOREPLICATION\n"
    2511             :                       "    | BYPASSRLS | NOBYPASSRLS\n"
    2512             :                       "    | CONNECTION LIMIT %s\n"
    2513             :                       "    | [ ENCRYPTED ] PASSWORD '%s' | PASSWORD NULL\n"
    2514             :                       "    | VALID UNTIL '%s'\n"
    2515             :                       "    | IN ROLE %s [, ...]\n"
    2516             :                       "    | IN GROUP %s [, ...]\n"
    2517             :                       "    | ROLE %s [, ...]\n"
    2518             :                       "    | ADMIN %s [, ...]\n"
    2519             :                       "    | USER %s [, ...]\n"
    2520             :                       "    | SYSID %s",
    2521             :                       _("name"),
    2522             :                       _("option"),
    2523             :                       _("where option can be:"),
    2524             :                       _("connlimit"),
    2525             :                       _("password"),
    2526             :                       _("timestamp"),
    2527             :                       _("role_name"),
    2528             :                       _("role_name"),
    2529             :                       _("role_name"),
    2530             :                       _("role_name"),
    2531             :                       _("role_name"),
    2532             :                       _("uid"));
    2533           0 : }
    2534             : 
    2535             : static void
    2536           0 : sql_help_CREATE_INDEX(PQExpBuffer buf)
    2537             : {
    2538           0 :     appendPQExpBuffer(buf,
    2539             :                       "CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] %s ] ON [ ONLY ] %s [ USING %s ]\n"
    2540             :                       "    ( { %s | ( %s ) } [ COLLATE %s ] [ %s [ ( %s = %s [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )\n"
    2541             :                       "    [ INCLUDE ( %s [, ...] ) ]\n"
    2542             :                       "    [ NULLS [ NOT ] DISTINCT ]\n"
    2543             :                       "    [ WITH ( %s [= %s] [, ... ] ) ]\n"
    2544             :                       "    [ TABLESPACE %s ]\n"
    2545             :                       "    [ WHERE %s ]",
    2546             :                       _("name"),
    2547             :                       _("table_name"),
    2548             :                       _("method"),
    2549             :                       _("column_name"),
    2550             :                       _("expression"),
    2551             :                       _("collation"),
    2552             :                       _("opclass"),
    2553             :                       _("opclass_parameter"),
    2554             :                       _("value"),
    2555             :                       _("column_name"),
    2556             :                       _("storage_parameter"),
    2557             :                       _("value"),
    2558             :                       _("tablespace_name"),
    2559             :                       _("predicate"));
    2560           0 : }
    2561             : 
    2562             : static void
    2563           0 : sql_help_CREATE_LANGUAGE(PQExpBuffer buf)
    2564             : {
    2565           0 :     appendPQExpBuffer(buf,
    2566             :                       "CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE %s\n"
    2567             :                       "    HANDLER %s [ INLINE %s ] [ VALIDATOR %s ]\n"
    2568             :                       "CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE %s",
    2569             :                       _("name"),
    2570             :                       _("call_handler"),
    2571             :                       _("inline_handler"),
    2572             :                       _("valfunction"),
    2573             :                       _("name"));
    2574           0 : }
    2575             : 
    2576             : static void
    2577           0 : sql_help_CREATE_MATERIALIZED_VIEW(PQExpBuffer buf)
    2578             : {
    2579           0 :     appendPQExpBuffer(buf,
    2580             :                       "CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] %s\n"
    2581             :                       "    [ (%s [, ...] ) ]\n"
    2582             :                       "    [ USING %s ]\n"
    2583             :                       "    [ WITH ( %s [= %s] [, ... ] ) ]\n"
    2584             :                       "    [ TABLESPACE %s ]\n"
    2585             :                       "    AS %s\n"
    2586             :                       "    [ WITH [ NO ] DATA ]",
    2587             :                       _("table_name"),
    2588             :                       _("column_name"),
    2589             :                       _("method"),
    2590             :                       _("storage_parameter"),
    2591             :                       _("value"),
    2592             :                       _("tablespace_name"),
    2593             :                       _("query"));
    2594           0 : }
    2595             : 
    2596             : static void
    2597           0 : sql_help_CREATE_OPERATOR(PQExpBuffer buf)
    2598             : {
    2599           0 :     appendPQExpBuffer(buf,
    2600             :                       "CREATE OPERATOR %s (\n"
    2601             :                       "    {FUNCTION|PROCEDURE} = %s\n"
    2602             :                       "    [, LEFTARG = %s ] , RIGHTARG = %s\n"
    2603             :                       "    [, COMMUTATOR = %s ] [, NEGATOR = %s ]\n"
    2604             :                       "    [, RESTRICT = %s ] [, JOIN = %s ]\n"
    2605             :                       "    [, HASHES ] [, MERGES ]\n"
    2606             :                       ")",
    2607             :                       _("name"),
    2608             :                       _("function_name"),
    2609             :                       _("left_type"),
    2610             :                       _("right_type"),
    2611             :                       _("com_op"),
    2612             :                       _("neg_op"),
    2613             :                       _("res_proc"),
    2614             :                       _("join_proc"));
    2615           0 : }
    2616             : 
    2617             : static void
    2618           0 : sql_help_CREATE_OPERATOR_CLASS(PQExpBuffer buf)
    2619             : {
    2620           0 :     appendPQExpBuffer(buf,
    2621             :                       "CREATE OPERATOR CLASS %s [ DEFAULT ] FOR TYPE %s\n"
    2622             :                       "  USING %s [ FAMILY %s ] AS\n"
    2623             :                       "  {  OPERATOR %s %s [ ( %s, %s ) ] [ FOR SEARCH | FOR ORDER BY %s ]\n"
    2624             :                       "   | FUNCTION %s [ ( %s [ , %s ] ) ] %s ( %s [, ...] )\n"
    2625             :                       "   | STORAGE %s\n"
    2626             :                       "  } [, ... ]",
    2627             :                       _("name"),
    2628             :                       _("data_type"),
    2629             :                       _("index_method"),
    2630             :                       _("family_name"),
    2631             :                       _("strategy_number"),
    2632             :                       _("operator_name"),
    2633             :                       _("op_type"),
    2634             :                       _("op_type"),
    2635             :                       _("sort_family_name"),
    2636             :                       _("support_number"),
    2637             :                       _("op_type"),
    2638             :                       _("op_type"),
    2639             :                       _("function_name"),
    2640             :                       _("argument_type"),
    2641             :                       _("storage_type"));
    2642           0 : }
    2643             : 
    2644             : static void
    2645           0 : sql_help_CREATE_OPERATOR_FAMILY(PQExpBuffer buf)
    2646             : {
    2647           0 :     appendPQExpBuffer(buf,
    2648             :                       "CREATE OPERATOR FAMILY %s USING %s",
    2649             :                       _("name"),
    2650             :                       _("index_method"));
    2651           0 : }
    2652             : 
    2653             : static void
    2654           0 : sql_help_CREATE_POLICY(PQExpBuffer buf)
    2655             : {
    2656           0 :     appendPQExpBuffer(buf,
    2657             :                       "CREATE POLICY %s ON %s\n"
    2658             :                       "    [ AS { PERMISSIVE | RESTRICTIVE } ]\n"
    2659             :                       "    [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ]\n"
    2660             :                       "    [ TO { %s | PUBLIC | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] ]\n"
    2661             :                       "    [ USING ( %s ) ]\n"
    2662             :                       "    [ WITH CHECK ( %s ) ]",
    2663             :                       _("name"),
    2664             :                       _("table_name"),
    2665             :                       _("role_name"),
    2666             :                       _("using_expression"),
    2667             :                       _("check_expression"));
    2668           0 : }
    2669             : 
    2670             : static void
    2671           0 : sql_help_CREATE_PROCEDURE(PQExpBuffer buf)
    2672             : {
    2673           0 :     appendPQExpBuffer(buf,
    2674             :                       "CREATE [ OR REPLACE ] PROCEDURE\n"
    2675             :                       "    %s ( [ [ %s ] [ %s ] %s [ { DEFAULT | = } %s ] [, ...] ] )\n"
    2676             :                       "  { LANGUAGE %s\n"
    2677             :                       "    | TRANSFORM { FOR TYPE %s } [, ... ]\n"
    2678             :                       "    | [ EXTERNAL ] SECURITY INVOKER | [ EXTERNAL ] SECURITY DEFINER\n"
    2679             :                       "    | SET %s { TO %s | = %s | FROM CURRENT }\n"
    2680             :                       "    | AS '%s'\n"
    2681             :                       "    | AS '%s', '%s'\n"
    2682             :                       "    | %s\n"
    2683             :                       "  } ...",
    2684             :                       _("name"),
    2685             :                       _("argmode"),
    2686             :                       _("argname"),
    2687             :                       _("argtype"),
    2688             :                       _("default_expr"),
    2689             :                       _("lang_name"),
    2690             :                       _("type_name"),
    2691             :                       _("configuration_parameter"),
    2692             :                       _("value"),
    2693             :                       _("value"),
    2694             :                       _("definition"),
    2695             :                       _("obj_file"),
    2696             :                       _("link_symbol"),
    2697             :                       _("sql_body"));
    2698           0 : }
    2699             : 
    2700             : static void
    2701           0 : sql_help_CREATE_PUBLICATION(PQExpBuffer buf)
    2702             : {
    2703           0 :     appendPQExpBuffer(buf,
    2704             :                       "CREATE PUBLICATION %s\n"
    2705             :                       "    [ FOR { %s [, ... ] | %s [, ... ] } ]\n"
    2706             :                       "    [ WITH ( %s [= %s] [, ... ] ) ]\n"
    2707             :                       "\n"
    2708             :                       "%s\n"
    2709             :                       "\n"
    2710             :                       "    TABLE %s [, ... ]\n"
    2711             :                       "    TABLES IN SCHEMA { %s | CURRENT_SCHEMA } [, ... ]\n"
    2712             :                       "\n"
    2713             :                       "%s\n"
    2714             :                       "\n"
    2715             :                       "    ALL TABLES\n"
    2716             :                       "    ALL SEQUENCES\n"
    2717             :                       "\n"
    2718             :                       "%s\n"
    2719             :                       "\n"
    2720             :                       "    [ ONLY ] %s [ * ] [ ( %s [, ... ] ) ] [ WHERE ( %s ) ]",
    2721             :                       _("name"),
    2722             :                       _("publication_object"),
    2723             :                       _("publication_all_object"),
    2724             :                       _("publication_parameter"),
    2725             :                       _("value"),
    2726             :                       _("where publication_object is one of:"),
    2727             :                       _("table_and_columns"),
    2728             :                       _("schema_name"),
    2729             :                       _("and publication_all_object is one of:"),
    2730             :                       _("and table_and_columns is:"),
    2731             :                       _("table_name"),
    2732             :                       _("column_name"),
    2733             :                       _("expression"));
    2734           0 : }
    2735             : 
    2736             : static void
    2737           0 : sql_help_CREATE_ROLE(PQExpBuffer buf)
    2738             : {
    2739           0 :     appendPQExpBuffer(buf,
    2740             :                       "CREATE ROLE %s [ [ WITH ] %s [ ... ] ]\n"
    2741             :                       "\n"
    2742             :                       "%s\n"
    2743             :                       "\n"
    2744             :                       "      SUPERUSER | NOSUPERUSER\n"
    2745             :                       "    | CREATEDB | NOCREATEDB\n"
    2746             :                       "    | CREATEROLE | NOCREATEROLE\n"
    2747             :                       "    | INHERIT | NOINHERIT\n"
    2748             :                       "    | LOGIN | NOLOGIN\n"
    2749             :                       "    | REPLICATION | NOREPLICATION\n"
    2750             :                       "    | BYPASSRLS | NOBYPASSRLS\n"
    2751             :                       "    | CONNECTION LIMIT %s\n"
    2752             :                       "    | [ ENCRYPTED ] PASSWORD '%s' | PASSWORD NULL\n"
    2753             :                       "    | VALID UNTIL '%s'\n"
    2754             :                       "    | IN ROLE %s [, ...]\n"
    2755             :                       "    | ROLE %s [, ...]\n"
    2756             :                       "    | ADMIN %s [, ...]\n"
    2757             :                       "    | SYSID %s",
    2758             :                       _("name"),
    2759             :                       _("option"),
    2760             :                       _("where option can be:"),
    2761             :                       _("connlimit"),
    2762             :                       _("password"),
    2763             :                       _("timestamp"),
    2764             :                       _("role_name"),
    2765             :                       _("role_name"),
    2766             :                       _("role_name"),
    2767             :                       _("uid"));
    2768           0 : }
    2769             : 
    2770             : static void
    2771           0 : sql_help_CREATE_RULE(PQExpBuffer buf)
    2772             : {
    2773           0 :     appendPQExpBuffer(buf,
    2774             :                       "CREATE [ OR REPLACE ] RULE %s AS ON %s\n"
    2775             :                       "    TO %s [ WHERE %s ]\n"
    2776             :                       "    DO [ ALSO | INSTEAD ] { NOTHING | %s | ( %s ; %s ... ) }\n"
    2777             :                       "\n"
    2778             :                       "%s\n"
    2779             :                       "\n"
    2780             :                       "    SELECT | INSERT | UPDATE | DELETE",
    2781             :                       _("name"),
    2782             :                       _("event"),
    2783             :                       _("table_name"),
    2784             :                       _("condition"),
    2785             :                       _("command"),
    2786             :                       _("command"),
    2787             :                       _("command"),
    2788             :                       _("where event can be one of:"));
    2789           0 : }
    2790             : 
    2791             : static void
    2792           0 : sql_help_CREATE_SCHEMA(PQExpBuffer buf)
    2793             : {
    2794           0 :     appendPQExpBuffer(buf,
    2795             :                       "CREATE SCHEMA %s [ AUTHORIZATION %s ] [ %s [ ... ] ]\n"
    2796             :                       "CREATE SCHEMA AUTHORIZATION %s [ %s [ ... ] ]\n"
    2797             :                       "CREATE SCHEMA IF NOT EXISTS %s [ AUTHORIZATION %s ]\n"
    2798             :                       "CREATE SCHEMA IF NOT EXISTS AUTHORIZATION %s\n"
    2799             :                       "\n"
    2800             :                       "%s\n"
    2801             :                       "\n"
    2802             :                       "    %s\n"
    2803             :                       "  | CURRENT_ROLE\n"
    2804             :                       "  | CURRENT_USER\n"
    2805             :                       "  | SESSION_USER",
    2806             :                       _("schema_name"),
    2807             :                       _("role_specification"),
    2808             :                       _("schema_element"),
    2809             :                       _("role_specification"),
    2810             :                       _("schema_element"),
    2811             :                       _("schema_name"),
    2812             :                       _("role_specification"),
    2813             :                       _("role_specification"),
    2814             :                       _("where role_specification can be:"),
    2815             :                       _("user_name"));
    2816           0 : }
    2817             : 
    2818             : static void
    2819           0 : sql_help_CREATE_SEQUENCE(PQExpBuffer buf)
    2820             : {
    2821           0 :     appendPQExpBuffer(buf,
    2822             :                       "CREATE [ { TEMPORARY | TEMP } | UNLOGGED ] SEQUENCE [ IF NOT EXISTS ] %s\n"
    2823             :                       "    [ AS %s ]\n"
    2824             :                       "    [ INCREMENT [ BY ] %s ]\n"
    2825             :                       "    [ MINVALUE %s | NO MINVALUE ] [ MAXVALUE %s | NO MAXVALUE ]\n"
    2826             :                       "    [ [ NO ] CYCLE ]\n"
    2827             :                       "    [ START [ WITH ] %s ]\n"
    2828             :                       "    [ CACHE %s ]\n"
    2829             :                       "    [ OWNED BY { %s.%s | NONE } ]",
    2830             :                       _("name"),
    2831             :                       _("data_type"),
    2832             :                       _("increment"),
    2833             :                       _("minvalue"),
    2834             :                       _("maxvalue"),
    2835             :                       _("start"),
    2836             :                       _("cache"),
    2837             :                       _("table_name"),
    2838             :                       _("column_name"));
    2839           0 : }
    2840             : 
    2841             : static void
    2842           0 : sql_help_CREATE_SERVER(PQExpBuffer buf)
    2843             : {
    2844           0 :     appendPQExpBuffer(buf,
    2845             :                       "CREATE SERVER [ IF NOT EXISTS ] %s [ TYPE '%s' ] [ VERSION '%s' ]\n"
    2846             :                       "    FOREIGN DATA WRAPPER %s\n"
    2847             :                       "    [ OPTIONS ( %s '%s' [, ... ] ) ]",
    2848             :                       _("server_name"),
    2849             :                       _("server_type"),
    2850             :                       _("server_version"),
    2851             :                       _("fdw_name"),
    2852             :                       _("option"),
    2853             :                       _("value"));
    2854           0 : }
    2855             : 
    2856             : static void
    2857           0 : sql_help_CREATE_STATISTICS(PQExpBuffer buf)
    2858             : {
    2859           0 :     appendPQExpBuffer(buf,
    2860             :                       "CREATE STATISTICS [ [ IF NOT EXISTS ] %s ]\n"
    2861             :                       "    ON ( %s )\n"
    2862             :                       "    FROM %s\n"
    2863             :                       "\n"
    2864             :                       "CREATE STATISTICS [ [ IF NOT EXISTS ] %s ]\n"
    2865             :                       "    [ ( %s [, ... ] ) ]\n"
    2866             :                       "    ON { %s | ( %s ) }, { %s | ( %s ) } [, ...]\n"
    2867             :                       "    FROM %s",
    2868             :                       _("statistics_name"),
    2869             :                       _("expression"),
    2870             :                       _("table_name"),
    2871             :                       _("statistics_name"),
    2872             :                       _("statistics_kind"),
    2873             :                       _("column_name"),
    2874             :                       _("expression"),
    2875             :                       _("column_name"),
    2876             :                       _("expression"),
    2877             :                       _("table_name"));
    2878           0 : }
    2879             : 
    2880             : static void
    2881           0 : sql_help_CREATE_SUBSCRIPTION(PQExpBuffer buf)
    2882             : {
    2883           0 :     appendPQExpBuffer(buf,
    2884             :                       "CREATE SUBSCRIPTION %s\n"
    2885             :                       "    CONNECTION '%s'\n"
    2886             :                       "    PUBLICATION %s [, ...]\n"
    2887             :                       "    [ WITH ( %s [= %s] [, ... ] ) ]",
    2888             :                       _("subscription_name"),
    2889             :                       _("conninfo"),
    2890             :                       _("publication_name"),
    2891             :                       _("subscription_parameter"),
    2892             :                       _("value"));
    2893           0 : }
    2894             : 
    2895             : static void
    2896           0 : sql_help_CREATE_TABLE(PQExpBuffer buf)
    2897             : {
    2898           0 :     appendPQExpBuffer(buf,
    2899             :                       "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] %s ( [\n"
    2900             :                       "  { %s %s [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] [ COMPRESSION %s ] [ COLLATE %s ] [ %s [ ... ] ]\n"
    2901             :                       "    | %s\n"
    2902             :                       "    | LIKE %s [ %s ... ] }\n"
    2903             :                       "    [, ... ]\n"
    2904             :                       "] )\n"
    2905             :                       "[ INHERITS ( %s [, ... ] ) ]\n"
    2906             :                       "[ PARTITION BY { RANGE | LIST | HASH } ( { %s | ( %s ) } [ COLLATE %s ] [ %s ] [, ... ] ) ]\n"
    2907             :                       "[ USING %s ]\n"
    2908             :                       "[ WITH ( %s [= %s] [, ... ] ) | WITHOUT OIDS ]\n"
    2909             :                       "[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
    2910             :                       "[ TABLESPACE %s ]\n"
    2911             :                       "\n"
    2912             :                       "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] %s\n"
    2913             :                       "    OF %s [ (\n"
    2914             :                       "  { %s [ WITH OPTIONS ] [ %s [ ... ] ]\n"
    2915             :                       "    | %s }\n"
    2916             :                       "    [, ... ]\n"
    2917             :                       ") ]\n"
    2918             :                       "[ PARTITION BY { RANGE | LIST | HASH } ( { %s | ( %s ) } [ COLLATE %s ] [ %s ] [, ... ] ) ]\n"
    2919             :                       "[ USING %s ]\n"
    2920             :                       "[ WITH ( %s [= %s] [, ... ] ) | WITHOUT OIDS ]\n"
    2921             :                       "[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
    2922             :                       "[ TABLESPACE %s ]\n"
    2923             :                       "\n"
    2924             :                       "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] %s\n"
    2925             :                       "    PARTITION OF %s [ (\n"
    2926             :                       "  { %s [ WITH OPTIONS ] [ %s [ ... ] ]\n"
    2927             :                       "    | %s }\n"
    2928             :                       "    [, ... ]\n"
    2929             :                       ") ] { FOR VALUES %s | DEFAULT }\n"
    2930             :                       "[ PARTITION BY { RANGE | LIST | HASH } ( { %s | ( %s ) } [ COLLATE %s ] [ %s ] [, ... ] ) ]\n"
    2931             :                       "[ USING %s ]\n"
    2932             :                       "[ WITH ( %s [= %s] [, ... ] ) | WITHOUT OIDS ]\n"
    2933             :                       "[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
    2934             :                       "[ TABLESPACE %s ]\n"
    2935             :                       "\n"
    2936             :                       "%s\n"
    2937             :                       "\n"
    2938             :                       "[ CONSTRAINT %s ]\n"
    2939             :                       "{ NOT NULL [ NO INHERIT ]  |\n"
    2940             :                       "  NULL |\n"
    2941             :                       "  CHECK ( %s ) [ NO INHERIT ] |\n"
    2942             :                       "  DEFAULT %s |\n"
    2943             :                       "  GENERATED ALWAYS AS ( %s ) [ STORED | VIRTUAL ] |\n"
    2944             :                       "  GENERATED { ALWAYS | BY DEFAULT } AS IDENTITY [ ( %s ) ] |\n"
    2945             :                       "  UNIQUE [ NULLS [ NOT ] DISTINCT ] %s |\n"
    2946             :                       "  PRIMARY KEY %s |\n"
    2947             :                       "  REFERENCES %s [ ( %s ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]\n"
    2948             :                       "    [ ON DELETE %s ] [ ON UPDATE %s ] }\n"
    2949             :                       "[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ]\n"
    2950             :                       "\n"
    2951             :                       "%s\n"
    2952             :                       "\n"
    2953             :                       "[ CONSTRAINT %s ]\n"
    2954             :                       "{ CHECK ( %s ) [ NO INHERIT ] |\n"
    2955             :                       "  NOT NULL %s [ NO INHERIT ] |\n"
    2956             :                       "  UNIQUE [ NULLS [ NOT ] DISTINCT ] ( %s [, ... ] [, %s WITHOUT OVERLAPS ] ) %s |\n"
    2957             :                       "  PRIMARY KEY ( %s [, ... ] [, %s WITHOUT OVERLAPS ] ) %s |\n"
    2958             :                       "  EXCLUDE [ USING %s ] ( %s WITH %s [, ... ] ) %s [ WHERE ( %s ) ] |\n"
    2959             :                       "  FOREIGN KEY ( %s [, ... ] [, PERIOD %s ] ) REFERENCES %s [ ( %s [, ... ] [, PERIOD %s ] ) ]\n"
    2960             :                       "    [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ] [ ON DELETE %s ] [ ON UPDATE %s ] }\n"
    2961             :                       "[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ] [ ENFORCED | NOT ENFORCED ]\n"
    2962             :                       "\n"
    2963             :                       "%s\n"
    2964             :                       "\n"
    2965             :                       "{ INCLUDING | EXCLUDING } { COMMENTS | COMPRESSION | CONSTRAINTS | DEFAULTS | GENERATED | IDENTITY | INDEXES | STATISTICS | STORAGE | ALL }\n"
    2966             :                       "\n"
    2967             :                       "%s\n"
    2968             :                       "\n"
    2969             :                       "IN ( %s [, ...] ) |\n"
    2970             :                       "FROM ( { %s | MINVALUE | MAXVALUE } [, ...] )\n"
    2971             :                       "  TO ( { %s | MINVALUE | MAXVALUE } [, ...] ) |\n"
    2972             :                       "WITH ( MODULUS %s, REMAINDER %s )\n"
    2973             :                       "\n"
    2974             :                       "%s\n"
    2975             :                       "\n"
    2976             :                       "[ INCLUDE ( %s [, ... ] ) ]\n"
    2977             :                       "[ WITH ( %s [= %s] [, ... ] ) ]\n"
    2978             :                       "[ USING INDEX TABLESPACE %s ]\n"
    2979             :                       "\n"
    2980             :                       "%s\n"
    2981             :                       "\n"
    2982             :                       "{ %s | ( %s ) } [ COLLATE %s ] [ %s [ ( %s = %s [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n"
    2983             :                       "\n"
    2984             :                       "%s\n"
    2985             :                       "\n"
    2986             :                       "{ NO ACTION | RESTRICT | CASCADE | SET NULL [ ( %s [, ... ] ) ] | SET DEFAULT [ ( %s [, ... ] ) ] }",
    2987             :                       _("table_name"),
    2988             :                       _("column_name"),
    2989             :                       _("data_type"),
    2990             :                       _("compression_method"),
    2991             :                       _("collation"),
    2992             :                       _("column_constraint"),
    2993             :                       _("table_constraint"),
    2994             :                       _("source_table"),
    2995             :                       _("like_option"),
    2996             :                       _("parent_table"),
    2997             :                       _("column_name"),
    2998             :                       _("expression"),
    2999             :                       _("collation"),
    3000             :                       _("opclass"),
    3001             :                       _("method"),
    3002             :                       _("storage_parameter"),
    3003             :                       _("value"),
    3004             :                       _("tablespace_name"),
    3005             :                       _("table_name"),
    3006             :                       _("type_name"),
    3007             :                       _("column_name"),
    3008             :                       _("column_constraint"),
    3009             :                       _("table_constraint"),
    3010             :                       _("column_name"),
    3011             :                       _("expression"),
    3012             :                       _("collation"),
    3013             :                       _("opclass"),
    3014             :                       _("method"),
    3015             :                       _("storage_parameter"),
    3016             :                       _("value"),
    3017             :                       _("tablespace_name"),
    3018             :                       _("table_name"),
    3019             :                       _("parent_table"),
    3020             :                       _("column_name"),
    3021             :                       _("column_constraint"),
    3022             :                       _("table_constraint"),
    3023             :                       _("partition_bound_spec"),
    3024             :                       _("column_name"),
    3025             :                       _("expression"),
    3026             :                       _("collation"),
    3027             :                       _("opclass"),
    3028             :                       _("method"),
    3029             :                       _("storage_parameter"),
    3030             :                       _("value"),
    3031             :                       _("tablespace_name"),
    3032             :                       _("where column_constraint is:"),
    3033             :                       _("constraint_name"),
    3034             :                       _("expression"),
    3035             :                       _("default_expr"),
    3036             :                       _("generation_expr"),
    3037             :                       _("sequence_options"),
    3038             :                       _("index_parameters"),
    3039             :                       _("index_parameters"),
    3040             :                       _("reftable"),
    3041             :                       _("refcolumn"),
    3042             :                       _("referential_action"),
    3043             :                       _("referential_action"),
    3044             :                       _("and table_constraint is:"),
    3045             :                       _("constraint_name"),
    3046             :                       _("expression"),
    3047             :                       _("column_name"),
    3048             :                       _("column_name"),
    3049             :                       _("column_name"),
    3050             :                       _("index_parameters"),
    3051             :                       _("column_name"),
    3052             :                       _("column_name"),
    3053             :                       _("index_parameters"),
    3054             :                       _("index_method"),
    3055             :                       _("exclude_element"),
    3056             :                       _("operator"),
    3057             :                       _("index_parameters"),
    3058             :                       _("predicate"),
    3059             :                       _("column_name"),
    3060             :                       _("column_name"),
    3061             :                       _("reftable"),
    3062             :                       _("refcolumn"),
    3063             :                       _("refcolumn"),
    3064             :                       _("referential_action"),
    3065             :                       _("referential_action"),
    3066             :                       _("and like_option is:"),
    3067             :                       _("and partition_bound_spec is:"),
    3068             :                       _("partition_bound_expr"),
    3069             :                       _("partition_bound_expr"),
    3070             :                       _("partition_bound_expr"),
    3071             :                       _("numeric_literal"),
    3072             :                       _("numeric_literal"),
    3073             :                       _("index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:"),
    3074             :                       _("column_name"),
    3075             :                       _("storage_parameter"),
    3076             :                       _("value"),
    3077             :                       _("tablespace_name"),
    3078             :                       _("exclude_element in an EXCLUDE constraint is:"),
    3079             :                       _("column_name"),
    3080             :                       _("expression"),
    3081             :                       _("collation"),
    3082             :                       _("opclass"),
    3083             :                       _("opclass_parameter"),
    3084             :                       _("value"),
    3085             :                       _("referential_action in a FOREIGN KEY/REFERENCES constraint is:"),
    3086             :                       _("column_name"),
    3087             :                       _("column_name"));
    3088           0 : }
    3089             : 
    3090             : static void
    3091           0 : sql_help_CREATE_TABLE_AS(PQExpBuffer buf)
    3092             : {
    3093           0 :     appendPQExpBuffer(buf,
    3094             :                       "CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] %s\n"
    3095             :                       "    [ (%s [, ...] ) ]\n"
    3096             :                       "    [ USING %s ]\n"
    3097             :                       "    [ WITH ( %s [= %s] [, ... ] ) | WITHOUT OIDS ]\n"
    3098             :                       "    [ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]\n"
    3099             :                       "    [ TABLESPACE %s ]\n"
    3100             :                       "    AS %s\n"
    3101             :                       "    [ WITH [ NO ] DATA ]",
    3102             :                       _("table_name"),
    3103             :                       _("column_name"),
    3104             :                       _("method"),
    3105             :                       _("storage_parameter"),
    3106             :                       _("value"),
    3107             :                       _("tablespace_name"),
    3108             :                       _("query"));
    3109           0 : }
    3110             : 
    3111             : static void
    3112           0 : sql_help_CREATE_TABLESPACE(PQExpBuffer buf)
    3113             : {
    3114           0 :     appendPQExpBuffer(buf,
    3115             :                       "CREATE TABLESPACE %s\n"
    3116             :                       "    [ OWNER { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER } ]\n"
    3117             :                       "    LOCATION '%s'\n"
    3118             :                       "    [ WITH ( %s = %s [, ... ] ) ]",
    3119             :                       _("tablespace_name"),
    3120             :                       _("new_owner"),
    3121             :                       _("directory"),
    3122             :                       _("tablespace_option"),
    3123             :                       _("value"));
    3124           0 : }
    3125             : 
    3126             : static void
    3127           0 : sql_help_CREATE_TEXT_SEARCH_CONFIGURATION(PQExpBuffer buf)
    3128             : {
    3129           0 :     appendPQExpBuffer(buf,
    3130             :                       "CREATE TEXT SEARCH CONFIGURATION %s (\n"
    3131             :                       "    PARSER = %s |\n"
    3132             :                       "    COPY = %s\n"
    3133             :                       ")",
    3134             :                       _("name"),
    3135             :                       _("parser_name"),
    3136             :                       _("source_config"));
    3137           0 : }
    3138             : 
    3139             : static void
    3140           0 : sql_help_CREATE_TEXT_SEARCH_DICTIONARY(PQExpBuffer buf)
    3141             : {
    3142           0 :     appendPQExpBuffer(buf,
    3143             :                       "CREATE TEXT SEARCH DICTIONARY %s (\n"
    3144             :                       "    TEMPLATE = %s\n"
    3145             :                       "    [, %s = %s [, ... ]]\n"
    3146             :                       ")",
    3147             :                       _("name"),
    3148             :                       _("template"),
    3149             :                       _("option"),
    3150             :                       _("value"));
    3151           0 : }
    3152             : 
    3153             : static void
    3154           0 : sql_help_CREATE_TEXT_SEARCH_PARSER(PQExpBuffer buf)
    3155             : {
    3156           0 :     appendPQExpBuffer(buf,
    3157             :                       "CREATE TEXT SEARCH PARSER %s (\n"
    3158             :                       "    START = %s ,\n"
    3159             :                       "    GETTOKEN = %s ,\n"
    3160             :                       "    END = %s ,\n"
    3161             :                       "    LEXTYPES = %s\n"
    3162             :                       "    [, HEADLINE = %s ]\n"
    3163             :                       ")",
    3164             :                       _("name"),
    3165             :                       _("start_function"),
    3166             :                       _("gettoken_function"),
    3167             :                       _("end_function"),
    3168             :                       _("lextypes_function"),
    3169             :                       _("headline_function"));
    3170           0 : }
    3171             : 
    3172             : static void
    3173           0 : sql_help_CREATE_TEXT_SEARCH_TEMPLATE(PQExpBuffer buf)
    3174             : {
    3175           0 :     appendPQExpBuffer(buf,
    3176             :                       "CREATE TEXT SEARCH TEMPLATE %s (\n"
    3177             :                       "    [ INIT = %s , ]\n"
    3178             :                       "    LEXIZE = %s\n"
    3179             :                       ")",
    3180             :                       _("name"),
    3181             :                       _("init_function"),
    3182             :                       _("lexize_function"));
    3183           0 : }
    3184             : 
    3185             : static void
    3186           0 : sql_help_CREATE_TRANSFORM(PQExpBuffer buf)
    3187             : {
    3188           0 :     appendPQExpBuffer(buf,
    3189             :                       "CREATE [ OR REPLACE ] TRANSFORM FOR %s LANGUAGE %s (\n"
    3190             :                       "    FROM SQL WITH FUNCTION %s [ (%s [, ...]) ],\n"
    3191             :                       "    TO SQL WITH FUNCTION %s [ (%s [, ...]) ]\n"
    3192             :                       ");",
    3193             :                       _("type_name"),
    3194             :                       _("lang_name"),
    3195             :                       _("from_sql_function_name"),
    3196             :                       _("argument_type"),
    3197             :                       _("to_sql_function_name"),
    3198             :                       _("argument_type"));
    3199           0 : }
    3200             : 
    3201             : static void
    3202           0 : sql_help_CREATE_TRIGGER(PQExpBuffer buf)
    3203             : {
    3204           0 :     appendPQExpBuffer(buf,
    3205             :                       "CREATE [ OR REPLACE ] [ CONSTRAINT ] TRIGGER %s { BEFORE | AFTER | INSTEAD OF } { %s [ OR ... ] }\n"
    3206             :                       "    ON %s\n"
    3207             :                       "    [ FROM %s ]\n"
    3208             :                       "    [ NOT DEFERRABLE | [ DEFERRABLE ] [ INITIALLY IMMEDIATE | INITIALLY DEFERRED ] ] [ ENFORCED ]\n"
    3209             :                       "    [ REFERENCING { { OLD | NEW } TABLE [ AS ] %s } [ ... ] ]\n"
    3210             :                       "    [ FOR [ EACH ] { ROW | STATEMENT } ]\n"
    3211             :                       "    [ WHEN ( %s ) ]\n"
    3212             :                       "    EXECUTE { FUNCTION | PROCEDURE } %s ( %s )\n"
    3213             :                       "\n"
    3214             :                       "%s\n"
    3215             :                       "\n"
    3216             :                       "    INSERT\n"
    3217             :                       "    UPDATE [ OF %s [, ... ] ]\n"
    3218             :                       "    DELETE\n"
    3219             :                       "    TRUNCATE",
    3220             :                       _("name"),
    3221             :                       _("event"),
    3222             :                       _("table_name"),
    3223             :                       _("referenced_table_name"),
    3224             :                       _("transition_relation_name"),
    3225             :                       _("condition"),
    3226             :                       _("function_name"),
    3227             :                       _("arguments"),
    3228             :                       _("where event can be one of:"),
    3229             :                       _("column_name"));
    3230           0 : }
    3231             : 
    3232             : static void
    3233           0 : sql_help_CREATE_TYPE(PQExpBuffer buf)
    3234             : {
    3235           0 :     appendPQExpBuffer(buf,
    3236             :                       "CREATE TYPE %s AS\n"
    3237             :                       "    ( [ %s %s [ COLLATE %s ] [, ... ] ] )\n"
    3238             :                       "\n"
    3239             :                       "CREATE TYPE %s AS ENUM\n"
    3240             :                       "    ( [ '%s' [, ... ] ] )\n"
    3241             :                       "\n"
    3242             :                       "CREATE TYPE %s AS RANGE (\n"
    3243             :                       "    SUBTYPE = %s\n"
    3244             :                       "    [ , SUBTYPE_OPCLASS = %s ]\n"
    3245             :                       "    [ , COLLATION = %s ]\n"
    3246             :                       "    [ , CANONICAL = %s ]\n"
    3247             :                       "    [ , SUBTYPE_DIFF = %s ]\n"
    3248             :                       "    [ , MULTIRANGE_TYPE_NAME = %s ]\n"
    3249             :                       ")\n"
    3250             :                       "\n"
    3251             :                       "CREATE TYPE %s (\n"
    3252             :                       "    INPUT = %s,\n"
    3253             :                       "    OUTPUT = %s\n"
    3254             :                       "    [ , RECEIVE = %s ]\n"
    3255             :                       "    [ , SEND = %s ]\n"
    3256             :                       "    [ , TYPMOD_IN = %s ]\n"
    3257             :                       "    [ , TYPMOD_OUT = %s ]\n"
    3258             :                       "    [ , ANALYZE = %s ]\n"
    3259             :                       "    [ , SUBSCRIPT = %s ]\n"
    3260             :                       "    [ , INTERNALLENGTH = { %s | VARIABLE } ]\n"
    3261             :                       "    [ , PASSEDBYVALUE ]\n"
    3262             :                       "    [ , ALIGNMENT = %s ]\n"
    3263             :                       "    [ , STORAGE = %s ]\n"
    3264             :                       "    [ , LIKE = %s ]\n"
    3265             :                       "    [ , CATEGORY = %s ]\n"
    3266             :                       "    [ , PREFERRED = %s ]\n"
    3267             :                       "    [ , DEFAULT = %s ]\n"
    3268             :                       "    [ , ELEMENT = %s ]\n"
    3269             :                       "    [ , DELIMITER = %s ]\n"
    3270             :                       "    [ , COLLATABLE = %s ]\n"
    3271             :                       ")\n"
    3272             :                       "\n"
    3273             :                       "CREATE TYPE %s",
    3274             :                       _("name"),
    3275             :                       _("attribute_name"),
    3276             :                       _("data_type"),
    3277             :                       _("collation"),
    3278             :                       _("name"),
    3279             :                       _("label"),
    3280             :                       _("name"),
    3281             :                       _("subtype"),
    3282             :                       _("subtype_operator_class"),
    3283             :                       _("collation"),
    3284             :                       _("canonical_function"),
    3285             :                       _("subtype_diff_function"),
    3286             :                       _("multirange_type_name"),
    3287             :                       _("name"),
    3288             :                       _("input_function"),
    3289             :                       _("output_function"),
    3290             :                       _("receive_function"),
    3291             :                       _("send_function"),
    3292             :                       _("type_modifier_input_function"),
    3293             :                       _("type_modifier_output_function"),
    3294             :                       _("analyze_function"),
    3295             :                       _("subscript_function"),
    3296             :                       _("internallength"),
    3297             :                       _("alignment"),
    3298             :                       _("storage"),
    3299             :                       _("like_type"),
    3300             :                       _("category"),
    3301             :                       _("preferred"),
    3302             :                       _("default"),
    3303             :                       _("element"),
    3304             :                       _("delimiter"),
    3305             :                       _("collatable"),
    3306             :                       _("name"));
    3307           0 : }
    3308             : 
    3309             : static void
    3310           0 : sql_help_CREATE_USER(PQExpBuffer buf)
    3311             : {
    3312           0 :     appendPQExpBuffer(buf,
    3313             :                       "CREATE USER %s [ [ WITH ] %s [ ... ] ]\n"
    3314             :                       "\n"
    3315             :                       "%s\n"
    3316             :                       "\n"
    3317             :                       "      SUPERUSER | NOSUPERUSER\n"
    3318             :                       "    | CREATEDB | NOCREATEDB\n"
    3319             :                       "    | CREATEROLE | NOCREATEROLE\n"
    3320             :                       "    | INHERIT | NOINHERIT\n"
    3321             :                       "    | LOGIN | NOLOGIN\n"
    3322             :                       "    | REPLICATION | NOREPLICATION\n"
    3323             :                       "    | BYPASSRLS | NOBYPASSRLS\n"
    3324             :                       "    | CONNECTION LIMIT %s\n"
    3325             :                       "    | [ ENCRYPTED ] PASSWORD '%s' | PASSWORD NULL\n"
    3326             :                       "    | VALID UNTIL '%s'\n"
    3327             :                       "    | IN ROLE %s [, ...]\n"
    3328             :                       "    | IN GROUP %s [, ...]\n"
    3329             :                       "    | ROLE %s [, ...]\n"
    3330             :                       "    | ADMIN %s [, ...]\n"
    3331             :                       "    | USER %s [, ...]\n"
    3332             :                       "    | SYSID %s",
    3333             :                       _("name"),
    3334             :                       _("option"),
    3335             :                       _("where option can be:"),
    3336             :                       _("connlimit"),
    3337             :                       _("password"),
    3338             :                       _("timestamp"),
    3339             :                       _("role_name"),
    3340             :                       _("role_name"),
    3341             :                       _("role_name"),
    3342             :                       _("role_name"),
    3343             :                       _("role_name"),
    3344             :                       _("uid"));
    3345           0 : }
    3346             : 
    3347             : static void
    3348           0 : sql_help_CREATE_USER_MAPPING(PQExpBuffer buf)
    3349             : {
    3350           0 :     appendPQExpBuffer(buf,
    3351             :                       "CREATE USER MAPPING [ IF NOT EXISTS ] FOR { %s | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC }\n"
    3352             :                       "    SERVER %s\n"
    3353             :                       "    [ OPTIONS ( %s '%s' [ , ... ] ) ]",
    3354             :                       _("user_name"),
    3355             :                       _("server_name"),
    3356             :                       _("option"),
    3357             :                       _("value"));
    3358           0 : }
    3359             : 
    3360             : static void
    3361           0 : sql_help_CREATE_VIEW(PQExpBuffer buf)
    3362             : {
    3363           0 :     appendPQExpBuffer(buf,
    3364             :                       "CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW %s [ ( %s [, ...] ) ]\n"
    3365             :                       "    [ WITH ( %s [= %s] [, ... ] ) ]\n"
    3366             :                       "    AS %s\n"
    3367             :                       "    [ WITH [ CASCADED | LOCAL ] CHECK OPTION ]",
    3368             :                       _("name"),
    3369             :                       _("column_name"),
    3370             :                       _("view_option_name"),
    3371             :                       _("view_option_value"),
    3372             :                       _("query"));
    3373           0 : }
    3374             : 
    3375             : static void
    3376           0 : sql_help_DEALLOCATE(PQExpBuffer buf)
    3377             : {
    3378           0 :     appendPQExpBuffer(buf,
    3379             :                       "DEALLOCATE [ PREPARE ] { %s | ALL }",
    3380             :                       _("name"));
    3381           0 : }
    3382             : 
    3383             : static void
    3384           0 : sql_help_DECLARE(PQExpBuffer buf)
    3385             : {
    3386           0 :     appendPQExpBuffer(buf,
    3387             :                       "DECLARE %s [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ]\n"
    3388             :                       "    CURSOR [ { WITH | WITHOUT } HOLD ] FOR %s",
    3389             :                       _("name"),
    3390             :                       _("query"));
    3391           0 : }
    3392             : 
    3393             : static void
    3394           0 : sql_help_DELETE(PQExpBuffer buf)
    3395             : {
    3396           0 :     appendPQExpBuffer(buf,
    3397             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    3398             :                       "DELETE FROM [ ONLY ] %s [ * ] [ [ AS ] %s ]\n"
    3399             :                       "    [ USING %s [, ...] ]\n"
    3400             :                       "    [ WHERE %s | WHERE CURRENT OF %s ]\n"
    3401             :                       "    [ RETURNING [ WITH ( { OLD | NEW } AS %s [, ...] ) ]\n"
    3402             :                       "                { * | %s [ [ AS ] %s ] } [, ...] ]",
    3403             :                       _("with_query"),
    3404             :                       _("table_name"),
    3405             :                       _("alias"),
    3406             :                       _("from_item"),
    3407             :                       _("condition"),
    3408             :                       _("cursor_name"),
    3409             :                       _("output_alias"),
    3410             :                       _("output_expression"),
    3411             :                       _("output_name"));
    3412           0 : }
    3413             : 
    3414             : static void
    3415           0 : sql_help_DISCARD(PQExpBuffer buf)
    3416             : {
    3417           0 :     appendPQExpBuffer(buf,
    3418             :                       "DISCARD { ALL | PLANS | SEQUENCES | TEMPORARY | TEMP }");
    3419           0 : }
    3420             : 
    3421             : static void
    3422           0 : sql_help_DO(PQExpBuffer buf)
    3423             : {
    3424           0 :     appendPQExpBuffer(buf,
    3425             :                       "DO [ LANGUAGE %s ] %s",
    3426             :                       _("lang_name"),
    3427             :                       _("code"));
    3428           0 : }
    3429             : 
    3430             : static void
    3431           0 : sql_help_DROP_ACCESS_METHOD(PQExpBuffer buf)
    3432             : {
    3433           0 :     appendPQExpBuffer(buf,
    3434             :                       "DROP ACCESS METHOD [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3435             :                       _("name"));
    3436           0 : }
    3437             : 
    3438             : static void
    3439           0 : sql_help_DROP_AGGREGATE(PQExpBuffer buf)
    3440             : {
    3441           0 :     appendPQExpBuffer(buf,
    3442             :                       "DROP AGGREGATE [ IF EXISTS ] %s ( %s ) [, ...] [ CASCADE | RESTRICT ]\n"
    3443             :                       "\n"
    3444             :                       "%s\n"
    3445             :                       "\n"
    3446             :                       "* |\n"
    3447             :                       "[ %s ] [ %s ] %s [ , ... ] |\n"
    3448             :                       "[ [ %s ] [ %s ] %s [ , ... ] ] ORDER BY [ %s ] [ %s ] %s [ , ... ]",
    3449             :                       _("name"),
    3450             :                       _("aggregate_signature"),
    3451             :                       _("where aggregate_signature is:"),
    3452             :                       _("argmode"),
    3453             :                       _("argname"),
    3454             :                       _("argtype"),
    3455             :                       _("argmode"),
    3456             :                       _("argname"),
    3457             :                       _("argtype"),
    3458             :                       _("argmode"),
    3459             :                       _("argname"),
    3460             :                       _("argtype"));
    3461           0 : }
    3462             : 
    3463             : static void
    3464           0 : sql_help_DROP_CAST(PQExpBuffer buf)
    3465             : {
    3466           0 :     appendPQExpBuffer(buf,
    3467             :                       "DROP CAST [ IF EXISTS ] (%s AS %s) [ CASCADE | RESTRICT ]",
    3468             :                       _("source_type"),
    3469             :                       _("target_type"));
    3470           0 : }
    3471             : 
    3472             : static void
    3473           0 : sql_help_DROP_COLLATION(PQExpBuffer buf)
    3474             : {
    3475           0 :     appendPQExpBuffer(buf,
    3476             :                       "DROP COLLATION [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3477             :                       _("name"));
    3478           0 : }
    3479             : 
    3480             : static void
    3481           0 : sql_help_DROP_CONVERSION(PQExpBuffer buf)
    3482             : {
    3483           0 :     appendPQExpBuffer(buf,
    3484             :                       "DROP CONVERSION [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3485             :                       _("name"));
    3486           0 : }
    3487             : 
    3488             : static void
    3489           0 : sql_help_DROP_DATABASE(PQExpBuffer buf)
    3490             : {
    3491           0 :     appendPQExpBuffer(buf,
    3492             :                       "DROP DATABASE [ IF EXISTS ] %s [ [ WITH ] ( %s [, ...] ) ]\n"
    3493             :                       "\n"
    3494             :                       "%s\n"
    3495             :                       "\n"
    3496             :                       "    FORCE",
    3497             :                       _("name"),
    3498             :                       _("option"),
    3499             :                       _("where option can be:"));
    3500           0 : }
    3501             : 
    3502             : static void
    3503           0 : sql_help_DROP_DOMAIN(PQExpBuffer buf)
    3504             : {
    3505           0 :     appendPQExpBuffer(buf,
    3506             :                       "DROP DOMAIN [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3507             :                       _("name"));
    3508           0 : }
    3509             : 
    3510             : static void
    3511           0 : sql_help_DROP_EVENT_TRIGGER(PQExpBuffer buf)
    3512             : {
    3513           0 :     appendPQExpBuffer(buf,
    3514             :                       "DROP EVENT TRIGGER [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3515             :                       _("name"));
    3516           0 : }
    3517             : 
    3518             : static void
    3519           0 : sql_help_DROP_EXTENSION(PQExpBuffer buf)
    3520             : {
    3521           0 :     appendPQExpBuffer(buf,
    3522             :                       "DROP EXTENSION [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3523             :                       _("name"));
    3524           0 : }
    3525             : 
    3526             : static void
    3527           0 : sql_help_DROP_FOREIGN_DATA_WRAPPER(PQExpBuffer buf)
    3528             : {
    3529           0 :     appendPQExpBuffer(buf,
    3530             :                       "DROP FOREIGN DATA WRAPPER [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3531             :                       _("name"));
    3532           0 : }
    3533             : 
    3534             : static void
    3535           0 : sql_help_DROP_FOREIGN_TABLE(PQExpBuffer buf)
    3536             : {
    3537           0 :     appendPQExpBuffer(buf,
    3538             :                       "DROP FOREIGN TABLE [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3539             :                       _("name"));
    3540           0 : }
    3541             : 
    3542             : static void
    3543           0 : sql_help_DROP_FUNCTION(PQExpBuffer buf)
    3544             : {
    3545           0 :     appendPQExpBuffer(buf,
    3546             :                       "DROP FUNCTION [ IF EXISTS ] %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] [, ...]\n"
    3547             :                       "    [ CASCADE | RESTRICT ]",
    3548             :                       _("name"),
    3549             :                       _("argmode"),
    3550             :                       _("argname"),
    3551             :                       _("argtype"));
    3552           0 : }
    3553             : 
    3554             : static void
    3555           0 : sql_help_DROP_GROUP(PQExpBuffer buf)
    3556             : {
    3557           0 :     appendPQExpBuffer(buf,
    3558             :                       "DROP GROUP [ IF EXISTS ] %s [, ...]",
    3559             :                       _("name"));
    3560           0 : }
    3561             : 
    3562             : static void
    3563           0 : sql_help_DROP_INDEX(PQExpBuffer buf)
    3564             : {
    3565           0 :     appendPQExpBuffer(buf,
    3566             :                       "DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3567             :                       _("name"));
    3568           0 : }
    3569             : 
    3570             : static void
    3571           0 : sql_help_DROP_LANGUAGE(PQExpBuffer buf)
    3572             : {
    3573           0 :     appendPQExpBuffer(buf,
    3574             :                       "DROP [ PROCEDURAL ] LANGUAGE [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3575             :                       _("name"));
    3576           0 : }
    3577             : 
    3578             : static void
    3579           0 : sql_help_DROP_MATERIALIZED_VIEW(PQExpBuffer buf)
    3580             : {
    3581           0 :     appendPQExpBuffer(buf,
    3582             :                       "DROP MATERIALIZED VIEW [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3583             :                       _("name"));
    3584           0 : }
    3585             : 
    3586             : static void
    3587           0 : sql_help_DROP_OPERATOR(PQExpBuffer buf)
    3588             : {
    3589           0 :     appendPQExpBuffer(buf,
    3590             :                       "DROP OPERATOR [ IF EXISTS ] %s ( { %s | NONE } , %s ) [, ...] [ CASCADE | RESTRICT ]",
    3591             :                       _("name"),
    3592             :                       _("left_type"),
    3593             :                       _("right_type"));
    3594           0 : }
    3595             : 
    3596             : static void
    3597           0 : sql_help_DROP_OPERATOR_CLASS(PQExpBuffer buf)
    3598             : {
    3599           0 :     appendPQExpBuffer(buf,
    3600             :                       "DROP OPERATOR CLASS [ IF EXISTS ] %s USING %s [ CASCADE | RESTRICT ]",
    3601             :                       _("name"),
    3602             :                       _("index_method"));
    3603           0 : }
    3604             : 
    3605             : static void
    3606           0 : sql_help_DROP_OPERATOR_FAMILY(PQExpBuffer buf)
    3607             : {
    3608           0 :     appendPQExpBuffer(buf,
    3609             :                       "DROP OPERATOR FAMILY [ IF EXISTS ] %s USING %s [ CASCADE | RESTRICT ]",
    3610             :                       _("name"),
    3611             :                       _("index_method"));
    3612           0 : }
    3613             : 
    3614             : static void
    3615           0 : sql_help_DROP_OWNED(PQExpBuffer buf)
    3616             : {
    3617           0 :     appendPQExpBuffer(buf,
    3618             :                       "DROP OWNED BY { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...] [ CASCADE | RESTRICT ]",
    3619             :                       _("name"));
    3620           0 : }
    3621             : 
    3622             : static void
    3623           0 : sql_help_DROP_POLICY(PQExpBuffer buf)
    3624             : {
    3625           0 :     appendPQExpBuffer(buf,
    3626             :                       "DROP POLICY [ IF EXISTS ] %s ON %s [ CASCADE | RESTRICT ]",
    3627             :                       _("name"),
    3628             :                       _("table_name"));
    3629           0 : }
    3630             : 
    3631             : static void
    3632           0 : sql_help_DROP_PROCEDURE(PQExpBuffer buf)
    3633             : {
    3634           0 :     appendPQExpBuffer(buf,
    3635             :                       "DROP PROCEDURE [ IF EXISTS ] %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] [, ...]\n"
    3636             :                       "    [ CASCADE | RESTRICT ]",
    3637             :                       _("name"),
    3638             :                       _("argmode"),
    3639             :                       _("argname"),
    3640             :                       _("argtype"));
    3641           0 : }
    3642             : 
    3643             : static void
    3644           0 : sql_help_DROP_PUBLICATION(PQExpBuffer buf)
    3645             : {
    3646           0 :     appendPQExpBuffer(buf,
    3647             :                       "DROP PUBLICATION [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3648             :                       _("name"));
    3649           0 : }
    3650             : 
    3651             : static void
    3652           0 : sql_help_DROP_ROLE(PQExpBuffer buf)
    3653             : {
    3654           0 :     appendPQExpBuffer(buf,
    3655             :                       "DROP ROLE [ IF EXISTS ] %s [, ...]",
    3656             :                       _("name"));
    3657           0 : }
    3658             : 
    3659             : static void
    3660           0 : sql_help_DROP_ROUTINE(PQExpBuffer buf)
    3661             : {
    3662           0 :     appendPQExpBuffer(buf,
    3663             :                       "DROP ROUTINE [ IF EXISTS ] %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] [, ...]\n"
    3664             :                       "    [ CASCADE | RESTRICT ]",
    3665             :                       _("name"),
    3666             :                       _("argmode"),
    3667             :                       _("argname"),
    3668             :                       _("argtype"));
    3669           0 : }
    3670             : 
    3671             : static void
    3672           0 : sql_help_DROP_RULE(PQExpBuffer buf)
    3673             : {
    3674           0 :     appendPQExpBuffer(buf,
    3675             :                       "DROP RULE [ IF EXISTS ] %s ON %s [ CASCADE | RESTRICT ]",
    3676             :                       _("name"),
    3677             :                       _("table_name"));
    3678           0 : }
    3679             : 
    3680             : static void
    3681           0 : sql_help_DROP_SCHEMA(PQExpBuffer buf)
    3682             : {
    3683           0 :     appendPQExpBuffer(buf,
    3684             :                       "DROP SCHEMA [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3685             :                       _("name"));
    3686           0 : }
    3687             : 
    3688             : static void
    3689           0 : sql_help_DROP_SEQUENCE(PQExpBuffer buf)
    3690             : {
    3691           0 :     appendPQExpBuffer(buf,
    3692             :                       "DROP SEQUENCE [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3693             :                       _("name"));
    3694           0 : }
    3695             : 
    3696             : static void
    3697           0 : sql_help_DROP_SERVER(PQExpBuffer buf)
    3698             : {
    3699           0 :     appendPQExpBuffer(buf,
    3700             :                       "DROP SERVER [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3701             :                       _("name"));
    3702           0 : }
    3703             : 
    3704             : static void
    3705           0 : sql_help_DROP_STATISTICS(PQExpBuffer buf)
    3706             : {
    3707           0 :     appendPQExpBuffer(buf,
    3708             :                       "DROP STATISTICS [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3709             :                       _("name"));
    3710           0 : }
    3711             : 
    3712             : static void
    3713           0 : sql_help_DROP_SUBSCRIPTION(PQExpBuffer buf)
    3714             : {
    3715           0 :     appendPQExpBuffer(buf,
    3716             :                       "DROP SUBSCRIPTION [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3717             :                       _("name"));
    3718           0 : }
    3719             : 
    3720             : static void
    3721           0 : sql_help_DROP_TABLE(PQExpBuffer buf)
    3722             : {
    3723           0 :     appendPQExpBuffer(buf,
    3724             :                       "DROP TABLE [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3725             :                       _("name"));
    3726           0 : }
    3727             : 
    3728             : static void
    3729           0 : sql_help_DROP_TABLESPACE(PQExpBuffer buf)
    3730             : {
    3731           0 :     appendPQExpBuffer(buf,
    3732             :                       "DROP TABLESPACE [ IF EXISTS ] %s",
    3733             :                       _("name"));
    3734           0 : }
    3735             : 
    3736             : static void
    3737           0 : sql_help_DROP_TEXT_SEARCH_CONFIGURATION(PQExpBuffer buf)
    3738             : {
    3739           0 :     appendPQExpBuffer(buf,
    3740             :                       "DROP TEXT SEARCH CONFIGURATION [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3741             :                       _("name"));
    3742           0 : }
    3743             : 
    3744             : static void
    3745           0 : sql_help_DROP_TEXT_SEARCH_DICTIONARY(PQExpBuffer buf)
    3746             : {
    3747           0 :     appendPQExpBuffer(buf,
    3748             :                       "DROP TEXT SEARCH DICTIONARY [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3749             :                       _("name"));
    3750           0 : }
    3751             : 
    3752             : static void
    3753           0 : sql_help_DROP_TEXT_SEARCH_PARSER(PQExpBuffer buf)
    3754             : {
    3755           0 :     appendPQExpBuffer(buf,
    3756             :                       "DROP TEXT SEARCH PARSER [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3757             :                       _("name"));
    3758           0 : }
    3759             : 
    3760             : static void
    3761           0 : sql_help_DROP_TEXT_SEARCH_TEMPLATE(PQExpBuffer buf)
    3762             : {
    3763           0 :     appendPQExpBuffer(buf,
    3764             :                       "DROP TEXT SEARCH TEMPLATE [ IF EXISTS ] %s [ CASCADE | RESTRICT ]",
    3765             :                       _("name"));
    3766           0 : }
    3767             : 
    3768             : static void
    3769           0 : sql_help_DROP_TRANSFORM(PQExpBuffer buf)
    3770             : {
    3771           0 :     appendPQExpBuffer(buf,
    3772             :                       "DROP TRANSFORM [ IF EXISTS ] FOR %s LANGUAGE %s [ CASCADE | RESTRICT ]",
    3773             :                       _("type_name"),
    3774             :                       _("lang_name"));
    3775           0 : }
    3776             : 
    3777             : static void
    3778           0 : sql_help_DROP_TRIGGER(PQExpBuffer buf)
    3779             : {
    3780           0 :     appendPQExpBuffer(buf,
    3781             :                       "DROP TRIGGER [ IF EXISTS ] %s ON %s [ CASCADE | RESTRICT ]",
    3782             :                       _("name"),
    3783             :                       _("table_name"));
    3784           0 : }
    3785             : 
    3786             : static void
    3787           0 : sql_help_DROP_TYPE(PQExpBuffer buf)
    3788             : {
    3789           0 :     appendPQExpBuffer(buf,
    3790             :                       "DROP TYPE [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3791             :                       _("name"));
    3792           0 : }
    3793             : 
    3794             : static void
    3795           0 : sql_help_DROP_USER(PQExpBuffer buf)
    3796             : {
    3797           0 :     appendPQExpBuffer(buf,
    3798             :                       "DROP USER [ IF EXISTS ] %s [, ...]",
    3799             :                       _("name"));
    3800           0 : }
    3801             : 
    3802             : static void
    3803           0 : sql_help_DROP_USER_MAPPING(PQExpBuffer buf)
    3804             : {
    3805           0 :     appendPQExpBuffer(buf,
    3806             :                       "DROP USER MAPPING [ IF EXISTS ] FOR { %s | USER | CURRENT_ROLE | CURRENT_USER | PUBLIC } SERVER %s",
    3807             :                       _("user_name"),
    3808             :                       _("server_name"));
    3809           0 : }
    3810             : 
    3811             : static void
    3812           0 : sql_help_DROP_VIEW(PQExpBuffer buf)
    3813             : {
    3814           0 :     appendPQExpBuffer(buf,
    3815             :                       "DROP VIEW [ IF EXISTS ] %s [, ...] [ CASCADE | RESTRICT ]",
    3816             :                       _("name"));
    3817           0 : }
    3818             : 
    3819             : static void
    3820           0 : sql_help_END(PQExpBuffer buf)
    3821             : {
    3822           0 :     appendPQExpBuffer(buf,
    3823             :                       "END [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]");
    3824           0 : }
    3825             : 
    3826             : static void
    3827           0 : sql_help_EXECUTE(PQExpBuffer buf)
    3828             : {
    3829           0 :     appendPQExpBuffer(buf,
    3830             :                       "EXECUTE %s [ ( %s [, ...] ) ]",
    3831             :                       _("name"),
    3832             :                       _("parameter"));
    3833           0 : }
    3834             : 
    3835             : static void
    3836           0 : sql_help_EXPLAIN(PQExpBuffer buf)
    3837             : {
    3838           0 :     appendPQExpBuffer(buf,
    3839             :                       "EXPLAIN [ ( %s [, ...] ) ] %s\n"
    3840             :                       "\n"
    3841             :                       "%s\n"
    3842             :                       "\n"
    3843             :                       "    ANALYZE [ %s ]\n"
    3844             :                       "    VERBOSE [ %s ]\n"
    3845             :                       "    COSTS [ %s ]\n"
    3846             :                       "    SETTINGS [ %s ]\n"
    3847             :                       "    GENERIC_PLAN [ %s ]\n"
    3848             :                       "    BUFFERS [ %s ]\n"
    3849             :                       "    SERIALIZE [ { NONE | TEXT | BINARY } ]\n"
    3850             :                       "    WAL [ %s ]\n"
    3851             :                       "    TIMING [ %s ]\n"
    3852             :                       "    SUMMARY [ %s ]\n"
    3853             :                       "    MEMORY [ %s ]\n"
    3854             :                       "    FORMAT { TEXT | XML | JSON | YAML }",
    3855             :                       _("option"),
    3856             :                       _("statement"),
    3857             :                       _("where option can be one of:"),
    3858             :                       _("boolean"),
    3859             :                       _("boolean"),
    3860             :                       _("boolean"),
    3861             :                       _("boolean"),
    3862             :                       _("boolean"),
    3863             :                       _("boolean"),
    3864             :                       _("boolean"),
    3865             :                       _("boolean"),
    3866             :                       _("boolean"),
    3867             :                       _("boolean"));
    3868           0 : }
    3869             : 
    3870             : static void
    3871           0 : sql_help_FETCH(PQExpBuffer buf)
    3872             : {
    3873           0 :     appendPQExpBuffer(buf,
    3874             :                       "FETCH [ %s ] [ FROM | IN ] %s\n"
    3875             :                       "\n"
    3876             :                       "%s\n"
    3877             :                       "\n"
    3878             :                       "    NEXT\n"
    3879             :                       "    PRIOR\n"
    3880             :                       "    FIRST\n"
    3881             :                       "    LAST\n"
    3882             :                       "    ABSOLUTE %s\n"
    3883             :                       "    RELATIVE %s\n"
    3884             :                       "    %s\n"
    3885             :                       "    ALL\n"
    3886             :                       "    FORWARD\n"
    3887             :                       "    FORWARD %s\n"
    3888             :                       "    FORWARD ALL\n"
    3889             :                       "    BACKWARD\n"
    3890             :                       "    BACKWARD %s\n"
    3891             :                       "    BACKWARD ALL",
    3892             :                       _("direction"),
    3893             :                       _("cursor_name"),
    3894             :                       _("where direction can be one of:"),
    3895             :                       _("count"),
    3896             :                       _("count"),
    3897             :                       _("count"),
    3898             :                       _("count"),
    3899             :                       _("count"));
    3900           0 : }
    3901             : 
    3902             : static void
    3903           0 : sql_help_GRANT(PQExpBuffer buf)
    3904             : {
    3905           0 :     appendPQExpBuffer(buf,
    3906             :                       "GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }\n"
    3907             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
    3908             :                       "    ON { [ TABLE ] %s [, ...]\n"
    3909             :                       "         | ALL TABLES IN SCHEMA %s [, ...] }\n"
    3910             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3911             :                       "    [ GRANTED BY %s ]\n"
    3912             :                       "\n"
    3913             :                       "GRANT { { SELECT | INSERT | UPDATE | REFERENCES } ( %s [, ...] )\n"
    3914             :                       "    [, ...] | ALL [ PRIVILEGES ] ( %s [, ...] ) }\n"
    3915             :                       "    ON [ TABLE ] %s [, ...]\n"
    3916             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3917             :                       "    [ GRANTED BY %s ]\n"
    3918             :                       "\n"
    3919             :                       "GRANT { { USAGE | SELECT | UPDATE }\n"
    3920             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
    3921             :                       "    ON { SEQUENCE %s [, ...]\n"
    3922             :                       "         | ALL SEQUENCES IN SCHEMA %s [, ...] }\n"
    3923             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3924             :                       "    [ GRANTED BY %s ]\n"
    3925             :                       "\n"
    3926             :                       "GRANT { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }\n"
    3927             :                       "    ON DATABASE %s [, ...]\n"
    3928             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3929             :                       "    [ GRANTED BY %s ]\n"
    3930             :                       "\n"
    3931             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
    3932             :                       "    ON DOMAIN %s [, ...]\n"
    3933             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3934             :                       "    [ GRANTED BY %s ]\n"
    3935             :                       "\n"
    3936             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
    3937             :                       "    ON FOREIGN DATA WRAPPER %s [, ...]\n"
    3938             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3939             :                       "    [ GRANTED BY %s ]\n"
    3940             :                       "\n"
    3941             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
    3942             :                       "    ON FOREIGN SERVER %s [, ...]\n"
    3943             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3944             :                       "    [ GRANTED BY %s ]\n"
    3945             :                       "\n"
    3946             :                       "GRANT { EXECUTE | ALL [ PRIVILEGES ] }\n"
    3947             :                       "    ON { { FUNCTION | PROCEDURE | ROUTINE } %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] [, ...]\n"
    3948             :                       "         | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA %s [, ...] }\n"
    3949             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3950             :                       "    [ GRANTED BY %s ]\n"
    3951             :                       "\n"
    3952             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
    3953             :                       "    ON LANGUAGE %s [, ...]\n"
    3954             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3955             :                       "    [ GRANTED BY %s ]\n"
    3956             :                       "\n"
    3957             :                       "GRANT { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }\n"
    3958             :                       "    ON LARGE OBJECT %s [, ...]\n"
    3959             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3960             :                       "    [ GRANTED BY %s ]\n"
    3961             :                       "\n"
    3962             :                       "GRANT { { SET | ALTER SYSTEM } [, ... ] | ALL [ PRIVILEGES ] }\n"
    3963             :                       "    ON PARAMETER %s [, ...]\n"
    3964             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3965             :                       "    [ GRANTED BY %s ]\n"
    3966             :                       "\n"
    3967             :                       "GRANT { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }\n"
    3968             :                       "    ON SCHEMA %s [, ...]\n"
    3969             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3970             :                       "    [ GRANTED BY %s ]\n"
    3971             :                       "\n"
    3972             :                       "GRANT { CREATE | ALL [ PRIVILEGES ] }\n"
    3973             :                       "    ON TABLESPACE %s [, ...]\n"
    3974             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3975             :                       "    [ GRANTED BY %s ]\n"
    3976             :                       "\n"
    3977             :                       "GRANT { USAGE | ALL [ PRIVILEGES ] }\n"
    3978             :                       "    ON TYPE %s [, ...]\n"
    3979             :                       "    TO %s [, ...] [ WITH GRANT OPTION ]\n"
    3980             :                       "    [ GRANTED BY %s ]\n"
    3981             :                       "\n"
    3982             :                       "GRANT %s [, ...] TO %s [, ...]\n"
    3983             :                       "    [ WITH { ADMIN | INHERIT | SET } { OPTION | TRUE | FALSE } ]\n"
    3984             :                       "    [ GRANTED BY %s ]\n"
    3985             :                       "\n"
    3986             :                       "%s\n"
    3987             :                       "\n"
    3988             :                       "    [ GROUP ] %s\n"
    3989             :                       "  | PUBLIC\n"
    3990             :                       "  | CURRENT_ROLE\n"
    3991             :                       "  | CURRENT_USER\n"
    3992             :                       "  | SESSION_USER",
    3993             :                       _("table_name"),
    3994             :                       _("schema_name"),
    3995             :                       _("role_specification"),
    3996             :                       _("role_specification"),
    3997             :                       _("column_name"),
    3998             :                       _("column_name"),
    3999             :                       _("table_name"),
    4000             :                       _("role_specification"),
    4001             :                       _("role_specification"),
    4002             :                       _("sequence_name"),
    4003             :                       _("schema_name"),
    4004             :                       _("role_specification"),
    4005             :                       _("role_specification"),
    4006             :                       _("database_name"),
    4007             :                       _("role_specification"),
    4008             :                       _("role_specification"),
    4009             :                       _("domain_name"),
    4010             :                       _("role_specification"),
    4011             :                       _("role_specification"),
    4012             :                       _("fdw_name"),
    4013             :                       _("role_specification"),
    4014             :                       _("role_specification"),
    4015             :                       _("server_name"),
    4016             :                       _("role_specification"),
    4017             :                       _("role_specification"),
    4018             :                       _("routine_name"),
    4019             :                       _("argmode"),
    4020             :                       _("arg_name"),
    4021             :                       _("arg_type"),
    4022             :                       _("schema_name"),
    4023             :                       _("role_specification"),
    4024             :                       _("role_specification"),
    4025             :                       _("lang_name"),
    4026             :                       _("role_specification"),
    4027             :                       _("role_specification"),
    4028             :                       _("loid"),
    4029             :                       _("role_specification"),
    4030             :                       _("role_specification"),
    4031             :                       _("configuration_parameter"),
    4032             :                       _("role_specification"),
    4033             :                       _("role_specification"),
    4034             :                       _("schema_name"),
    4035             :                       _("role_specification"),
    4036             :                       _("role_specification"),
    4037             :                       _("tablespace_name"),
    4038             :                       _("role_specification"),
    4039             :                       _("role_specification"),
    4040             :                       _("type_name"),
    4041             :                       _("role_specification"),
    4042             :                       _("role_specification"),
    4043             :                       _("role_name"),
    4044             :                       _("role_specification"),
    4045             :                       _("role_specification"),
    4046             :                       _("where role_specification can be:"),
    4047             :                       _("role_name"));
    4048           0 : }
    4049             : 
    4050             : static void
    4051           0 : sql_help_IMPORT_FOREIGN_SCHEMA(PQExpBuffer buf)
    4052             : {
    4053           0 :     appendPQExpBuffer(buf,
    4054             :                       "IMPORT FOREIGN SCHEMA %s\n"
    4055             :                       "    [ { LIMIT TO | EXCEPT } ( %s [, ...] ) ]\n"
    4056             :                       "    FROM SERVER %s\n"
    4057             :                       "    INTO %s\n"
    4058             :                       "    [ OPTIONS ( %s '%s' [, ... ] ) ]",
    4059             :                       _("remote_schema"),
    4060             :                       _("table_name"),
    4061             :                       _("server_name"),
    4062             :                       _("local_schema"),
    4063             :                       _("option"),
    4064             :                       _("value"));
    4065           0 : }
    4066             : 
    4067             : static void
    4068           0 : sql_help_INSERT(PQExpBuffer buf)
    4069             : {
    4070           0 :     appendPQExpBuffer(buf,
    4071             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    4072             :                       "INSERT INTO %s [ AS %s ] [ ( %s [, ...] ) ]\n"
    4073             :                       "    [ OVERRIDING { SYSTEM | USER } VALUE ]\n"
    4074             :                       "    { DEFAULT VALUES | VALUES ( { %s | DEFAULT } [, ...] ) [, ...] | %s }\n"
    4075             :                       "    [ ON CONFLICT [ %s ] %s ]\n"
    4076             :                       "    [ RETURNING [ WITH ( { OLD | NEW } AS %s [, ...] ) ]\n"
    4077             :                       "                { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    4078             :                       "\n"
    4079             :                       "%s\n"
    4080             :                       "\n"
    4081             :                       "    ( { %s | ( %s ) } [ COLLATE %s ] [ %s ] [, ...] ) [ WHERE %s ]\n"
    4082             :                       "    ON CONSTRAINT %s\n"
    4083             :                       "\n"
    4084             :                       "%s\n"
    4085             :                       "\n"
    4086             :                       "    DO NOTHING\n"
    4087             :                       "    DO UPDATE SET { %s = { %s | DEFAULT } |\n"
    4088             :                       "                    ( %s [, ...] ) = [ ROW ] ( { %s | DEFAULT } [, ...] ) |\n"
    4089             :                       "                    ( %s [, ...] ) = ( %s )\n"
    4090             :                       "                  } [, ...]\n"
    4091             :                       "              [ WHERE %s ]",
    4092             :                       _("with_query"),
    4093             :                       _("table_name"),
    4094             :                       _("alias"),
    4095             :                       _("column_name"),
    4096             :                       _("expression"),
    4097             :                       _("query"),
    4098             :                       _("conflict_target"),
    4099             :                       _("conflict_action"),
    4100             :                       _("output_alias"),
    4101             :                       _("output_expression"),
    4102             :                       _("output_name"),
    4103             :                       _("where conflict_target can be one of:"),
    4104             :                       _("index_column_name"),
    4105             :                       _("index_expression"),
    4106             :                       _("collation"),
    4107             :                       _("opclass"),
    4108             :                       _("index_predicate"),
    4109             :                       _("constraint_name"),
    4110             :                       _("and conflict_action is one of:"),
    4111             :                       _("column_name"),
    4112             :                       _("expression"),
    4113             :                       _("column_name"),
    4114             :                       _("expression"),
    4115             :                       _("column_name"),
    4116             :                       _("sub-SELECT"),
    4117             :                       _("condition"));
    4118           0 : }
    4119             : 
    4120             : static void
    4121           0 : sql_help_LISTEN(PQExpBuffer buf)
    4122             : {
    4123           0 :     appendPQExpBuffer(buf,
    4124             :                       "LISTEN %s",
    4125             :                       _("channel"));
    4126           0 : }
    4127             : 
    4128             : static void
    4129           0 : sql_help_LOAD(PQExpBuffer buf)
    4130             : {
    4131           0 :     appendPQExpBuffer(buf,
    4132             :                       "LOAD '%s'",
    4133             :                       _("filename"));
    4134           0 : }
    4135             : 
    4136             : static void
    4137           0 : sql_help_LOCK(PQExpBuffer buf)
    4138             : {
    4139           0 :     appendPQExpBuffer(buf,
    4140             :                       "LOCK [ TABLE ] [ ONLY ] %s [ * ] [, ...] [ IN %s MODE ] [ NOWAIT ]\n"
    4141             :                       "\n"
    4142             :                       "%s\n"
    4143             :                       "\n"
    4144             :                       "    ACCESS SHARE | ROW SHARE | ROW EXCLUSIVE | SHARE UPDATE EXCLUSIVE\n"
    4145             :                       "    | SHARE | SHARE ROW EXCLUSIVE | EXCLUSIVE | ACCESS EXCLUSIVE",
    4146             :                       _("name"),
    4147             :                       _("lockmode"),
    4148             :                       _("where lockmode is one of:"));
    4149           0 : }
    4150             : 
    4151             : static void
    4152           0 : sql_help_MERGE(PQExpBuffer buf)
    4153             : {
    4154           0 :     appendPQExpBuffer(buf,
    4155             :                       "[ WITH %s [, ...] ]\n"
    4156             :                       "MERGE INTO [ ONLY ] %s [ * ] [ [ AS ] %s ]\n"
    4157             :                       "    USING %s ON %s\n"
    4158             :                       "    %s [...]\n"
    4159             :                       "    [ RETURNING [ WITH ( { OLD | NEW } AS %s [, ...] ) ]\n"
    4160             :                       "                { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    4161             :                       "\n"
    4162             :                       "%s\n"
    4163             :                       "\n"
    4164             :                       "    { [ ONLY ] %s [ * ] | ( %s ) } [ [ AS ] %s ]\n"
    4165             :                       "\n"
    4166             :                       "%s\n"
    4167             :                       "\n"
    4168             :                       "    { WHEN MATCHED [ AND %s ] THEN { %s | %s | DO NOTHING } |\n"
    4169             :                       "      WHEN NOT MATCHED BY SOURCE [ AND %s ] THEN { %s | %s | DO NOTHING } |\n"
    4170             :                       "      WHEN NOT MATCHED [ BY TARGET ] [ AND %s ] THEN { %s | DO NOTHING } }\n"
    4171             :                       "\n"
    4172             :                       "%s\n"
    4173             :                       "\n"
    4174             :                       "    INSERT [( %s [, ...] )]\n"
    4175             :                       "        [ OVERRIDING { SYSTEM | USER } VALUE ]\n"
    4176             :                       "        { VALUES ( { %s | DEFAULT } [, ...] ) | DEFAULT VALUES }\n"
    4177             :                       "\n"
    4178             :                       "%s\n"
    4179             :                       "\n"
    4180             :                       "    UPDATE SET { %s = { %s | DEFAULT } |\n"
    4181             :                       "                 ( %s [, ...] ) = [ ROW ] ( { %s | DEFAULT } [, ...] ) |\n"
    4182             :                       "                 ( %s [, ...] ) = ( %s )\n"
    4183             :                       "               } [, ...]\n"
    4184             :                       "\n"
    4185             :                       "%s\n"
    4186             :                       "\n"
    4187             :                       "    DELETE",
    4188             :                       _("with_query"),
    4189             :                       _("target_table_name"),
    4190             :                       _("target_alias"),
    4191             :                       _("data_source"),
    4192             :                       _("join_condition"),
    4193             :                       _("when_clause"),
    4194             :                       _("output_alias"),
    4195             :                       _("output_expression"),
    4196             :                       _("output_name"),
    4197             :                       _("where data_source is:"),
    4198             :                       _("source_table_name"),
    4199             :                       _("source_query"),
    4200             :                       _("source_alias"),
    4201             :                       _("and when_clause is:"),
    4202             :                       _("condition"),
    4203             :                       _("merge_update"),
    4204             :                       _("merge_delete"),
    4205             :                       _("condition"),
    4206             :                       _("merge_update"),
    4207             :                       _("merge_delete"),
    4208             :                       _("condition"),
    4209             :                       _("merge_insert"),
    4210             :                       _("and merge_insert is:"),
    4211             :                       _("column_name"),
    4212             :                       _("expression"),
    4213             :                       _("and merge_update is:"),
    4214             :                       _("column_name"),
    4215             :                       _("expression"),
    4216             :                       _("column_name"),
    4217             :                       _("expression"),
    4218             :                       _("column_name"),
    4219             :                       _("sub-SELECT"),
    4220             :                       _("and merge_delete is:"));
    4221           0 : }
    4222             : 
    4223             : static void
    4224           0 : sql_help_MOVE(PQExpBuffer buf)
    4225             : {
    4226           0 :     appendPQExpBuffer(buf,
    4227             :                       "MOVE [ %s ] [ FROM | IN ] %s\n"
    4228             :                       "\n"
    4229             :                       "%s\n"
    4230             :                       "\n"
    4231             :                       "    NEXT\n"
    4232             :                       "    PRIOR\n"
    4233             :                       "    FIRST\n"
    4234             :                       "    LAST\n"
    4235             :                       "    ABSOLUTE %s\n"
    4236             :                       "    RELATIVE %s\n"
    4237             :                       "    %s\n"
    4238             :                       "    ALL\n"
    4239             :                       "    FORWARD\n"
    4240             :                       "    FORWARD %s\n"
    4241             :                       "    FORWARD ALL\n"
    4242             :                       "    BACKWARD\n"
    4243             :                       "    BACKWARD %s\n"
    4244             :                       "    BACKWARD ALL",
    4245             :                       _("direction"),
    4246             :                       _("cursor_name"),
    4247             :                       _("where direction can be one of:"),
    4248             :                       _("count"),
    4249             :                       _("count"),
    4250             :                       _("count"),
    4251             :                       _("count"),
    4252             :                       _("count"));
    4253           0 : }
    4254             : 
    4255             : static void
    4256           0 : sql_help_NOTIFY(PQExpBuffer buf)
    4257             : {
    4258           0 :     appendPQExpBuffer(buf,
    4259             :                       "NOTIFY %s [ , %s ]",
    4260             :                       _("channel"),
    4261             :                       _("payload"));
    4262           0 : }
    4263             : 
    4264             : static void
    4265           0 : sql_help_PREPARE(PQExpBuffer buf)
    4266             : {
    4267           0 :     appendPQExpBuffer(buf,
    4268             :                       "PREPARE %s [ ( %s [, ...] ) ] AS %s",
    4269             :                       _("name"),
    4270             :                       _("data_type"),
    4271             :                       _("statement"));
    4272           0 : }
    4273             : 
    4274             : static void
    4275           0 : sql_help_PREPARE_TRANSACTION(PQExpBuffer buf)
    4276             : {
    4277           0 :     appendPQExpBuffer(buf,
    4278             :                       "PREPARE TRANSACTION %s",
    4279             :                       _("transaction_id"));
    4280           0 : }
    4281             : 
    4282             : static void
    4283           0 : sql_help_REASSIGN_OWNED(PQExpBuffer buf)
    4284             : {
    4285           0 :     appendPQExpBuffer(buf,
    4286             :                       "REASSIGN OWNED BY { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER } [, ...]\n"
    4287             :                       "               TO { %s | CURRENT_ROLE | CURRENT_USER | SESSION_USER }",
    4288             :                       _("old_role"),
    4289             :                       _("new_role"));
    4290           0 : }
    4291             : 
    4292             : static void
    4293           0 : sql_help_REFRESH_MATERIALIZED_VIEW(PQExpBuffer buf)
    4294             : {
    4295           0 :     appendPQExpBuffer(buf,
    4296             :                       "REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] %s\n"
    4297             :                       "    [ WITH [ NO ] DATA ]",
    4298             :                       _("name"));
    4299           0 : }
    4300             : 
    4301             : static void
    4302           0 : sql_help_REINDEX(PQExpBuffer buf)
    4303             : {
    4304           0 :     appendPQExpBuffer(buf,
    4305             :                       "REINDEX [ ( %s [, ...] ) ] { INDEX | TABLE | SCHEMA } [ CONCURRENTLY ] %s\n"
    4306             :                       "REINDEX [ ( %s [, ...] ) ] { DATABASE | SYSTEM } [ CONCURRENTLY ] [ %s ]\n"
    4307             :                       "\n"
    4308             :                       "%s\n"
    4309             :                       "\n"
    4310             :                       "    CONCURRENTLY [ %s ]\n"
    4311             :                       "    TABLESPACE %s\n"
    4312             :                       "    VERBOSE [ %s ]",
    4313             :                       _("option"),
    4314             :                       _("name"),
    4315             :                       _("option"),
    4316             :                       _("name"),
    4317             :                       _("where option can be one of:"),
    4318             :                       _("boolean"),
    4319             :                       _("new_tablespace"),
    4320             :                       _("boolean"));
    4321           0 : }
    4322             : 
    4323             : static void
    4324           0 : sql_help_RELEASE_SAVEPOINT(PQExpBuffer buf)
    4325             : {
    4326           0 :     appendPQExpBuffer(buf,
    4327             :                       "RELEASE [ SAVEPOINT ] %s",
    4328             :                       _("savepoint_name"));
    4329           0 : }
    4330             : 
    4331             : static void
    4332           0 : sql_help_RESET(PQExpBuffer buf)
    4333             : {
    4334           0 :     appendPQExpBuffer(buf,
    4335             :                       "RESET %s\n"
    4336             :                       "RESET ALL",
    4337             :                       _("configuration_parameter"));
    4338           0 : }
    4339             : 
    4340             : static void
    4341           0 : sql_help_REVOKE(PQExpBuffer buf)
    4342             : {
    4343           0 :     appendPQExpBuffer(buf,
    4344             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4345             :                       "    { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }\n"
    4346             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
    4347             :                       "    ON { [ TABLE ] %s [, ...]\n"
    4348             :                       "         | ALL TABLES IN SCHEMA %s [, ...] }\n"
    4349             :                       "    FROM %s [, ...]\n"
    4350             :                       "    [ GRANTED BY %s ]\n"
    4351             :                       "    [ CASCADE | RESTRICT ]\n"
    4352             :                       "\n"
    4353             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4354             :                       "    { { SELECT | INSERT | UPDATE | REFERENCES } ( %s [, ...] )\n"
    4355             :                       "    [, ...] | ALL [ PRIVILEGES ] ( %s [, ...] ) }\n"
    4356             :                       "    ON [ TABLE ] %s [, ...]\n"
    4357             :                       "    FROM %s [, ...]\n"
    4358             :                       "    [ GRANTED BY %s ]\n"
    4359             :                       "    [ CASCADE | RESTRICT ]\n"
    4360             :                       "\n"
    4361             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4362             :                       "    { { USAGE | SELECT | UPDATE }\n"
    4363             :                       "    [, ...] | ALL [ PRIVILEGES ] }\n"
    4364             :                       "    ON { SEQUENCE %s [, ...]\n"
    4365             :                       "         | ALL SEQUENCES IN SCHEMA %s [, ...] }\n"
    4366             :                       "    FROM %s [, ...]\n"
    4367             :                       "    [ GRANTED BY %s ]\n"
    4368             :                       "    [ CASCADE | RESTRICT ]\n"
    4369             :                       "\n"
    4370             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4371             :                       "    { { CREATE | CONNECT | TEMPORARY | TEMP } [, ...] | ALL [ PRIVILEGES ] }\n"
    4372             :                       "    ON DATABASE %s [, ...]\n"
    4373             :                       "    FROM %s [, ...]\n"
    4374             :                       "    [ GRANTED BY %s ]\n"
    4375             :                       "    [ CASCADE | RESTRICT ]\n"
    4376             :                       "\n"
    4377             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4378             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
    4379             :                       "    ON DOMAIN %s [, ...]\n"
    4380             :                       "    FROM %s [, ...]\n"
    4381             :                       "    [ GRANTED BY %s ]\n"
    4382             :                       "    [ CASCADE | RESTRICT ]\n"
    4383             :                       "\n"
    4384             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4385             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
    4386             :                       "    ON FOREIGN DATA WRAPPER %s [, ...]\n"
    4387             :                       "    FROM %s [, ...]\n"
    4388             :                       "    [ GRANTED BY %s ]\n"
    4389             :                       "    [ CASCADE | RESTRICT ]\n"
    4390             :                       "\n"
    4391             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4392             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
    4393             :                       "    ON FOREIGN SERVER %s [, ...]\n"
    4394             :                       "    FROM %s [, ...]\n"
    4395             :                       "    [ GRANTED BY %s ]\n"
    4396             :                       "    [ CASCADE | RESTRICT ]\n"
    4397             :                       "\n"
    4398             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4399             :                       "    { EXECUTE | ALL [ PRIVILEGES ] }\n"
    4400             :                       "    ON { { FUNCTION | PROCEDURE | ROUTINE } %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] [, ...]\n"
    4401             :                       "         | ALL { FUNCTIONS | PROCEDURES | ROUTINES } IN SCHEMA %s [, ...] }\n"
    4402             :                       "    FROM %s [, ...]\n"
    4403             :                       "    [ GRANTED BY %s ]\n"
    4404             :                       "    [ CASCADE | RESTRICT ]\n"
    4405             :                       "\n"
    4406             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4407             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
    4408             :                       "    ON LANGUAGE %s [, ...]\n"
    4409             :                       "    FROM %s [, ...]\n"
    4410             :                       "    [ GRANTED BY %s ]\n"
    4411             :                       "    [ CASCADE | RESTRICT ]\n"
    4412             :                       "\n"
    4413             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4414             :                       "    { { SELECT | UPDATE } [, ...] | ALL [ PRIVILEGES ] }\n"
    4415             :                       "    ON LARGE OBJECT %s [, ...]\n"
    4416             :                       "    FROM %s [, ...]\n"
    4417             :                       "    [ GRANTED BY %s ]\n"
    4418             :                       "    [ CASCADE | RESTRICT ]\n"
    4419             :                       "\n"
    4420             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4421             :                       "    { { SET | ALTER SYSTEM } [, ...] | ALL [ PRIVILEGES ] }\n"
    4422             :                       "    ON PARAMETER %s [, ...]\n"
    4423             :                       "    FROM %s [, ...]\n"
    4424             :                       "    [ GRANTED BY %s ]\n"
    4425             :                       "    [ CASCADE | RESTRICT ]\n"
    4426             :                       "\n"
    4427             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4428             :                       "    { { CREATE | USAGE } [, ...] | ALL [ PRIVILEGES ] }\n"
    4429             :                       "    ON SCHEMA %s [, ...]\n"
    4430             :                       "    FROM %s [, ...]\n"
    4431             :                       "    [ GRANTED BY %s ]\n"
    4432             :                       "    [ CASCADE | RESTRICT ]\n"
    4433             :                       "\n"
    4434             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4435             :                       "    { CREATE | ALL [ PRIVILEGES ] }\n"
    4436             :                       "    ON TABLESPACE %s [, ...]\n"
    4437             :                       "    FROM %s [, ...]\n"
    4438             :                       "    [ GRANTED BY %s ]\n"
    4439             :                       "    [ CASCADE | RESTRICT ]\n"
    4440             :                       "\n"
    4441             :                       "REVOKE [ GRANT OPTION FOR ]\n"
    4442             :                       "    { USAGE | ALL [ PRIVILEGES ] }\n"
    4443             :                       "    ON TYPE %s [, ...]\n"
    4444             :                       "    FROM %s [, ...]\n"
    4445             :                       "    [ GRANTED BY %s ]\n"
    4446             :                       "    [ CASCADE | RESTRICT ]\n"
    4447             :                       "\n"
    4448             :                       "REVOKE [ { ADMIN | INHERIT | SET } OPTION FOR ]\n"
    4449             :                       "    %s [, ...] FROM %s [, ...]\n"
    4450             :                       "    [ GRANTED BY %s ]\n"
    4451             :                       "    [ CASCADE | RESTRICT ]\n"
    4452             :                       "\n"
    4453             :                       "%s\n"
    4454             :                       "\n"
    4455             :                       "    [ GROUP ] %s\n"
    4456             :                       "  | PUBLIC\n"
    4457             :                       "  | CURRENT_ROLE\n"
    4458             :                       "  | CURRENT_USER\n"
    4459             :                       "  | SESSION_USER",
    4460             :                       _("table_name"),
    4461             :                       _("schema_name"),
    4462             :                       _("role_specification"),
    4463             :                       _("role_specification"),
    4464             :                       _("column_name"),
    4465             :                       _("column_name"),
    4466             :                       _("table_name"),
    4467             :                       _("role_specification"),
    4468             :                       _("role_specification"),
    4469             :                       _("sequence_name"),
    4470             :                       _("schema_name"),
    4471             :                       _("role_specification"),
    4472             :                       _("role_specification"),
    4473             :                       _("database_name"),
    4474             :                       _("role_specification"),
    4475             :                       _("role_specification"),
    4476             :                       _("domain_name"),
    4477             :                       _("role_specification"),
    4478             :                       _("role_specification"),
    4479             :                       _("fdw_name"),
    4480             :                       _("role_specification"),
    4481             :                       _("role_specification"),
    4482             :                       _("server_name"),
    4483             :                       _("role_specification"),
    4484             :                       _("role_specification"),
    4485             :                       _("function_name"),
    4486             :                       _("argmode"),
    4487             :                       _("arg_name"),
    4488             :                       _("arg_type"),
    4489             :                       _("schema_name"),
    4490             :                       _("role_specification"),
    4491             :                       _("role_specification"),
    4492             :                       _("lang_name"),
    4493             :                       _("role_specification"),
    4494             :                       _("role_specification"),
    4495             :                       _("loid"),
    4496             :                       _("role_specification"),
    4497             :                       _("role_specification"),
    4498             :                       _("configuration_parameter"),
    4499             :                       _("role_specification"),
    4500             :                       _("role_specification"),
    4501             :                       _("schema_name"),
    4502             :                       _("role_specification"),
    4503             :                       _("role_specification"),
    4504             :                       _("tablespace_name"),
    4505             :                       _("role_specification"),
    4506             :                       _("role_specification"),
    4507             :                       _("type_name"),
    4508             :                       _("role_specification"),
    4509             :                       _("role_specification"),
    4510             :                       _("role_name"),
    4511             :                       _("role_specification"),
    4512             :                       _("role_specification"),
    4513             :                       _("where role_specification can be:"),
    4514             :                       _("role_name"));
    4515           0 : }
    4516             : 
    4517             : static void
    4518           0 : sql_help_ROLLBACK(PQExpBuffer buf)
    4519             : {
    4520           0 :     appendPQExpBuffer(buf,
    4521             :                       "ROLLBACK [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]");
    4522           0 : }
    4523             : 
    4524             : static void
    4525           0 : sql_help_ROLLBACK_PREPARED(PQExpBuffer buf)
    4526             : {
    4527           0 :     appendPQExpBuffer(buf,
    4528             :                       "ROLLBACK PREPARED %s",
    4529             :                       _("transaction_id"));
    4530           0 : }
    4531             : 
    4532             : static void
    4533           0 : sql_help_ROLLBACK_TO_SAVEPOINT(PQExpBuffer buf)
    4534             : {
    4535           0 :     appendPQExpBuffer(buf,
    4536             :                       "ROLLBACK [ WORK | TRANSACTION ] TO [ SAVEPOINT ] %s",
    4537             :                       _("savepoint_name"));
    4538           0 : }
    4539             : 
    4540             : static void
    4541           0 : sql_help_SAVEPOINT(PQExpBuffer buf)
    4542             : {
    4543           0 :     appendPQExpBuffer(buf,
    4544             :                       "SAVEPOINT %s",
    4545             :                       _("savepoint_name"));
    4546           0 : }
    4547             : 
    4548             : static void
    4549           0 : sql_help_SECURITY_LABEL(PQExpBuffer buf)
    4550             : {
    4551           0 :     appendPQExpBuffer(buf,
    4552             :                       "SECURITY LABEL [ FOR %s ] ON\n"
    4553             :                       "{\n"
    4554             :                       "  TABLE %s |\n"
    4555             :                       "  COLUMN %s.%s |\n"
    4556             :                       "  AGGREGATE %s ( %s ) |\n"
    4557             :                       "  DATABASE %s |\n"
    4558             :                       "  DOMAIN %s |\n"
    4559             :                       "  EVENT TRIGGER %s |\n"
    4560             :                       "  FOREIGN TABLE %s |\n"
    4561             :                       "  FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    4562             :                       "  LARGE OBJECT %s |\n"
    4563             :                       "  MATERIALIZED VIEW %s |\n"
    4564             :                       "  [ PROCEDURAL ] LANGUAGE %s |\n"
    4565             :                       "  PROCEDURE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    4566             :                       "  PUBLICATION %s |\n"
    4567             :                       "  ROLE %s |\n"
    4568             :                       "  ROUTINE %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n"
    4569             :                       "  SCHEMA %s |\n"
    4570             :                       "  SEQUENCE %s |\n"
    4571             :                       "  SUBSCRIPTION %s |\n"
    4572             :                       "  TABLESPACE %s |\n"
    4573             :                       "  TYPE %s |\n"
    4574             :                       "  VIEW %s\n"
    4575             :                       "} IS { %s | NULL }\n"
    4576             :                       "\n"
    4577             :                       "%s\n"
    4578             :                       "\n"
    4579             :                       "* |\n"
    4580             :                       "[ %s ] [ %s ] %s [ , ... ] |\n"
    4581             :                       "[ [ %s ] [ %s ] %s [ , ... ] ] ORDER BY [ %s ] [ %s ] %s [ , ... ]",
    4582             :                       _("provider"),
    4583             :                       _("object_name"),
    4584             :                       _("table_name"),
    4585             :                       _("column_name"),
    4586             :                       _("aggregate_name"),
    4587             :                       _("aggregate_signature"),
    4588             :                       _("object_name"),
    4589             :                       _("object_name"),
    4590             :                       _("object_name"),
    4591             :                       _("object_name"),
    4592             :                       _("function_name"),
    4593             :                       _("argmode"),
    4594             :                       _("argname"),
    4595             :                       _("argtype"),
    4596             :                       _("large_object_oid"),
    4597             :                       _("object_name"),
    4598             :                       _("object_name"),
    4599             :                       _("procedure_name"),
    4600             :                       _("argmode"),
    4601             :                       _("argname"),
    4602             :                       _("argtype"),
    4603             :                       _("object_name"),
    4604             :                       _("object_name"),
    4605             :                       _("routine_name"),
    4606             :                       _("argmode"),
    4607             :                       _("argname"),
    4608             :                       _("argtype"),
    4609             :                       _("object_name"),
    4610             :                       _("object_name"),
    4611             :                       _("object_name"),
    4612             :                       _("object_name"),
    4613             :                       _("object_name"),
    4614             :                       _("object_name"),
    4615             :                       _("string_literal"),
    4616             :                       _("where aggregate_signature is:"),
    4617             :                       _("argmode"),
    4618             :                       _("argname"),
    4619             :                       _("argtype"),
    4620             :                       _("argmode"),
    4621             :                       _("argname"),
    4622             :                       _("argtype"),
    4623             :                       _("argmode"),
    4624             :                       _("argname"),
    4625             :                       _("argtype"));
    4626           0 : }
    4627             : 
    4628             : static void
    4629           2 : sql_help_SELECT(PQExpBuffer buf)
    4630             : {
    4631           2 :     appendPQExpBuffer(buf,
    4632             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    4633             :                       "SELECT [ ALL | DISTINCT [ ON ( %s [, ...] ) ] ]\n"
    4634             :                       "    [ { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    4635             :                       "    [ FROM %s [, ...] ]\n"
    4636             :                       "    [ WHERE %s ]\n"
    4637             :                       "    [ GROUP BY { ALL | [ ALL | DISTINCT ] %s [, ...] } ]\n"
    4638             :                       "    [ HAVING %s ]\n"
    4639             :                       "    [ WINDOW %s AS ( %s ) [, ...] ]\n"
    4640             :                       "    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] %s ]\n"
    4641             :                       "    [ ORDER BY %s [ ASC | DESC | USING %s ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
    4642             :                       "    [ LIMIT { %s | ALL } ]\n"
    4643             :                       "    [ OFFSET %s [ ROW | ROWS ] ]\n"
    4644             :                       "    [ FETCH { FIRST | NEXT } [ %s ] { ROW | ROWS } { ONLY | WITH TIES } ]\n"
    4645             :                       "    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF %s [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]\n"
    4646             :                       "\n"
    4647             :                       "%s\n"
    4648             :                       "\n"
    4649             :                       "    [ ONLY ] %s [ * ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4650             :                       "                [ TABLESAMPLE %s ( %s [, ...] ) [ REPEATABLE ( %s ) ] ]\n"
    4651             :                       "    [ LATERAL ] ( %s ) [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4652             :                       "    %s [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4653             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] )\n"
    4654             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4655             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) [ AS ] %s ( %s [, ...] )\n"
    4656             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) AS ( %s [, ...] )\n"
    4657             :                       "    [ LATERAL ] ROWS FROM( %s ( [ %s [, ...] ] ) [ AS ( %s [, ...] ) ] [, ...] )\n"
    4658             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4659             :                       "    %s %s %s { ON %s | USING ( %s [, ...] ) [ AS %s ] }\n"
    4660             :                       "    %s NATURAL %s %s\n"
    4661             :                       "    %s CROSS JOIN %s\n"
    4662             :                       "\n"
    4663             :                       "%s\n"
    4664             :                       "\n"
    4665             :                       "    ( )\n"
    4666             :                       "    %s\n"
    4667             :                       "    ( %s [, ...] )\n"
    4668             :                       "    ROLLUP ( { %s | ( %s [, ...] ) } [, ...] )\n"
    4669             :                       "    CUBE ( { %s | ( %s [, ...] ) } [, ...] )\n"
    4670             :                       "    GROUPING SETS ( %s [, ...] )\n"
    4671             :                       "\n"
    4672             :                       "%s\n"
    4673             :                       "\n"
    4674             :                       "    %s [ ( %s [, ...] ) ] AS [ [ NOT ] MATERIALIZED ] ( %s | %s | %s | %s | %s | %s )\n"
    4675             :                       "        [ SEARCH { BREADTH | DEPTH } FIRST BY %s [, ...] SET %s ]\n"
    4676             :                       "        [ CYCLE %s [, ...] SET %s [ TO %s DEFAULT %s ] USING %s ]\n"
    4677             :                       "\n"
    4678             :                       "TABLE [ ONLY ] %s [ * ]",
    4679             :                       _("with_query"),
    4680             :                       _("expression"),
    4681             :                       _("expression"),
    4682             :                       _("output_name"),
    4683             :                       _("from_item"),
    4684             :                       _("condition"),
    4685             :                       _("grouping_element"),
    4686             :                       _("condition"),
    4687             :                       _("window_name"),
    4688             :                       _("window_definition"),
    4689             :                       _("select"),
    4690             :                       _("expression"),
    4691             :                       _("operator"),
    4692             :                       _("count"),
    4693             :                       _("start"),
    4694             :                       _("count"),
    4695             :                       _("from_reference"),
    4696             :                       _("where from_item can be one of:"),
    4697             :                       _("table_name"),
    4698             :                       _("alias"),
    4699             :                       _("column_alias"),
    4700             :                       _("sampling_method"),
    4701             :                       _("argument"),
    4702             :                       _("seed"),
    4703             :                       _("select"),
    4704             :                       _("alias"),
    4705             :                       _("column_alias"),
    4706             :                       _("with_query_name"),
    4707             :                       _("alias"),
    4708             :                       _("column_alias"),
    4709             :                       _("function_name"),
    4710             :                       _("argument"),
    4711             :                       _("alias"),
    4712             :                       _("column_alias"),
    4713             :                       _("function_name"),
    4714             :                       _("argument"),
    4715             :                       _("alias"),
    4716             :                       _("column_definition"),
    4717             :                       _("function_name"),
    4718             :                       _("argument"),
    4719             :                       _("column_definition"),
    4720             :                       _("function_name"),
    4721             :                       _("argument"),
    4722             :                       _("column_definition"),
    4723             :                       _("alias"),
    4724             :                       _("column_alias"),
    4725             :                       _("from_item"),
    4726             :                       _("join_type"),
    4727             :                       _("from_item"),
    4728             :                       _("join_condition"),
    4729             :                       _("join_column"),
    4730             :                       _("join_using_alias"),
    4731             :                       _("from_item"),
    4732             :                       _("join_type"),
    4733             :                       _("from_item"),
    4734             :                       _("from_item"),
    4735             :                       _("from_item"),
    4736             :                       _("and grouping_element can be one of:"),
    4737             :                       _("expression"),
    4738             :                       _("expression"),
    4739             :                       _("expression"),
    4740             :                       _("expression"),
    4741             :                       _("expression"),
    4742             :                       _("expression"),
    4743             :                       _("grouping_element"),
    4744             :                       _("and with_query is:"),
    4745             :                       _("with_query_name"),
    4746             :                       _("column_name"),
    4747             :                       _("select"),
    4748             :                       _("values"),
    4749             :                       _("insert"),
    4750             :                       _("update"),
    4751             :                       _("delete"),
    4752             :                       _("merge"),
    4753             :                       _("column_name"),
    4754             :                       _("search_seq_col_name"),
    4755             :                       _("column_name"),
    4756             :                       _("cycle_mark_col_name"),
    4757             :                       _("cycle_mark_value"),
    4758             :                       _("cycle_mark_default"),
    4759             :                       _("cycle_path_col_name"),
    4760             :                       _("table_name"));
    4761           2 : }
    4762             : 
    4763             : static void
    4764           0 : sql_help_SELECT_INTO(PQExpBuffer buf)
    4765             : {
    4766           0 :     appendPQExpBuffer(buf,
    4767             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    4768             :                       "SELECT [ ALL | DISTINCT [ ON ( %s [, ...] ) ] ]\n"
    4769             :                       "    [ { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    4770             :                       "    INTO [ TEMPORARY | TEMP | UNLOGGED ] [ TABLE ] %s\n"
    4771             :                       "    [ FROM %s [, ...] ]\n"
    4772             :                       "    [ WHERE %s ]\n"
    4773             :                       "    [ GROUP BY { ALL | [ ALL | DISTINCT ] %s [, ...] } ]\n"
    4774             :                       "    [ HAVING %s ]\n"
    4775             :                       "    [ WINDOW %s AS ( %s ) [, ...] ]\n"
    4776             :                       "    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] %s ]\n"
    4777             :                       "    [ ORDER BY %s [ ASC | DESC | USING %s ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
    4778             :                       "    [ LIMIT { %s | ALL } ]\n"
    4779             :                       "    [ OFFSET %s [ ROW | ROWS ] ]\n"
    4780             :                       "    [ FETCH { FIRST | NEXT } [ %s ] { ROW | ROWS } { ONLY | WITH TIES } ]\n"
    4781             :                       "    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF %s [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]",
    4782             :                       _("with_query"),
    4783             :                       _("expression"),
    4784             :                       _("expression"),
    4785             :                       _("output_name"),
    4786             :                       _("new_table"),
    4787             :                       _("from_item"),
    4788             :                       _("condition"),
    4789             :                       _("grouping_element"),
    4790             :                       _("condition"),
    4791             :                       _("window_name"),
    4792             :                       _("window_definition"),
    4793             :                       _("select"),
    4794             :                       _("expression"),
    4795             :                       _("operator"),
    4796             :                       _("count"),
    4797             :                       _("start"),
    4798             :                       _("count"),
    4799             :                       _("from_reference"));
    4800           0 : }
    4801             : 
    4802             : static void
    4803           0 : sql_help_SET(PQExpBuffer buf)
    4804             : {
    4805           0 :     appendPQExpBuffer(buf,
    4806             :                       "SET [ SESSION | LOCAL ] %s { TO | = } { %s [, ...] | DEFAULT }\n"
    4807             :                       "SET [ SESSION | LOCAL ] TIME ZONE { %s | LOCAL | DEFAULT }",
    4808             :                       _("configuration_parameter"),
    4809             :                       _("value"),
    4810             :                       _("value"));
    4811           0 : }
    4812             : 
    4813             : static void
    4814           0 : sql_help_SET_CONSTRAINTS(PQExpBuffer buf)
    4815             : {
    4816           0 :     appendPQExpBuffer(buf,
    4817             :                       "SET CONSTRAINTS { ALL | %s [, ...] } { DEFERRED | IMMEDIATE }",
    4818             :                       _("name"));
    4819           0 : }
    4820             : 
    4821             : static void
    4822           0 : sql_help_SET_ROLE(PQExpBuffer buf)
    4823             : {
    4824           0 :     appendPQExpBuffer(buf,
    4825             :                       "SET [ SESSION | LOCAL ] ROLE %s\n"
    4826             :                       "SET [ SESSION | LOCAL ] ROLE NONE\n"
    4827             :                       "RESET ROLE",
    4828             :                       _("role_name"));
    4829           0 : }
    4830             : 
    4831             : static void
    4832           0 : sql_help_SET_SESSION_AUTHORIZATION(PQExpBuffer buf)
    4833             : {
    4834           0 :     appendPQExpBuffer(buf,
    4835             :                       "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION %s\n"
    4836             :                       "SET [ SESSION | LOCAL ] SESSION AUTHORIZATION DEFAULT\n"
    4837             :                       "RESET SESSION AUTHORIZATION",
    4838             :                       _("user_name"));
    4839           0 : }
    4840             : 
    4841             : static void
    4842           0 : sql_help_SET_TRANSACTION(PQExpBuffer buf)
    4843             : {
    4844           0 :     appendPQExpBuffer(buf,
    4845             :                       "SET TRANSACTION %s [, ...]\n"
    4846             :                       "SET TRANSACTION SNAPSHOT %s\n"
    4847             :                       "SET SESSION CHARACTERISTICS AS TRANSACTION %s [, ...]\n"
    4848             :                       "\n"
    4849             :                       "%s\n"
    4850             :                       "\n"
    4851             :                       "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
    4852             :                       "    READ WRITE | READ ONLY\n"
    4853             :                       "    [ NOT ] DEFERRABLE",
    4854             :                       _("transaction_mode"),
    4855             :                       _("snapshot_id"),
    4856             :                       _("transaction_mode"),
    4857             :                       _("where transaction_mode is one of:"));
    4858           0 : }
    4859             : 
    4860             : static void
    4861           0 : sql_help_SHOW(PQExpBuffer buf)
    4862             : {
    4863           0 :     appendPQExpBuffer(buf,
    4864             :                       "SHOW %s\n"
    4865             :                       "SHOW ALL",
    4866             :                       _("name"));
    4867           0 : }
    4868             : 
    4869             : static void
    4870           0 : sql_help_START_TRANSACTION(PQExpBuffer buf)
    4871             : {
    4872           0 :     appendPQExpBuffer(buf,
    4873             :                       "START TRANSACTION [ %s [, ...] ]\n"
    4874             :                       "\n"
    4875             :                       "%s\n"
    4876             :                       "\n"
    4877             :                       "    ISOLATION LEVEL { SERIALIZABLE | REPEATABLE READ | READ COMMITTED | READ UNCOMMITTED }\n"
    4878             :                       "    READ WRITE | READ ONLY\n"
    4879             :                       "    [ NOT ] DEFERRABLE",
    4880             :                       _("transaction_mode"),
    4881             :                       _("where transaction_mode is one of:"));
    4882           0 : }
    4883             : 
    4884             : static void
    4885           0 : sql_help_TABLE(PQExpBuffer buf)
    4886             : {
    4887           0 :     appendPQExpBuffer(buf,
    4888             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    4889             :                       "SELECT [ ALL | DISTINCT [ ON ( %s [, ...] ) ] ]\n"
    4890             :                       "    [ { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    4891             :                       "    [ FROM %s [, ...] ]\n"
    4892             :                       "    [ WHERE %s ]\n"
    4893             :                       "    [ GROUP BY { ALL | [ ALL | DISTINCT ] %s [, ...] } ]\n"
    4894             :                       "    [ HAVING %s ]\n"
    4895             :                       "    [ WINDOW %s AS ( %s ) [, ...] ]\n"
    4896             :                       "    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] %s ]\n"
    4897             :                       "    [ ORDER BY %s [ ASC | DESC | USING %s ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
    4898             :                       "    [ LIMIT { %s | ALL } ]\n"
    4899             :                       "    [ OFFSET %s [ ROW | ROWS ] ]\n"
    4900             :                       "    [ FETCH { FIRST | NEXT } [ %s ] { ROW | ROWS } { ONLY | WITH TIES } ]\n"
    4901             :                       "    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF %s [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]\n"
    4902             :                       "\n"
    4903             :                       "%s\n"
    4904             :                       "\n"
    4905             :                       "    [ ONLY ] %s [ * ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4906             :                       "                [ TABLESAMPLE %s ( %s [, ...] ) [ REPEATABLE ( %s ) ] ]\n"
    4907             :                       "    [ LATERAL ] ( %s ) [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4908             :                       "    %s [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4909             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] )\n"
    4910             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4911             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) [ AS ] %s ( %s [, ...] )\n"
    4912             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) AS ( %s [, ...] )\n"
    4913             :                       "    [ LATERAL ] ROWS FROM( %s ( [ %s [, ...] ] ) [ AS ( %s [, ...] ) ] [, ...] )\n"
    4914             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    4915             :                       "    %s %s %s { ON %s | USING ( %s [, ...] ) [ AS %s ] }\n"
    4916             :                       "    %s NATURAL %s %s\n"
    4917             :                       "    %s CROSS JOIN %s\n"
    4918             :                       "\n"
    4919             :                       "%s\n"
    4920             :                       "\n"
    4921             :                       "    ( )\n"
    4922             :                       "    %s\n"
    4923             :                       "    ( %s [, ...] )\n"
    4924             :                       "    ROLLUP ( { %s | ( %s [, ...] ) } [, ...] )\n"
    4925             :                       "    CUBE ( { %s | ( %s [, ...] ) } [, ...] )\n"
    4926             :                       "    GROUPING SETS ( %s [, ...] )\n"
    4927             :                       "\n"
    4928             :                       "%s\n"
    4929             :                       "\n"
    4930             :                       "    %s [ ( %s [, ...] ) ] AS [ [ NOT ] MATERIALIZED ] ( %s | %s | %s | %s | %s | %s )\n"
    4931             :                       "        [ SEARCH { BREADTH | DEPTH } FIRST BY %s [, ...] SET %s ]\n"
    4932             :                       "        [ CYCLE %s [, ...] SET %s [ TO %s DEFAULT %s ] USING %s ]\n"
    4933             :                       "\n"
    4934             :                       "TABLE [ ONLY ] %s [ * ]",
    4935             :                       _("with_query"),
    4936             :                       _("expression"),
    4937             :                       _("expression"),
    4938             :                       _("output_name"),
    4939             :                       _("from_item"),
    4940             :                       _("condition"),
    4941             :                       _("grouping_element"),
    4942             :                       _("condition"),
    4943             :                       _("window_name"),
    4944             :                       _("window_definition"),
    4945             :                       _("select"),
    4946             :                       _("expression"),
    4947             :                       _("operator"),
    4948             :                       _("count"),
    4949             :                       _("start"),
    4950             :                       _("count"),
    4951             :                       _("from_reference"),
    4952             :                       _("where from_item can be one of:"),
    4953             :                       _("table_name"),
    4954             :                       _("alias"),
    4955             :                       _("column_alias"),
    4956             :                       _("sampling_method"),
    4957             :                       _("argument"),
    4958             :                       _("seed"),
    4959             :                       _("select"),
    4960             :                       _("alias"),
    4961             :                       _("column_alias"),
    4962             :                       _("with_query_name"),
    4963             :                       _("alias"),
    4964             :                       _("column_alias"),
    4965             :                       _("function_name"),
    4966             :                       _("argument"),
    4967             :                       _("alias"),
    4968             :                       _("column_alias"),
    4969             :                       _("function_name"),
    4970             :                       _("argument"),
    4971             :                       _("alias"),
    4972             :                       _("column_definition"),
    4973             :                       _("function_name"),
    4974             :                       _("argument"),
    4975             :                       _("column_definition"),
    4976             :                       _("function_name"),
    4977             :                       _("argument"),
    4978             :                       _("column_definition"),
    4979             :                       _("alias"),
    4980             :                       _("column_alias"),
    4981             :                       _("from_item"),
    4982             :                       _("join_type"),
    4983             :                       _("from_item"),
    4984             :                       _("join_condition"),
    4985             :                       _("join_column"),
    4986             :                       _("join_using_alias"),
    4987             :                       _("from_item"),
    4988             :                       _("join_type"),
    4989             :                       _("from_item"),
    4990             :                       _("from_item"),
    4991             :                       _("from_item"),
    4992             :                       _("and grouping_element can be one of:"),
    4993             :                       _("expression"),
    4994             :                       _("expression"),
    4995             :                       _("expression"),
    4996             :                       _("expression"),
    4997             :                       _("expression"),
    4998             :                       _("expression"),
    4999             :                       _("grouping_element"),
    5000             :                       _("and with_query is:"),
    5001             :                       _("with_query_name"),
    5002             :                       _("column_name"),
    5003             :                       _("select"),
    5004             :                       _("values"),
    5005             :                       _("insert"),
    5006             :                       _("update"),
    5007             :                       _("delete"),
    5008             :                       _("merge"),
    5009             :                       _("column_name"),
    5010             :                       _("search_seq_col_name"),
    5011             :                       _("column_name"),
    5012             :                       _("cycle_mark_col_name"),
    5013             :                       _("cycle_mark_value"),
    5014             :                       _("cycle_mark_default"),
    5015             :                       _("cycle_path_col_name"),
    5016             :                       _("table_name"));
    5017           0 : }
    5018             : 
    5019             : static void
    5020           0 : sql_help_TRUNCATE(PQExpBuffer buf)
    5021             : {
    5022           0 :     appendPQExpBuffer(buf,
    5023             :                       "TRUNCATE [ TABLE ] [ ONLY ] %s [ * ] [, ... ]\n"
    5024             :                       "    [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]",
    5025             :                       _("name"));
    5026           0 : }
    5027             : 
    5028             : static void
    5029           0 : sql_help_UNLISTEN(PQExpBuffer buf)
    5030             : {
    5031           0 :     appendPQExpBuffer(buf,
    5032             :                       "UNLISTEN { %s | * }",
    5033             :                       _("channel"));
    5034           0 : }
    5035             : 
    5036             : static void
    5037           0 : sql_help_UPDATE(PQExpBuffer buf)
    5038             : {
    5039           0 :     appendPQExpBuffer(buf,
    5040             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    5041             :                       "UPDATE [ ONLY ] %s [ * ] [ [ AS ] %s ]\n"
    5042             :                       "    SET { %s = { %s | DEFAULT } |\n"
    5043             :                       "          ( %s [, ...] ) = [ ROW ] ( { %s | DEFAULT } [, ...] ) |\n"
    5044             :                       "          ( %s [, ...] ) = ( %s )\n"
    5045             :                       "        } [, ...]\n"
    5046             :                       "    [ FROM %s [, ...] ]\n"
    5047             :                       "    [ WHERE %s | WHERE CURRENT OF %s ]\n"
    5048             :                       "    [ RETURNING [ WITH ( { OLD | NEW } AS %s [, ...] ) ]\n"
    5049             :                       "                { * | %s [ [ AS ] %s ] } [, ...] ]",
    5050             :                       _("with_query"),
    5051             :                       _("table_name"),
    5052             :                       _("alias"),
    5053             :                       _("column_name"),
    5054             :                       _("expression"),
    5055             :                       _("column_name"),
    5056             :                       _("expression"),
    5057             :                       _("column_name"),
    5058             :                       _("sub-SELECT"),
    5059             :                       _("from_item"),
    5060             :                       _("condition"),
    5061             :                       _("cursor_name"),
    5062             :                       _("output_alias"),
    5063             :                       _("output_expression"),
    5064             :                       _("output_name"));
    5065           0 : }
    5066             : 
    5067             : static void
    5068           0 : sql_help_VACUUM(PQExpBuffer buf)
    5069             : {
    5070           0 :     appendPQExpBuffer(buf,
    5071             :                       "VACUUM [ ( %s [, ...] ) ] [ %s [, ...] ]\n"
    5072             :                       "\n"
    5073             :                       "%s\n"
    5074             :                       "\n"
    5075             :                       "    FULL [ %s ]\n"
    5076             :                       "    FREEZE [ %s ]\n"
    5077             :                       "    VERBOSE [ %s ]\n"
    5078             :                       "    ANALYZE [ %s ]\n"
    5079             :                       "    DISABLE_PAGE_SKIPPING [ %s ]\n"
    5080             :                       "    SKIP_LOCKED [ %s ]\n"
    5081             :                       "    INDEX_CLEANUP { AUTO | ON | OFF }\n"
    5082             :                       "    PROCESS_MAIN [ %s ]\n"
    5083             :                       "    PROCESS_TOAST [ %s ]\n"
    5084             :                       "    TRUNCATE [ %s ]\n"
    5085             :                       "    PARALLEL %s\n"
    5086             :                       "    SKIP_DATABASE_STATS [ %s ]\n"
    5087             :                       "    ONLY_DATABASE_STATS [ %s ]\n"
    5088             :                       "    BUFFER_USAGE_LIMIT %s\n"
    5089             :                       "\n"
    5090             :                       "%s\n"
    5091             :                       "\n"
    5092             :                       "    [ ONLY ] %s [ * ] [ ( %s [, ...] ) ]",
    5093             :                       _("option"),
    5094             :                       _("table_and_columns"),
    5095             :                       _("where option can be one of:"),
    5096             :                       _("boolean"),
    5097             :                       _("boolean"),
    5098             :                       _("boolean"),
    5099             :                       _("boolean"),
    5100             :                       _("boolean"),
    5101             :                       _("boolean"),
    5102             :                       _("boolean"),
    5103             :                       _("boolean"),
    5104             :                       _("boolean"),
    5105             :                       _("integer"),
    5106             :                       _("boolean"),
    5107             :                       _("boolean"),
    5108             :                       _("size"),
    5109             :                       _("and table_and_columns is:"),
    5110             :                       _("table_name"),
    5111             :                       _("column_name"));
    5112           0 : }
    5113             : 
    5114             : static void
    5115           0 : sql_help_VALUES(PQExpBuffer buf)
    5116             : {
    5117           0 :     appendPQExpBuffer(buf,
    5118             :                       "VALUES ( %s [, ...] ) [, ...]\n"
    5119             :                       "    [ ORDER BY %s [ ASC | DESC | USING %s ] [, ...] ]\n"
    5120             :                       "    [ LIMIT { %s | ALL } ]\n"
    5121             :                       "    [ OFFSET %s [ ROW | ROWS ] ]\n"
    5122             :                       "    [ FETCH { FIRST | NEXT } [ %s ] { ROW | ROWS } ONLY ]",
    5123             :                       _("expression"),
    5124             :                       _("sort_expression"),
    5125             :                       _("operator"),
    5126             :                       _("count"),
    5127             :                       _("start"),
    5128             :                       _("count"));
    5129           0 : }
    5130             : 
    5131             : static void
    5132           0 : sql_help_WAIT_FOR(PQExpBuffer buf)
    5133             : {
    5134           0 :     appendPQExpBuffer(buf,
    5135             :                       "WAIT FOR LSN '%s' [ WITH ( %s [, ...] ) ]\n"
    5136             :                       "\n"
    5137             :                       "%s\n"
    5138             :                       "\n"
    5139             :                       "    TIMEOUT '%s'\n"
    5140             :                       "    NO_THROW",
    5141             :                       _("lsn"),
    5142             :                       _("option"),
    5143             :                       _("where option can be:"),
    5144             :                       _("timeout"));
    5145           0 : }
    5146             : 
    5147             : static void
    5148           0 : sql_help_WITH(PQExpBuffer buf)
    5149             : {
    5150           0 :     appendPQExpBuffer(buf,
    5151             :                       "[ WITH [ RECURSIVE ] %s [, ...] ]\n"
    5152             :                       "SELECT [ ALL | DISTINCT [ ON ( %s [, ...] ) ] ]\n"
    5153             :                       "    [ { * | %s [ [ AS ] %s ] } [, ...] ]\n"
    5154             :                       "    [ FROM %s [, ...] ]\n"
    5155             :                       "    [ WHERE %s ]\n"
    5156             :                       "    [ GROUP BY { ALL | [ ALL | DISTINCT ] %s [, ...] } ]\n"
    5157             :                       "    [ HAVING %s ]\n"
    5158             :                       "    [ WINDOW %s AS ( %s ) [, ...] ]\n"
    5159             :                       "    [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] %s ]\n"
    5160             :                       "    [ ORDER BY %s [ ASC | DESC | USING %s ] [ NULLS { FIRST | LAST } ] [, ...] ]\n"
    5161             :                       "    [ LIMIT { %s | ALL } ]\n"
    5162             :                       "    [ OFFSET %s [ ROW | ROWS ] ]\n"
    5163             :                       "    [ FETCH { FIRST | NEXT } [ %s ] { ROW | ROWS } { ONLY | WITH TIES } ]\n"
    5164             :                       "    [ FOR { UPDATE | NO KEY UPDATE | SHARE | KEY SHARE } [ OF %s [, ...] ] [ NOWAIT | SKIP LOCKED ] [...] ]\n"
    5165             :                       "\n"
    5166             :                       "%s\n"
    5167             :                       "\n"
    5168             :                       "    [ ONLY ] %s [ * ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    5169             :                       "                [ TABLESAMPLE %s ( %s [, ...] ) [ REPEATABLE ( %s ) ] ]\n"
    5170             :                       "    [ LATERAL ] ( %s ) [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    5171             :                       "    %s [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    5172             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] )\n"
    5173             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    5174             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) [ AS ] %s ( %s [, ...] )\n"
    5175             :                       "    [ LATERAL ] %s ( [ %s [, ...] ] ) AS ( %s [, ...] )\n"
    5176             :                       "    [ LATERAL ] ROWS FROM( %s ( [ %s [, ...] ] ) [ AS ( %s [, ...] ) ] [, ...] )\n"
    5177             :                       "                [ WITH ORDINALITY ] [ [ AS ] %s [ ( %s [, ...] ) ] ]\n"
    5178             :                       "    %s %s %s { ON %s | USING ( %s [, ...] ) [ AS %s ] }\n"
    5179             :                       "    %s NATURAL %s %s\n"
    5180             :                       "    %s CROSS JOIN %s\n"
    5181             :                       "\n"
    5182             :                       "%s\n"
    5183             :                       "\n"
    5184             :                       "    ( )\n"
    5185             :                       "    %s\n"
    5186             :                       "    ( %s [, ...] )\n"
    5187             :                       "    ROLLUP ( { %s | ( %s [, ...] ) } [, ...] )\n"
    5188             :                       "    CUBE ( { %s | ( %s [, ...] ) } [, ...] )\n"
    5189             :                       "    GROUPING SETS ( %s [, ...] )\n"
    5190             :                       "\n"
    5191             :                       "%s\n"
    5192             :                       "\n"
    5193             :                       "    %s [ ( %s [, ...] ) ] AS [ [ NOT ] MATERIALIZED ] ( %s | %s | %s | %s | %s | %s )\n"
    5194             :                       "        [ SEARCH { BREADTH | DEPTH } FIRST BY %s [, ...] SET %s ]\n"
    5195             :                       "        [ CYCLE %s [, ...] SET %s [ TO %s DEFAULT %s ] USING %s ]\n"
    5196             :                       "\n"
    5197             :                       "TABLE [ ONLY ] %s [ * ]",
    5198             :                       _("with_query"),
    5199             :                       _("expression"),
    5200             :                       _("expression"),
    5201             :                       _("output_name"),
    5202             :                       _("from_item"),
    5203             :                       _("condition"),
    5204             :                       _("grouping_element"),
    5205             :                       _("condition"),
    5206             :                       _("window_name"),
    5207             :                       _("window_definition"),
    5208             :                       _("select"),
    5209             :                       _("expression"),
    5210             :                       _("operator"),
    5211             :                       _("count"),
    5212             :                       _("start"),
    5213             :                       _("count"),
    5214             :                       _("from_reference"),
    5215             :                       _("where from_item can be one of:"),
    5216             :                       _("table_name"),
    5217             :                       _("alias"),
    5218             :                       _("column_alias"),
    5219             :                       _("sampling_method"),
    5220             :                       _("argument"),
    5221             :                       _("seed"),
    5222             :                       _("select"),
    5223             :                       _("alias"),
    5224             :                       _("column_alias"),
    5225             :                       _("with_query_name"),
    5226             :                       _("alias"),
    5227             :                       _("column_alias"),
    5228             :                       _("function_name"),
    5229             :                       _("argument"),
    5230             :                       _("alias"),
    5231             :                       _("column_alias"),
    5232             :                       _("function_name"),
    5233             :                       _("argument"),
    5234             :                       _("alias"),
    5235             :                       _("column_definition"),
    5236             :                       _("function_name"),
    5237             :                       _("argument"),
    5238             :                       _("column_definition"),
    5239             :                       _("function_name"),
    5240             :                       _("argument"),
    5241             :                       _("column_definition"),
    5242             :                       _("alias"),
    5243             :                       _("column_alias"),
    5244             :                       _("from_item"),
    5245             :                       _("join_type"),
    5246             :                       _("from_item"),
    5247             :                       _("join_condition"),
    5248             :                       _("join_column"),
    5249             :                       _("join_using_alias"),
    5250             :                       _("from_item"),
    5251             :                       _("join_type"),
    5252             :                       _("from_item"),
    5253             :                       _("from_item"),
    5254             :                       _("from_item"),
    5255             :                       _("and grouping_element can be one of:"),
    5256             :                       _("expression"),
    5257             :                       _("expression"),
    5258             :                       _("expression"),
    5259             :                       _("expression"),
    5260             :                       _("expression"),
    5261             :                       _("expression"),
    5262             :                       _("grouping_element"),
    5263             :                       _("and with_query is:"),
    5264             :                       _("with_query_name"),
    5265             :                       _("column_name"),
    5266             :                       _("select"),
    5267             :                       _("values"),
    5268             :                       _("insert"),
    5269             :                       _("update"),
    5270             :                       _("delete"),
    5271             :                       _("merge"),
    5272             :                       _("column_name"),
    5273             :                       _("search_seq_col_name"),
    5274             :                       _("column_name"),
    5275             :                       _("cycle_mark_col_name"),
    5276             :                       _("cycle_mark_value"),
    5277             :                       _("cycle_mark_default"),
    5278             :                       _("cycle_path_col_name"),
    5279             :                       _("table_name"));
    5280           0 : }
    5281             : 
    5282             : 
    5283             : const struct _helpStruct QL_HELP[] = {
    5284             :     {"ABORT",
    5285             :         N_("abort the current transaction"),
    5286             :         "sql-abort",
    5287             :         sql_help_ABORT,
    5288             :     0},
    5289             : 
    5290             :     {"ALTER AGGREGATE",
    5291             :         N_("change the definition of an aggregate function"),
    5292             :         "sql-alteraggregate",
    5293             :         sql_help_ALTER_AGGREGATE,
    5294             :     9},
    5295             : 
    5296             :     {"ALTER COLLATION",
    5297             :         N_("change the definition of a collation"),
    5298             :         "sql-altercollation",
    5299             :         sql_help_ALTER_COLLATION,
    5300             :     4},
    5301             : 
    5302             :     {"ALTER CONVERSION",
    5303             :         N_("change the definition of a conversion"),
    5304             :         "sql-alterconversion",
    5305             :         sql_help_ALTER_CONVERSION,
    5306             :     2},
    5307             : 
    5308             :     {"ALTER DATABASE",
    5309             :         N_("change a database"),
    5310             :         "sql-alterdatabase",
    5311             :         sql_help_ALTER_DATABASE,
    5312             :     19},
    5313             : 
    5314             :     {"ALTER DEFAULT PRIVILEGES",
    5315             :         N_("define default access privileges"),
    5316             :         "sql-alterdefaultprivileges",
    5317             :         sql_help_ALTER_DEFAULT_PRIVILEGES,
    5318             :     73},
    5319             : 
    5320             :     {"ALTER DOMAIN",
    5321             :         N_("change the definition of a domain"),
    5322             :         "sql-alterdomain",
    5323             :         sql_help_ALTER_DOMAIN,
    5324             :     22},
    5325             : 
    5326             :     {"ALTER EVENT TRIGGER",
    5327             :         N_("change the definition of an event trigger"),
    5328             :         "sql-altereventtrigger",
    5329             :         sql_help_ALTER_EVENT_TRIGGER,
    5330             :     3},
    5331             : 
    5332             :     {"ALTER EXTENSION",
    5333             :         N_("change the definition of an extension"),
    5334             :         "sql-alterextension",
    5335             :         sql_help_ALTER_EXTENSION,
    5336             :     40},
    5337             : 
    5338             :     {"ALTER FOREIGN DATA WRAPPER",
    5339             :         N_("change the definition of a foreign-data wrapper"),
    5340             :         "sql-alterforeigndatawrapper",
    5341             :         sql_help_ALTER_FOREIGN_DATA_WRAPPER,
    5342             :     5},
    5343             : 
    5344             :     {"ALTER FOREIGN TABLE",
    5345             :         N_("change the definition of a foreign table"),
    5346             :         "sql-alterforeigntable",
    5347             :         sql_help_ALTER_FOREIGN_TABLE,
    5348             :     33},
    5349             : 
    5350             :     {"ALTER FUNCTION",
    5351             :         N_("change the definition of a function"),
    5352             :         "sql-alterfunction",
    5353             :         sql_help_ALTER_FUNCTION,
    5354             :     24},
    5355             : 
    5356             :     {"ALTER GROUP",
    5357             :         N_("change role name or membership"),
    5358             :         "sql-altergroup",
    5359             :         sql_help_ALTER_GROUP,
    5360             :     10},
    5361             : 
    5362             :     {"ALTER INDEX",
    5363             :         N_("change the definition of an index"),
    5364             :         "sql-alterindex",
    5365             :         sql_help_ALTER_INDEX,
    5366             :     9},
    5367             : 
    5368             :     {"ALTER LANGUAGE",
    5369             :         N_("change the definition of a procedural language"),
    5370             :         "sql-alterlanguage",
    5371             :         sql_help_ALTER_LANGUAGE,
    5372             :     1},
    5373             : 
    5374             :     {"ALTER LARGE OBJECT",
    5375             :         N_("change the definition of a large object"),
    5376             :         "sql-alterlargeobject",
    5377             :         sql_help_ALTER_LARGE_OBJECT,
    5378             :     0},
    5379             : 
    5380             :     {"ALTER MATERIALIZED VIEW",
    5381             :         N_("change the definition of a materialized view"),
    5382             :         "sql-altermaterializedview",
    5383             :         sql_help_ALTER_MATERIALIZED_VIEW,
    5384             :     26},
    5385             : 
    5386             :     {"ALTER OPERATOR",
    5387             :         N_("change the definition of an operator"),
    5388             :         "sql-alteroperator",
    5389             :         sql_help_ALTER_OPERATOR,
    5390             :     13},
    5391             : 
    5392             :     {"ALTER OPERATOR CLASS",
    5393             :         N_("change the definition of an operator class"),
    5394             :         "sql-alteropclass",
    5395             :         sql_help_ALTER_OPERATOR_CLASS,
    5396             :     7},
    5397             : 
    5398             :     {"ALTER OPERATOR FAMILY",
    5399             :         N_("change the definition of an operator family"),
    5400             :         "sql-alteropfamily",
    5401             :         sql_help_ALTER_OPERATOR_FAMILY,
    5402             :     19},
    5403             : 
    5404             :     {"ALTER POLICY",
    5405             :         N_("change the definition of a row-level security policy"),
    5406             :         "sql-alterpolicy",
    5407             :         sql_help_ALTER_POLICY,
    5408             :     5},
    5409             : 
    5410             :     {"ALTER PROCEDURE",
    5411             :         N_("change the definition of a procedure"),
    5412             :         "sql-alterprocedure",
    5413             :         sql_help_ALTER_PROCEDURE,
    5414             :     17},
    5415             : 
    5416             :     {"ALTER PUBLICATION",
    5417             :         N_("change the definition of a publication"),
    5418             :         "sql-alterpublication",
    5419             :         sql_help_ALTER_PUBLICATION,
    5420             :     19},
    5421             : 
    5422             :     {"ALTER ROLE",
    5423             :         N_("change a database role"),
    5424             :         "sql-alterrole",
    5425             :         sql_help_ALTER_ROLE,
    5426             :     27},
    5427             : 
    5428             :     {"ALTER ROUTINE",
    5429             :         N_("change the definition of a routine"),
    5430             :         "sql-alterroutine",
    5431             :         sql_help_ALTER_ROUTINE,
    5432             :     22},
    5433             : 
    5434             :     {"ALTER RULE",
    5435             :         N_("change the definition of a rule"),
    5436             :         "sql-alterrule",
    5437             :         sql_help_ALTER_RULE,
    5438             :     0},
    5439             : 
    5440             :     {"ALTER SCHEMA",
    5441             :         N_("change the definition of a schema"),
    5442             :         "sql-alterschema",
    5443             :         sql_help_ALTER_SCHEMA,
    5444             :     1},
    5445             : 
    5446             :     {"ALTER SEQUENCE",
    5447             :         N_("change the definition of a sequence generator"),
    5448             :         "sql-altersequence",
    5449             :         sql_help_ALTER_SEQUENCE,
    5450             :     12},
    5451             : 
    5452             :     {"ALTER SERVER",
    5453             :         N_("change the definition of a foreign server"),
    5454             :         "sql-alterserver",
    5455             :         sql_help_ALTER_SERVER,
    5456             :     3},
    5457             : 
    5458             :     {"ALTER STATISTICS",
    5459             :         N_("change the definition of an extended statistics object"),
    5460             :         "sql-alterstatistics",
    5461             :         sql_help_ALTER_STATISTICS,
    5462             :     3},
    5463             : 
    5464             :     {"ALTER SUBSCRIPTION",
    5465             :         N_("change the definition of a subscription"),
    5466             :         "sql-altersubscription",
    5467             :         sql_help_ALTER_SUBSCRIPTION,
    5468             :     11},
    5469             : 
    5470             :     {"ALTER SYSTEM",
    5471             :         N_("change a server configuration parameter"),
    5472             :         "sql-altersystem",
    5473             :         sql_help_ALTER_SYSTEM,
    5474             :     3},
    5475             : 
    5476             :     {"ALTER TABLE",
    5477             :         N_("change the definition of a table"),
    5478             :         "sql-altertable",
    5479             :         sql_help_ALTER_TABLE,
    5480             :     120},
    5481             : 
    5482             :     {"ALTER TABLESPACE",
    5483             :         N_("change the definition of a tablespace"),
    5484             :         "sql-altertablespace",
    5485             :         sql_help_ALTER_TABLESPACE,
    5486             :     3},
    5487             : 
    5488             :     {"ALTER TEXT SEARCH CONFIGURATION",
    5489             :         N_("change the definition of a text search configuration"),
    5490             :         "sql-altertsconfig",
    5491             :         sql_help_ALTER_TEXT_SEARCH_CONFIGURATION,
    5492             :     12},
    5493             : 
    5494             :     {"ALTER TEXT SEARCH DICTIONARY",
    5495             :         N_("change the definition of a text search dictionary"),
    5496             :         "sql-altertsdictionary",
    5497             :         sql_help_ALTER_TEXT_SEARCH_DICTIONARY,
    5498             :     5},
    5499             : 
    5500             :     {"ALTER TEXT SEARCH PARSER",
    5501             :         N_("change the definition of a text search parser"),
    5502             :         "sql-altertsparser",
    5503             :         sql_help_ALTER_TEXT_SEARCH_PARSER,
    5504             :     1},
    5505             : 
    5506             :     {"ALTER TEXT SEARCH TEMPLATE",
    5507             :         N_("change the definition of a text search template"),
    5508             :         "sql-altertstemplate",
    5509             :         sql_help_ALTER_TEXT_SEARCH_TEMPLATE,
    5510             :     1},
    5511             : 
    5512             :     {"ALTER TRIGGER",
    5513             :         N_("change the definition of a trigger"),
    5514             :         "sql-altertrigger",
    5515             :         sql_help_ALTER_TRIGGER,
    5516             :     1},
    5517             : 
    5518             :     {"ALTER TYPE",
    5519             :         N_("change the definition of a type"),
    5520             :         "sql-altertype",
    5521             :         sql_help_ALTER_TYPE,
    5522             :     13},
    5523             : 
    5524             :     {"ALTER USER",
    5525             :         N_("change a database role"),
    5526             :         "sql-alteruser",
    5527             :         sql_help_ALTER_USER,
    5528             :     27},
    5529             : 
    5530             :     {"ALTER USER MAPPING",
    5531             :         N_("change the definition of a user mapping"),
    5532             :         "sql-alterusermapping",
    5533             :         sql_help_ALTER_USER_MAPPING,
    5534             :     2},
    5535             : 
    5536             :     {"ALTER VIEW",
    5537             :         N_("change the definition of a view"),
    5538             :         "sql-alterview",
    5539             :         sql_help_ALTER_VIEW,
    5540             :     7},
    5541             : 
    5542             :     {"ANALYZE",
    5543             :         N_("collect statistics about a database"),
    5544             :         "sql-analyze",
    5545             :         sql_help_ANALYZE,
    5546             :     10},
    5547             : 
    5548             :     {"BEGIN",
    5549             :         N_("start a transaction block"),
    5550             :         "sql-begin",
    5551             :         sql_help_BEGIN,
    5552             :     6},
    5553             : 
    5554             :     {"CALL",
    5555             :         N_("invoke a procedure"),
    5556             :         "sql-call",
    5557             :         sql_help_CALL,
    5558             :     0},
    5559             : 
    5560             :     {"CHECKPOINT",
    5561             :         N_("force a write-ahead log checkpoint"),
    5562             :         "sql-checkpoint",
    5563             :         sql_help_CHECKPOINT,
    5564             :     5},
    5565             : 
    5566             :     {"CLOSE",
    5567             :         N_("close a cursor"),
    5568             :         "sql-close",
    5569             :         sql_help_CLOSE,
    5570             :     0},
    5571             : 
    5572             :     {"CLUSTER",
    5573             :         N_("cluster a table according to an index"),
    5574             :         "sql-cluster",
    5575             :         sql_help_CLUSTER,
    5576             :     4},
    5577             : 
    5578             :     {"COMMENT",
    5579             :         N_("define or change the comment of an object"),
    5580             :         "sql-comment",
    5581             :         sql_help_COMMENT,
    5582             :     51},
    5583             : 
    5584             :     {"COMMIT",
    5585             :         N_("commit the current transaction"),
    5586             :         "sql-commit",
    5587             :         sql_help_COMMIT,
    5588             :     0},
    5589             : 
    5590             :     {"COMMIT PREPARED",
    5591             :         N_("commit a transaction that was earlier prepared for two-phase commit"),
    5592             :         "sql-commit-prepared",
    5593             :         sql_help_COMMIT_PREPARED,
    5594             :     0},
    5595             : 
    5596             :     {"COPY",
    5597             :         N_("copy data between a file and a table"),
    5598             :         "sql-copy",
    5599             :         sql_help_COPY,
    5600             :     25},
    5601             : 
    5602             :     {"CREATE ACCESS METHOD",
    5603             :         N_("define a new access method"),
    5604             :         "sql-create-access-method",
    5605             :         sql_help_CREATE_ACCESS_METHOD,
    5606             :     2},
    5607             : 
    5608             :     {"CREATE AGGREGATE",
    5609             :         N_("define a new aggregate function"),
    5610             :         "sql-createaggregate",
    5611             :         sql_help_CREATE_AGGREGATE,
    5612             :     59},
    5613             : 
    5614             :     {"CREATE CAST",
    5615             :         N_("define a new cast"),
    5616             :         "sql-createcast",
    5617             :         sql_help_CREATE_CAST,
    5618             :     10},
    5619             : 
    5620             :     {"CREATE COLLATION",
    5621             :         N_("define a new collation"),
    5622             :         "sql-createcollation",
    5623             :         sql_help_CREATE_COLLATION,
    5624             :     9},
    5625             : 
    5626             :     {"CREATE CONVERSION",
    5627             :         N_("define a new encoding conversion"),
    5628             :         "sql-createconversion",
    5629             :         sql_help_CREATE_CONVERSION,
    5630             :     1},
    5631             : 
    5632             :     {"CREATE DATABASE",
    5633             :         N_("create a new database"),
    5634             :         "sql-createdatabase",
    5635             :         sql_help_CREATE_DATABASE,
    5636             :     17},
    5637             : 
    5638             :     {"CREATE DOMAIN",
    5639             :         N_("define a new domain"),
    5640             :         "sql-createdomain",
    5641             :         sql_help_CREATE_DOMAIN,
    5642             :     8},
    5643             : 
    5644             :     {"CREATE EVENT TRIGGER",
    5645             :         N_("define a new event trigger"),
    5646             :         "sql-createeventtrigger",
    5647             :         sql_help_CREATE_EVENT_TRIGGER,
    5648             :     3},
    5649             : 
    5650             :     {"CREATE EXTENSION",
    5651             :         N_("install an extension"),
    5652             :         "sql-createextension",
    5653             :         sql_help_CREATE_EXTENSION,
    5654             :     3},
    5655             : 
    5656             :     {"CREATE FOREIGN DATA WRAPPER",
    5657             :         N_("define a new foreign-data wrapper"),
    5658             :         "sql-createforeigndatawrapper",
    5659             :         sql_help_CREATE_FOREIGN_DATA_WRAPPER,
    5660             :     3},
    5661             : 
    5662             :     {"CREATE FOREIGN TABLE",
    5663             :         N_("define a new foreign table"),
    5664             :         "sql-createforeigntable",
    5665             :         sql_help_CREATE_FOREIGN_TABLE,
    5666             :     46},
    5667             : 
    5668             :     {"CREATE FUNCTION",
    5669             :         N_("define a new function"),
    5670             :         "sql-createfunction",
    5671             :         sql_help_CREATE_FUNCTION,
    5672             :     19},
    5673             : 
    5674             :     {"CREATE GROUP",
    5675             :         N_("define a new database role"),
    5676             :         "sql-creategroup",
    5677             :         sql_help_CREATE_GROUP,
    5678             :     19},
    5679             : 
    5680             :     {"CREATE INDEX",
    5681             :         N_("define a new index"),
    5682             :         "sql-createindex",
    5683             :         sql_help_CREATE_INDEX,
    5684             :     6},
    5685             : 
    5686             :     {"CREATE LANGUAGE",
    5687             :         N_("define a new procedural language"),
    5688             :         "sql-createlanguage",
    5689             :         sql_help_CREATE_LANGUAGE,
    5690             :     2},
    5691             : 
    5692             :     {"CREATE MATERIALIZED VIEW",
    5693             :         N_("define a new materialized view"),
    5694             :         "sql-creatematerializedview",
    5695             :         sql_help_CREATE_MATERIALIZED_VIEW,
    5696             :     6},
    5697             : 
    5698             :     {"CREATE OPERATOR",
    5699             :         N_("define a new operator"),
    5700             :         "sql-createoperator",
    5701             :         sql_help_CREATE_OPERATOR,
    5702             :     6},
    5703             : 
    5704             :     {"CREATE OPERATOR CLASS",
    5705             :         N_("define a new operator class"),
    5706             :         "sql-createopclass",
    5707             :         sql_help_CREATE_OPERATOR_CLASS,
    5708             :     5},
    5709             : 
    5710             :     {"CREATE OPERATOR FAMILY",
    5711             :         N_("define a new operator family"),
    5712             :         "sql-createopfamily",
    5713             :         sql_help_CREATE_OPERATOR_FAMILY,
    5714             :     0},
    5715             : 
    5716             :     {"CREATE POLICY",
    5717             :         N_("define a new row-level security policy for a table"),
    5718             :         "sql-createpolicy",
    5719             :         sql_help_CREATE_POLICY,
    5720             :     5},
    5721             : 
    5722             :     {"CREATE PROCEDURE",
    5723             :         N_("define a new procedure"),
    5724             :         "sql-createprocedure",
    5725             :         sql_help_CREATE_PROCEDURE,
    5726             :     9},
    5727             : 
    5728             :     {"CREATE PUBLICATION",
    5729             :         N_("define a new publication"),
    5730             :         "sql-createpublication",
    5731             :         sql_help_CREATE_PUBLICATION,
    5732             :     16},
    5733             : 
    5734             :     {"CREATE ROLE",
    5735             :         N_("define a new database role"),
    5736             :         "sql-createrole",
    5737             :         sql_help_CREATE_ROLE,
    5738             :     17},
    5739             : 
    5740             :     {"CREATE RULE",
    5741             :         N_("define a new rewrite rule"),
    5742             :         "sql-createrule",
    5743             :         sql_help_CREATE_RULE,
    5744             :     6},
    5745             : 
    5746             :     {"CREATE SCHEMA",
    5747             :         N_("define a new schema"),
    5748             :         "sql-createschema",
    5749             :         sql_help_CREATE_SCHEMA,
    5750             :     10},
    5751             : 
    5752             :     {"CREATE SEQUENCE",
    5753             :         N_("define a new sequence generator"),
    5754             :         "sql-createsequence",
    5755             :         sql_help_CREATE_SEQUENCE,
    5756             :     7},
    5757             : 
    5758             :     {"CREATE SERVER",
    5759             :         N_("define a new foreign server"),
    5760             :         "sql-createserver",
    5761             :         sql_help_CREATE_SERVER,
    5762             :     2},
    5763             : 
    5764             :     {"CREATE STATISTICS",
    5765             :         N_("define extended statistics"),
    5766             :         "sql-createstatistics",
    5767             :         sql_help_CREATE_STATISTICS,
    5768             :     7},
    5769             : 
    5770             :     {"CREATE SUBSCRIPTION",
    5771             :         N_("define a new subscription"),
    5772             :         "sql-createsubscription",
    5773             :         sql_help_CREATE_SUBSCRIPTION,
    5774             :     3},
    5775             : 
    5776             :     {"CREATE TABLE",
    5777             :         N_("define a new table"),
    5778             :         "sql-createtable",
    5779             :         sql_help_CREATE_TABLE,
    5780             :     88},
    5781             : 
    5782             :     {"CREATE TABLE AS",
    5783             :         N_("define a new table from the results of a query"),
    5784             :         "sql-createtableas",
    5785             :         sql_help_CREATE_TABLE_AS,
    5786             :     7},
    5787             : 
    5788             :     {"CREATE TABLESPACE",
    5789             :         N_("define a new tablespace"),
    5790             :         "sql-createtablespace",
    5791             :         sql_help_CREATE_TABLESPACE,
    5792             :     3},
    5793             : 
    5794             :     {"CREATE TEXT SEARCH CONFIGURATION",
    5795             :         N_("define a new text search configuration"),
    5796             :         "sql-createtsconfig",
    5797             :         sql_help_CREATE_TEXT_SEARCH_CONFIGURATION,
    5798             :     3},
    5799             : 
    5800             :     {"CREATE TEXT SEARCH DICTIONARY",
    5801             :         N_("define a new text search dictionary"),
    5802             :         "sql-createtsdictionary",
    5803             :         sql_help_CREATE_TEXT_SEARCH_DICTIONARY,
    5804             :     3},
    5805             : 
    5806             :     {"CREATE TEXT SEARCH PARSER",
    5807             :         N_("define a new text search parser"),
    5808             :         "sql-createtsparser",
    5809             :         sql_help_CREATE_TEXT_SEARCH_PARSER,
    5810             :     6},
    5811             : 
    5812             :     {"CREATE TEXT SEARCH TEMPLATE",
    5813             :         N_("define a new text search template"),
    5814             :         "sql-createtstemplate",
    5815             :         sql_help_CREATE_TEXT_SEARCH_TEMPLATE,
    5816             :     3},
    5817             : 
    5818             :     {"CREATE TRANSFORM",
    5819             :         N_("define a new transform"),
    5820             :         "sql-createtransform",
    5821             :         sql_help_CREATE_TRANSFORM,
    5822             :     3},
    5823             : 
    5824             :     {"CREATE TRIGGER",
    5825             :         N_("define a new trigger"),
    5826             :         "sql-createtrigger",
    5827             :         sql_help_CREATE_TRIGGER,
    5828             :     14},
    5829             : 
    5830             :     {"CREATE TYPE",
    5831             :         N_("define a new data type"),
    5832             :         "sql-createtype",
    5833             :         sql_help_CREATE_TYPE,
    5834             :     37},
    5835             : 
    5836             :     {"CREATE USER",
    5837             :         N_("define a new database role"),
    5838             :         "sql-createuser",
    5839             :         sql_help_CREATE_USER,
    5840             :     19},
    5841             : 
    5842             :     {"CREATE USER MAPPING",
    5843             :         N_("define a new mapping of a user to a foreign server"),
    5844             :         "sql-createusermapping",
    5845             :         sql_help_CREATE_USER_MAPPING,
    5846             :     2},
    5847             : 
    5848             :     {"CREATE VIEW",
    5849             :         N_("define a new view"),
    5850             :         "sql-createview",
    5851             :         sql_help_CREATE_VIEW,
    5852             :     3},
    5853             : 
    5854             :     {"DEALLOCATE",
    5855             :         N_("deallocate a prepared statement"),
    5856             :         "sql-deallocate",
    5857             :         sql_help_DEALLOCATE,
    5858             :     0},
    5859             : 
    5860             :     {"DECLARE",
    5861             :         N_("define a cursor"),
    5862             :         "sql-declare",
    5863             :         sql_help_DECLARE,
    5864             :     1},
    5865             : 
    5866             :     {"DELETE",
    5867             :         N_("delete rows of a table"),
    5868             :         "sql-delete",
    5869             :         sql_help_DELETE,
    5870             :     5},
    5871             : 
    5872             :     {"DISCARD",
    5873             :         N_("discard session state"),
    5874             :         "sql-discard",
    5875             :         sql_help_DISCARD,
    5876             :     0},
    5877             : 
    5878             :     {"DO",
    5879             :         N_("execute an anonymous code block"),
    5880             :         "sql-do",
    5881             :         sql_help_DO,
    5882             :     0},
    5883             : 
    5884             :     {"DROP ACCESS METHOD",
    5885             :         N_("remove an access method"),
    5886             :         "sql-drop-access-method",
    5887             :         sql_help_DROP_ACCESS_METHOD,
    5888             :     0},
    5889             : 
    5890             :     {"DROP AGGREGATE",
    5891             :         N_("remove an aggregate function"),
    5892             :         "sql-dropaggregate",
    5893             :         sql_help_DROP_AGGREGATE,
    5894             :     6},
    5895             : 
    5896             :     {"DROP CAST",
    5897             :         N_("remove a cast"),
    5898             :         "sql-dropcast",
    5899             :         sql_help_DROP_CAST,
    5900             :     0},
    5901             : 
    5902             :     {"DROP COLLATION",
    5903             :         N_("remove a collation"),
    5904             :         "sql-dropcollation",
    5905             :         sql_help_DROP_COLLATION,
    5906             :     0},
    5907             : 
    5908             :     {"DROP CONVERSION",
    5909             :         N_("remove a conversion"),
    5910             :         "sql-dropconversion",
    5911             :         sql_help_DROP_CONVERSION,
    5912             :     0},
    5913             : 
    5914             :     {"DROP DATABASE",
    5915             :         N_("remove a database"),
    5916             :         "sql-dropdatabase",
    5917             :         sql_help_DROP_DATABASE,
    5918             :     4},
    5919             : 
    5920             :     {"DROP DOMAIN",
    5921             :         N_("remove a domain"),
    5922             :         "sql-dropdomain",
    5923             :         sql_help_DROP_DOMAIN,
    5924             :     0},
    5925             : 
    5926             :     {"DROP EVENT TRIGGER",
    5927             :         N_("remove an event trigger"),
    5928             :         "sql-dropeventtrigger",
    5929             :         sql_help_DROP_EVENT_TRIGGER,
    5930             :     0},
    5931             : 
    5932             :     {"DROP EXTENSION",
    5933             :         N_("remove an extension"),
    5934             :         "sql-dropextension",
    5935             :         sql_help_DROP_EXTENSION,
    5936             :     0},
    5937             : 
    5938             :     {"DROP FOREIGN DATA WRAPPER",
    5939             :         N_("remove a foreign-data wrapper"),
    5940             :         "sql-dropforeigndatawrapper",
    5941             :         sql_help_DROP_FOREIGN_DATA_WRAPPER,
    5942             :     0},
    5943             : 
    5944             :     {"DROP FOREIGN TABLE",
    5945             :         N_("remove a foreign table"),
    5946             :         "sql-dropforeigntable",
    5947             :         sql_help_DROP_FOREIGN_TABLE,
    5948             :     0},
    5949             : 
    5950             :     {"DROP FUNCTION",
    5951             :         N_("remove a function"),
    5952             :         "sql-dropfunction",
    5953             :         sql_help_DROP_FUNCTION,
    5954             :     1},
    5955             : 
    5956             :     {"DROP GROUP",
    5957             :         N_("remove a database role"),
    5958             :         "sql-dropgroup",
    5959             :         sql_help_DROP_GROUP,
    5960             :     0},
    5961             : 
    5962             :     {"DROP INDEX",
    5963             :         N_("remove an index"),
    5964             :         "sql-dropindex",
    5965             :         sql_help_DROP_INDEX,
    5966             :     0},
    5967             : 
    5968             :     {"DROP LANGUAGE",
    5969             :         N_("remove a procedural language"),
    5970             :         "sql-droplanguage",
    5971             :         sql_help_DROP_LANGUAGE,
    5972             :     0},
    5973             : 
    5974             :     {"DROP MATERIALIZED VIEW",
    5975             :         N_("remove a materialized view"),
    5976             :         "sql-dropmaterializedview",
    5977             :         sql_help_DROP_MATERIALIZED_VIEW,
    5978             :     0},
    5979             : 
    5980             :     {"DROP OPERATOR",
    5981             :         N_("remove an operator"),
    5982             :         "sql-dropoperator",
    5983             :         sql_help_DROP_OPERATOR,
    5984             :     0},
    5985             : 
    5986             :     {"DROP OPERATOR CLASS",
    5987             :         N_("remove an operator class"),
    5988             :         "sql-dropopclass",
    5989             :         sql_help_DROP_OPERATOR_CLASS,
    5990             :     0},
    5991             : 
    5992             :     {"DROP OPERATOR FAMILY",
    5993             :         N_("remove an operator family"),
    5994             :         "sql-dropopfamily",
    5995             :         sql_help_DROP_OPERATOR_FAMILY,
    5996             :     0},
    5997             : 
    5998             :     {"DROP OWNED",
    5999             :         N_("remove database objects owned by a database role"),
    6000             :         "sql-drop-owned",
    6001             :         sql_help_DROP_OWNED,
    6002             :     0},
    6003             : 
    6004             :     {"DROP POLICY",
    6005             :         N_("remove a row-level security policy from a table"),
    6006             :         "sql-droppolicy",
    6007             :         sql_help_DROP_POLICY,
    6008             :     0},
    6009             : 
    6010             :     {"DROP PROCEDURE",
    6011             :         N_("remove a procedure"),
    6012             :         "sql-dropprocedure",
    6013             :         sql_help_DROP_PROCEDURE,
    6014             :     1},
    6015             : 
    6016             :     {"DROP PUBLICATION",
    6017             :         N_("remove a publication"),
    6018             :         "sql-droppublication",
    6019             :         sql_help_DROP_PUBLICATION,
    6020             :     0},
    6021             : 
    6022             :     {"DROP ROLE",
    6023             :         N_("remove a database role"),
    6024             :         "sql-droprole",
    6025             :         sql_help_DROP_ROLE,
    6026             :     0},
    6027             : 
    6028             :     {"DROP ROUTINE",
    6029             :         N_("remove a routine"),
    6030             :         "sql-droproutine",
    6031             :         sql_help_DROP_ROUTINE,
    6032             :     1},
    6033             : 
    6034             :     {"DROP RULE",
    6035             :         N_("remove a rewrite rule"),
    6036             :         "sql-droprule",
    6037             :         sql_help_DROP_RULE,
    6038             :     0},
    6039             : 
    6040             :     {"DROP SCHEMA",
    6041             :         N_("remove a schema"),
    6042             :         "sql-dropschema",
    6043             :         sql_help_DROP_SCHEMA,
    6044             :     0},
    6045             : 
    6046             :     {"DROP SEQUENCE",
    6047             :         N_("remove a sequence"),
    6048             :         "sql-dropsequence",
    6049             :         sql_help_DROP_SEQUENCE,
    6050             :     0},
    6051             : 
    6052             :     {"DROP SERVER",
    6053             :         N_("remove a foreign server descriptor"),
    6054             :         "sql-dropserver",
    6055             :         sql_help_DROP_SERVER,
    6056             :     0},
    6057             : 
    6058             :     {"DROP STATISTICS",
    6059             :         N_("remove extended statistics"),
    6060             :         "sql-dropstatistics",
    6061             :         sql_help_DROP_STATISTICS,
    6062             :     0},
    6063             : 
    6064             :     {"DROP SUBSCRIPTION",
    6065             :         N_("remove a subscription"),
    6066             :         "sql-dropsubscription",
    6067             :         sql_help_DROP_SUBSCRIPTION,
    6068             :     0},
    6069             : 
    6070             :     {"DROP TABLE",
    6071             :         N_("remove a table"),
    6072             :         "sql-droptable",
    6073             :         sql_help_DROP_TABLE,
    6074             :     0},
    6075             : 
    6076             :     {"DROP TABLESPACE",
    6077             :         N_("remove a tablespace"),
    6078             :         "sql-droptablespace",
    6079             :         sql_help_DROP_TABLESPACE,
    6080             :     0},
    6081             : 
    6082             :     {"DROP TEXT SEARCH CONFIGURATION",
    6083             :         N_("remove a text search configuration"),
    6084             :         "sql-droptsconfig",
    6085             :         sql_help_DROP_TEXT_SEARCH_CONFIGURATION,
    6086             :     0},
    6087             : 
    6088             :     {"DROP TEXT SEARCH DICTIONARY",
    6089             :         N_("remove a text search dictionary"),
    6090             :         "sql-droptsdictionary",
    6091             :         sql_help_DROP_TEXT_SEARCH_DICTIONARY,
    6092             :     0},
    6093             : 
    6094             :     {"DROP TEXT SEARCH PARSER",
    6095             :         N_("remove a text search parser"),
    6096             :         "sql-droptsparser",
    6097             :         sql_help_DROP_TEXT_SEARCH_PARSER,
    6098             :     0},
    6099             : 
    6100             :     {"DROP TEXT SEARCH TEMPLATE",
    6101             :         N_("remove a text search template"),
    6102             :         "sql-droptstemplate",
    6103             :         sql_help_DROP_TEXT_SEARCH_TEMPLATE,
    6104             :     0},
    6105             : 
    6106             :     {"DROP TRANSFORM",
    6107             :         N_("remove a transform"),
    6108             :         "sql-droptransform",
    6109             :         sql_help_DROP_TRANSFORM,
    6110             :     0},
    6111             : 
    6112             :     {"DROP TRIGGER",
    6113             :         N_("remove a trigger"),
    6114             :         "sql-droptrigger",
    6115             :         sql_help_DROP_TRIGGER,
    6116             :     0},
    6117             : 
    6118             :     {"DROP TYPE",
    6119             :         N_("remove a data type"),
    6120             :         "sql-droptype",
    6121             :         sql_help_DROP_TYPE,
    6122             :     0},
    6123             : 
    6124             :     {"DROP USER",
    6125             :         N_("remove a database role"),
    6126             :         "sql-dropuser",
    6127             :         sql_help_DROP_USER,
    6128             :     0},
    6129             : 
    6130             :     {"DROP USER MAPPING",
    6131             :         N_("remove a user mapping for a foreign server"),
    6132             :         "sql-dropusermapping",
    6133             :         sql_help_DROP_USER_MAPPING,
    6134             :     0},
    6135             : 
    6136             :     {"DROP VIEW",
    6137             :         N_("remove a view"),
    6138             :         "sql-dropview",
    6139             :         sql_help_DROP_VIEW,
    6140             :     0},
    6141             : 
    6142             :     {"END",
    6143             :         N_("commit the current transaction"),
    6144             :         "sql-end",
    6145             :         sql_help_END,
    6146             :     0},
    6147             : 
    6148             :     {"EXECUTE",
    6149             :         N_("execute a prepared statement"),
    6150             :         "sql-execute",
    6151             :         sql_help_EXECUTE,
    6152             :     0},
    6153             : 
    6154             :     {"EXPLAIN",
    6155             :         N_("show the execution plan of a statement"),
    6156             :         "sql-explain",
    6157             :         sql_help_EXPLAIN,
    6158             :     15},
    6159             : 
    6160             :     {"FETCH",
    6161             :         N_("retrieve rows from a query using a cursor"),
    6162             :         "sql-fetch",
    6163             :         sql_help_FETCH,
    6164             :     17},
    6165             : 
    6166             :     {"GRANT",
    6167             :         N_("define access privileges"),
    6168             :         "sql-grant",
    6169             :         sql_help_GRANT,
    6170             :     86},
    6171             : 
    6172             :     {"IMPORT FOREIGN SCHEMA",
    6173             :         N_("import table definitions from a foreign server"),
    6174             :         "sql-importforeignschema",
    6175             :         sql_help_IMPORT_FOREIGN_SCHEMA,
    6176             :     4},
    6177             : 
    6178             :     {"INSERT",
    6179             :         N_("create new rows in a table"),
    6180             :         "sql-insert",
    6181             :         sql_help_INSERT,
    6182             :     20},
    6183             : 
    6184             :     {"LISTEN",
    6185             :         N_("listen for a notification"),
    6186             :         "sql-listen",
    6187             :         sql_help_LISTEN,
    6188             :     0},
    6189             : 
    6190             :     {"LOAD",
    6191             :         N_("load a shared library file"),
    6192             :         "sql-load",
    6193             :         sql_help_LOAD,
    6194             :     0},
    6195             : 
    6196             :     {"LOCK",
    6197             :         N_("lock a table"),
    6198             :         "sql-lock",
    6199             :         sql_help_LOCK,
    6200             :     5},
    6201             : 
    6202             :     {"MERGE",
    6203             :         N_("conditionally insert, update, or delete rows of a table"),
    6204             :         "sql-merge",
    6205             :         sql_help_MERGE,
    6206             :     32},
    6207             : 
    6208             :     {"MOVE",
    6209             :         N_("position a cursor"),
    6210             :         "sql-move",
    6211             :         sql_help_MOVE,
    6212             :     17},
    6213             : 
    6214             :     {"NOTIFY",
    6215             :         N_("generate a notification"),
    6216             :         "sql-notify",
    6217             :         sql_help_NOTIFY,
    6218             :     0},
    6219             : 
    6220             :     {"PREPARE",
    6221             :         N_("prepare a statement for execution"),
    6222             :         "sql-prepare",
    6223             :         sql_help_PREPARE,
    6224             :     0},
    6225             : 
    6226             :     {"PREPARE TRANSACTION",
    6227             :         N_("prepare the current transaction for two-phase commit"),
    6228             :         "sql-prepare-transaction",
    6229             :         sql_help_PREPARE_TRANSACTION,
    6230             :     0},
    6231             : 
    6232             :     {"REASSIGN OWNED",
    6233             :         N_("change the ownership of database objects owned by a database role"),
    6234             :         "sql-reassign-owned",
    6235             :         sql_help_REASSIGN_OWNED,
    6236             :     1},
    6237             : 
    6238             :     {"REFRESH MATERIALIZED VIEW",
    6239             :         N_("replace the contents of a materialized view"),
    6240             :         "sql-refreshmaterializedview",
    6241             :         sql_help_REFRESH_MATERIALIZED_VIEW,
    6242             :     1},
    6243             : 
    6244             :     {"REINDEX",
    6245             :         N_("rebuild indexes"),
    6246             :         "sql-reindex",
    6247             :         sql_help_REINDEX,
    6248             :     7},
    6249             : 
    6250             :     {"RELEASE SAVEPOINT",
    6251             :         N_("release a previously defined savepoint"),
    6252             :         "sql-release-savepoint",
    6253             :         sql_help_RELEASE_SAVEPOINT,
    6254             :     0},
    6255             : 
    6256             :     {"RESET",
    6257             :         N_("restore the value of a run-time parameter to the default value"),
    6258             :         "sql-reset",
    6259             :         sql_help_RESET,
    6260             :     1},
    6261             : 
    6262             :     {"REVOKE",
    6263             :         N_("remove access privileges"),
    6264             :         "sql-revoke",
    6265             :         sql_help_REVOKE,
    6266             :     115},
    6267             : 
    6268             :     {"ROLLBACK",
    6269             :         N_("abort the current transaction"),
    6270             :         "sql-rollback",
    6271             :         sql_help_ROLLBACK,
    6272             :     0},
    6273             : 
    6274             :     {"ROLLBACK PREPARED",
    6275             :         N_("cancel a transaction that was earlier prepared for two-phase commit"),
    6276             :         "sql-rollback-prepared",
    6277             :         sql_help_ROLLBACK_PREPARED,
    6278             :     0},
    6279             : 
    6280             :     {"ROLLBACK TO SAVEPOINT",
    6281             :         N_("roll back to a savepoint"),
    6282             :         "sql-rollback-to",
    6283             :         sql_help_ROLLBACK_TO_SAVEPOINT,
    6284             :     0},
    6285             : 
    6286             :     {"SAVEPOINT",
    6287             :         N_("define a new savepoint within the current transaction"),
    6288             :         "sql-savepoint",
    6289             :         sql_help_SAVEPOINT,
    6290             :     0},
    6291             : 
    6292             :     {"SECURITY LABEL",
    6293             :         N_("define or change a security label applied to an object"),
    6294             :         "sql-security-label",
    6295             :         sql_help_SECURITY_LABEL,
    6296             :     29},
    6297             : 
    6298             :     {"SELECT",
    6299             :         N_("retrieve rows from a table or view"),
    6300             :         "sql-select",
    6301             :         sql_help_SELECT,
    6302             :     46},
    6303             : 
    6304             :     {"SELECT INTO",
    6305             :         N_("define a new table from the results of a query"),
    6306             :         "sql-selectinto",
    6307             :         sql_help_SELECT_INTO,
    6308             :     14},
    6309             : 
    6310             :     {"SET",
    6311             :         N_("change a run-time parameter"),
    6312             :         "sql-set",
    6313             :         sql_help_SET,
    6314             :     1},
    6315             : 
    6316             :     {"SET CONSTRAINTS",
    6317             :         N_("set constraint check timing for the current transaction"),
    6318             :         "sql-set-constraints",
    6319             :         sql_help_SET_CONSTRAINTS,
    6320             :     0},
    6321             : 
    6322             :     {"SET ROLE",
    6323             :         N_("set the current user identifier of the current session"),
    6324             :         "sql-set-role",
    6325             :         sql_help_SET_ROLE,
    6326             :     2},
    6327             : 
    6328             :     {"SET SESSION AUTHORIZATION",
    6329             :         N_("set the session user identifier and the current user identifier of the current session"),
    6330             :         "sql-set-session-authorization",
    6331             :         sql_help_SET_SESSION_AUTHORIZATION,
    6332             :     2},
    6333             : 
    6334             :     {"SET TRANSACTION",
    6335             :         N_("set the characteristics of the current transaction"),
    6336             :         "sql-set-transaction",
    6337             :         sql_help_SET_TRANSACTION,
    6338             :     8},
    6339             : 
    6340             :     {"SHOW",
    6341             :         N_("show the value of a run-time parameter"),
    6342             :         "sql-show",
    6343             :         sql_help_SHOW,
    6344             :     1},
    6345             : 
    6346             :     {"START TRANSACTION",
    6347             :         N_("start a transaction block"),
    6348             :         "sql-start-transaction",
    6349             :         sql_help_START_TRANSACTION,
    6350             :     6},
    6351             : 
    6352             :     {"TABLE",
    6353             :         N_("retrieve rows from a table or view"),
    6354             :         "sql-select",
    6355             :         sql_help_TABLE,
    6356             :     46},
    6357             : 
    6358             :     {"TRUNCATE",
    6359             :         N_("empty a table or set of tables"),
    6360             :         "sql-truncate",
    6361             :         sql_help_TRUNCATE,
    6362             :     1},
    6363             : 
    6364             :     {"UNLISTEN",
    6365             :         N_("stop listening for a notification"),
    6366             :         "sql-unlisten",
    6367             :         sql_help_UNLISTEN,
    6368             :     0},
    6369             : 
    6370             :     {"UPDATE",
    6371             :         N_("update rows of a table"),
    6372             :         "sql-update",
    6373             :         sql_help_UPDATE,
    6374             :     9},
    6375             : 
    6376             :     {"VACUUM",
    6377             :         N_("garbage-collect and optionally analyze a database"),
    6378             :         "sql-vacuum",
    6379             :         sql_help_VACUUM,
    6380             :     21},
    6381             : 
    6382             :     {"VALUES",
    6383             :         N_("compute a set of rows"),
    6384             :         "sql-values",
    6385             :         sql_help_VALUES,
    6386             :     4},
    6387             : 
    6388             :     {"WAIT FOR",
    6389             :         N_("wait for target LSN to be replayed, optionally with a timeout"),
    6390             :         "sql-wait-for",
    6391             :         sql_help_WAIT_FOR,
    6392             :     5},
    6393             : 
    6394             :     {"WITH",
    6395             :         N_("retrieve rows from a table or view"),
    6396             :         "sql-select",
    6397             :         sql_help_WITH,
    6398             :     46},
    6399             : 
    6400             : 
    6401             :     {NULL, NULL, NULL}          /* End of list marker */
    6402             : };

Generated by: LCOV version 1.16