neonctl 2.27.1 → 2.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +35 -3
  2. package/dist/analytics.js +52 -34
  3. package/dist/api.js +643 -13
  4. package/dist/auth.js +50 -44
  5. package/dist/cli.js +8 -1
  6. package/dist/commands/auth.js +64 -51
  7. package/dist/commands/bootstrap.js +115 -157
  8. package/dist/commands/branches.js +160 -150
  9. package/dist/commands/bucket.js +183 -146
  10. package/dist/commands/checkout.js +51 -51
  11. package/dist/commands/config.js +228 -82
  12. package/dist/commands/connection_string.js +62 -62
  13. package/dist/commands/data_api.js +100 -101
  14. package/dist/commands/databases.js +29 -26
  15. package/dist/commands/deploy.js +12 -12
  16. package/dist/commands/dev.js +114 -114
  17. package/dist/commands/env.js +43 -43
  18. package/dist/commands/functions.js +101 -104
  19. package/dist/commands/index.js +27 -25
  20. package/dist/commands/init.js +23 -22
  21. package/dist/commands/ip_allow.js +29 -29
  22. package/dist/commands/link.js +232 -182
  23. package/dist/commands/neon_auth.js +385 -370
  24. package/dist/commands/operations.js +11 -11
  25. package/dist/commands/orgs.js +8 -8
  26. package/dist/commands/projects.js +103 -101
  27. package/dist/commands/psql.js +31 -31
  28. package/dist/commands/roles.js +27 -24
  29. package/dist/commands/schema_diff.js +25 -26
  30. package/dist/commands/set_context.js +17 -17
  31. package/dist/commands/status.js +40 -0
  32. package/dist/commands/user.js +5 -5
  33. package/dist/commands/vpc_endpoints.js +50 -50
  34. package/dist/config.js +7 -7
  35. package/dist/config_format.js +5 -5
  36. package/dist/context.js +37 -14
  37. package/dist/current_branch_fast_path.js +55 -0
  38. package/dist/dev/env.js +33 -33
  39. package/dist/dev/functions.js +4 -4
  40. package/dist/dev/inputs.js +6 -6
  41. package/dist/dev/runtime.js +25 -25
  42. package/dist/env.js +14 -14
  43. package/dist/env_file.js +13 -13
  44. package/dist/errors.js +68 -5
  45. package/dist/functions_api.js +10 -10
  46. package/dist/help.js +15 -15
  47. package/dist/index.js +110 -107
  48. package/dist/log.js +2 -2
  49. package/dist/parameters.gen.js +14 -14
  50. package/dist/pkg.js +5 -5
  51. package/dist/psql/cli.js +4 -2
  52. package/dist/psql/command/cmd_cond.js +61 -61
  53. package/dist/psql/command/cmd_connect.js +159 -154
  54. package/dist/psql/command/cmd_copy.js +107 -97
  55. package/dist/psql/command/cmd_describe.js +368 -363
  56. package/dist/psql/command/cmd_format.js +276 -263
  57. package/dist/psql/command/cmd_io.js +269 -263
  58. package/dist/psql/command/cmd_lo.js +74 -66
  59. package/dist/psql/command/cmd_meta.js +148 -148
  60. package/dist/psql/command/cmd_misc.js +17 -17
  61. package/dist/psql/command/cmd_pipeline.js +142 -135
  62. package/dist/psql/command/cmd_restrict.js +25 -25
  63. package/dist/psql/command/cmd_show.js +183 -168
  64. package/dist/psql/command/dispatch.js +26 -26
  65. package/dist/psql/command/shared.js +14 -14
  66. package/dist/psql/complete/filenames.js +16 -16
  67. package/dist/psql/complete/index.js +4 -4
  68. package/dist/psql/complete/matcher.js +33 -32
  69. package/dist/psql/complete/psqlVars.js +173 -173
  70. package/dist/psql/complete/queries.js +5 -3
  71. package/dist/psql/complete/rules.js +900 -863
  72. package/dist/psql/core/common.js +136 -133
  73. package/dist/psql/core/help.js +343 -343
  74. package/dist/psql/core/mainloop.js +160 -153
  75. package/dist/psql/core/prompt.js +126 -123
  76. package/dist/psql/core/settings.js +111 -111
  77. package/dist/psql/core/sqlHelp.js +150 -150
  78. package/dist/psql/core/startup.js +211 -205
  79. package/dist/psql/core/syncVars.js +14 -14
  80. package/dist/psql/core/variables.js +24 -24
  81. package/dist/psql/describe/formatters.js +302 -289
  82. package/dist/psql/describe/processNamePattern.js +28 -28
  83. package/dist/psql/describe/queries.js +656 -651
  84. package/dist/psql/index.js +436 -411
  85. package/dist/psql/io/history.js +36 -36
  86. package/dist/psql/io/input.js +15 -15
  87. package/dist/psql/io/lineEditor/buffer.js +27 -25
  88. package/dist/psql/io/lineEditor/complete.js +15 -15
  89. package/dist/psql/io/lineEditor/filename.js +22 -22
  90. package/dist/psql/io/lineEditor/index.js +65 -62
  91. package/dist/psql/io/lineEditor/keymap.js +325 -318
  92. package/dist/psql/io/lineEditor/vt100.js +60 -60
  93. package/dist/psql/io/pgpass.js +18 -18
  94. package/dist/psql/io/pgservice.js +14 -14
  95. package/dist/psql/io/psqlrc.js +46 -46
  96. package/dist/psql/print/aligned.js +175 -166
  97. package/dist/psql/print/asciidoc.js +51 -51
  98. package/dist/psql/print/crosstab.js +34 -31
  99. package/dist/psql/print/csv.js +25 -22
  100. package/dist/psql/print/html.js +54 -54
  101. package/dist/psql/print/json.js +12 -12
  102. package/dist/psql/print/latex.js +118 -118
  103. package/dist/psql/print/pager.js +28 -26
  104. package/dist/psql/print/troff.js +48 -48
  105. package/dist/psql/print/unaligned.js +15 -14
  106. package/dist/psql/print/units.js +17 -17
  107. package/dist/psql/scanner/slash.js +48 -46
  108. package/dist/psql/scanner/sql.js +88 -84
  109. package/dist/psql/scanner/stringutils.js +21 -17
  110. package/dist/psql/types/index.js +7 -7
  111. package/dist/psql/types/scanner.js +8 -8
  112. package/dist/psql/wire/connection.js +341 -327
  113. package/dist/psql/wire/copy.js +7 -7
  114. package/dist/psql/wire/pipeline.js +26 -24
  115. package/dist/psql/wire/protocol.js +102 -102
  116. package/dist/psql/wire/sasl.js +62 -62
  117. package/dist/psql/wire/tls.js +79 -73
  118. package/dist/storage_api.js +22 -23
  119. package/dist/test_utils/fixtures.js +74 -41
  120. package/dist/test_utils/oauth_server.js +5 -5
  121. package/dist/utils/api_enums.js +33 -0
  122. package/dist/utils/branch_notice.js +5 -5
  123. package/dist/utils/branch_picker.js +26 -26
  124. package/dist/utils/compute_units.js +4 -4
  125. package/dist/utils/enrichers.js +28 -16
  126. package/dist/utils/esbuild.js +28 -28
  127. package/dist/utils/formats.js +1 -1
  128. package/dist/utils/middlewares.js +3 -3
  129. package/dist/utils/package_manager.js +68 -0
  130. package/dist/utils/point_in_time.js +12 -12
  131. package/dist/utils/psql.js +30 -30
  132. package/dist/utils/string.js +2 -2
  133. package/dist/utils/ui.js +9 -9
  134. package/dist/utils/zip.js +1 -1
  135. package/dist/writer.js +17 -17
  136. package/package.json +10 -12
@@ -18,14 +18,14 @@
18
18
  * skeleton is what matters here; the docs page is the source of truth for
19
19
  * details like reloption catalogs and per-storage-engine quirks.
20
20
  */
21
- const PG_DOCS = 'https://www.postgresql.org/docs/current/sql-';
21
+ const PG_DOCS = "https://www.postgresql.org/docs/current/sql-";
22
22
  export const SQL_HELP = [
23
23
  // ---------------------------------------------------------------------------
24
24
  // DML
25
25
  // ---------------------------------------------------------------------------
26
26
  {
27
- cmd: 'SELECT',
28
- description: 'retrieve rows from a table or view',
27
+ cmd: "SELECT",
28
+ description: "retrieve rows from a table or view",
29
29
  syntax: `[ WITH [ RECURSIVE ] with_query [, ...] ]
30
30
  SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
31
31
  [ * | expression [ [ AS ] output_name ] [, ...] ]
@@ -42,8 +42,8 @@ SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ]
42
42
  docUrl: `${PG_DOCS}select.html`,
43
43
  },
44
44
  {
45
- cmd: 'INSERT',
46
- description: 'create new rows in a table',
45
+ cmd: "INSERT",
46
+ description: "create new rows in a table",
47
47
  syntax: `[ WITH [ RECURSIVE ] with_query [, ...] ]
48
48
  INSERT INTO table_name [ AS alias ] [ ( column_name [, ...] ) ]
49
49
  [ OVERRIDING { SYSTEM | USER } VALUE ]
@@ -59,8 +59,8 @@ where conflict_action is one of:
59
59
  docUrl: `${PG_DOCS}insert.html`,
60
60
  },
61
61
  {
62
- cmd: 'UPDATE',
63
- description: 'update rows of a table',
62
+ cmd: "UPDATE",
63
+ description: "update rows of a table",
64
64
  syntax: `[ WITH [ RECURSIVE ] with_query [, ...] ]
65
65
  UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
66
66
  SET { column_name = { expression | DEFAULT } |
@@ -73,8 +73,8 @@ UPDATE [ ONLY ] table_name [ * ] [ [ AS ] alias ]
73
73
  docUrl: `${PG_DOCS}update.html`,
74
74
  },
75
75
  {
76
- cmd: 'DELETE',
77
- description: 'delete rows of a table',
76
+ cmd: "DELETE",
77
+ description: "delete rows of a table",
78
78
  syntax: `[ WITH [ RECURSIVE ] with_query [, ...] ]
79
79
  DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
80
80
  [ USING from_item [, ...] ]
@@ -83,8 +83,8 @@ DELETE FROM [ ONLY ] table_name [ * ] [ [ AS ] alias ]
83
83
  docUrl: `${PG_DOCS}delete.html`,
84
84
  },
85
85
  {
86
- cmd: 'MERGE',
87
- description: 'conditionally insert, update, or delete rows of a table',
86
+ cmd: "MERGE",
87
+ description: "conditionally insert, update, or delete rows of a table",
88
88
  syntax: `[ WITH with_query [, ...] ]
89
89
  MERGE INTO [ ONLY ] target_table_name [ * ] [ [ AS ] target_alias ]
90
90
  USING data_source ON join_condition
@@ -98,8 +98,8 @@ where when_clause is one of:
98
98
  docUrl: `${PG_DOCS}merge.html`,
99
99
  },
100
100
  {
101
- cmd: 'COPY',
102
- description: 'copy data between a file and a table',
101
+ cmd: "COPY",
102
+ description: "copy data between a file and a table",
103
103
  syntax: `COPY table_name [ ( column_name [, ...] ) ]
104
104
  FROM { 'filename' | PROGRAM 'command' | STDIN }
105
105
  [ [ WITH ] ( option [, ...] ) ]
@@ -111,8 +111,8 @@ COPY { table_name [ ( column_name [, ...] ) ] | ( query ) }
111
111
  docUrl: `${PG_DOCS}copy.html`,
112
112
  },
113
113
  {
114
- cmd: 'EXPLAIN',
115
- description: 'show the execution plan of a statement',
114
+ cmd: "EXPLAIN",
115
+ description: "show the execution plan of a statement",
116
116
  syntax: `EXPLAIN [ ( option [, ...] ) ] statement
117
117
  EXPLAIN [ ANALYZE ] [ VERBOSE ] statement
118
118
 
@@ -132,8 +132,8 @@ where option can be one of:
132
132
  docUrl: `${PG_DOCS}explain.html`,
133
133
  },
134
134
  {
135
- cmd: 'ANALYZE',
136
- description: 'collect statistics about a database',
135
+ cmd: "ANALYZE",
136
+ description: "collect statistics about a database",
137
137
  syntax: `ANALYZE [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
138
138
  ANALYZE [ VERBOSE ] [ table_and_columns [, ...] ]
139
139
 
@@ -147,8 +147,8 @@ and table_and_columns is:
147
147
  docUrl: `${PG_DOCS}analyze.html`,
148
148
  },
149
149
  {
150
- cmd: 'VACUUM',
151
- description: 'garbage-collect and optionally analyze a database',
150
+ cmd: "VACUUM",
151
+ description: "garbage-collect and optionally analyze a database",
152
152
  syntax: `VACUUM [ ( option [, ...] ) ] [ table_and_columns [, ...] ]
153
153
  VACUUM [ FULL ] [ FREEZE ] [ VERBOSE ] [ ANALYZE ] [ table_and_columns [, ...] ]
154
154
 
@@ -169,8 +169,8 @@ where option can be one of:
169
169
  docUrl: `${PG_DOCS}vacuum.html`,
170
170
  },
171
171
  {
172
- cmd: 'REINDEX',
173
- description: 'rebuild indexes',
172
+ cmd: "REINDEX",
173
+ description: "rebuild indexes",
174
174
  syntax: `REINDEX [ ( option [, ...] ) ] { INDEX | TABLE | SCHEMA } [ CONCURRENTLY ] name
175
175
  REINDEX [ ( option [, ...] ) ] { DATABASE | SYSTEM } [ CONCURRENTLY ] [ name ]
176
176
 
@@ -181,8 +181,8 @@ where option can be one of:
181
181
  docUrl: `${PG_DOCS}reindex.html`,
182
182
  },
183
183
  {
184
- cmd: 'TRUNCATE',
185
- description: 'empty a table or set of tables',
184
+ cmd: "TRUNCATE",
185
+ description: "empty a table or set of tables",
186
186
  syntax: `TRUNCATE [ TABLE ] [ ONLY ] name [ * ] [, ... ]
187
187
  [ RESTART IDENTITY | CONTINUE IDENTITY ] [ CASCADE | RESTRICT ]`,
188
188
  docUrl: `${PG_DOCS}truncate.html`,
@@ -191,8 +191,8 @@ where option can be one of:
191
191
  // CREATE
192
192
  // ---------------------------------------------------------------------------
193
193
  {
194
- cmd: 'CREATE TABLE',
195
- description: 'define a new table',
194
+ cmd: "CREATE TABLE",
195
+ description: "define a new table",
196
196
  syntax: `CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [
197
197
  { column_name data_type [ STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ] [ COMPRESSION compression_method ] [ COLLATE collation ] [ column_constraint [ ... ] ]
198
198
  | table_constraint
@@ -214,8 +214,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
214
214
  docUrl: `${PG_DOCS}createtable.html`,
215
215
  },
216
216
  {
217
- cmd: 'CREATE INDEX',
218
- description: 'define a new index',
217
+ cmd: "CREATE INDEX",
218
+ description: "define a new index",
219
219
  syntax: `CREATE [ UNIQUE ] INDEX [ CONCURRENTLY ] [ [ IF NOT EXISTS ] name ] ON [ ONLY ] table_name [ USING method ]
220
220
  ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass [ ( opclass_parameter = value [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ] [, ...] )
221
221
  [ INCLUDE ( column_name [, ...] ) ]
@@ -226,8 +226,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
226
226
  docUrl: `${PG_DOCS}createindex.html`,
227
227
  },
228
228
  {
229
- cmd: 'CREATE VIEW',
230
- description: 'define a new view',
229
+ cmd: "CREATE VIEW",
230
+ description: "define a new view",
231
231
  syntax: `CREATE [ OR REPLACE ] [ TEMP | TEMPORARY ] [ RECURSIVE ] VIEW name [ ( column_name [, ...] ) ]
232
232
  [ WITH ( view_option_name [= view_option_value] [, ... ] ) ]
233
233
  AS query
@@ -235,8 +235,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
235
235
  docUrl: `${PG_DOCS}createview.html`,
236
236
  },
237
237
  {
238
- cmd: 'CREATE MATERIALIZED VIEW',
239
- description: 'define a new materialized view',
238
+ cmd: "CREATE MATERIALIZED VIEW",
239
+ description: "define a new materialized view",
240
240
  syntax: `CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
241
241
  [ (column_name [, ...] ) ]
242
242
  [ USING method ]
@@ -247,8 +247,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
247
247
  docUrl: `${PG_DOCS}creatematerializedview.html`,
248
248
  },
249
249
  {
250
- cmd: 'CREATE FUNCTION',
251
- description: 'define a new function',
250
+ cmd: "CREATE FUNCTION",
251
+ description: "define a new function",
252
252
  syntax: `CREATE [ OR REPLACE ] FUNCTION
253
253
  name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
254
254
  [ RETURNS rettype
@@ -272,8 +272,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
272
272
  docUrl: `${PG_DOCS}createfunction.html`,
273
273
  },
274
274
  {
275
- cmd: 'CREATE PROCEDURE',
276
- description: 'define a new procedure',
275
+ cmd: "CREATE PROCEDURE",
276
+ description: "define a new procedure",
277
277
  syntax: `CREATE [ OR REPLACE ] PROCEDURE
278
278
  name ( [ [ argmode ] [ argname ] argtype [ { DEFAULT | = } default_expr ] [, ...] ] )
279
279
  { LANGUAGE lang_name
@@ -287,8 +287,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
287
287
  docUrl: `${PG_DOCS}createprocedure.html`,
288
288
  },
289
289
  {
290
- cmd: 'CREATE EXTENSION',
291
- description: 'install an extension',
290
+ cmd: "CREATE EXTENSION",
291
+ description: "install an extension",
292
292
  syntax: `CREATE EXTENSION [ IF NOT EXISTS ] extension_name
293
293
  [ WITH ] [ SCHEMA schema_name ]
294
294
  [ VERSION version ]
@@ -296,8 +296,8 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
296
296
  docUrl: `${PG_DOCS}createextension.html`,
297
297
  },
298
298
  {
299
- cmd: 'CREATE SCHEMA',
300
- description: 'define a new schema',
299
+ cmd: "CREATE SCHEMA",
300
+ description: "define a new schema",
301
301
  syntax: `CREATE SCHEMA [ IF NOT EXISTS ] schema_name [ AUTHORIZATION role_specification ] [ schema_element [ ... ] ]
302
302
  CREATE SCHEMA [ IF NOT EXISTS ] AUTHORIZATION role_specification [ schema_element [ ... ] ]
303
303
 
@@ -309,8 +309,8 @@ where role_specification can be:
309
309
  docUrl: `${PG_DOCS}createschema.html`,
310
310
  },
311
311
  {
312
- cmd: 'CREATE DATABASE',
313
- description: 'create a new database',
312
+ cmd: "CREATE DATABASE",
313
+ description: "create a new database",
314
314
  syntax: `CREATE DATABASE name
315
315
  [ WITH ] [ OWNER [=] user_name ]
316
316
  [ TEMPLATE [=] template ]
@@ -332,8 +332,8 @@ where role_specification can be:
332
332
  docUrl: `${PG_DOCS}createdatabase.html`,
333
333
  },
334
334
  {
335
- cmd: 'CREATE ROLE',
336
- description: 'define a new database role',
335
+ cmd: "CREATE ROLE",
336
+ description: "define a new database role",
337
337
  syntax: `CREATE ROLE name [ [ WITH ] option [ ... ] ]
338
338
 
339
339
  where option can be:
@@ -355,8 +355,8 @@ where option can be:
355
355
  docUrl: `${PG_DOCS}createrole.html`,
356
356
  },
357
357
  {
358
- cmd: 'CREATE USER',
359
- description: 'define a new database role (alias for CREATE ROLE ... LOGIN)',
358
+ cmd: "CREATE USER",
359
+ description: "define a new database role (alias for CREATE ROLE ... LOGIN)",
360
360
  syntax: `CREATE USER name [ [ WITH ] option [ ... ] ]
361
361
 
362
362
  where option can be:
@@ -377,8 +377,8 @@ where option can be:
377
377
  docUrl: `${PG_DOCS}createuser.html`,
378
378
  },
379
379
  {
380
- cmd: 'CREATE TYPE',
381
- description: 'define a new data type',
380
+ cmd: "CREATE TYPE",
381
+ description: "define a new data type",
382
382
  syntax: `CREATE TYPE name AS
383
383
  ( [ attribute_name data_type [ COLLATE collation ] [, ... ] ] )
384
384
 
@@ -406,8 +406,8 @@ CREATE TYPE name`,
406
406
  docUrl: `${PG_DOCS}createtype.html`,
407
407
  },
408
408
  {
409
- cmd: 'CREATE TRIGGER',
410
- description: 'define a new trigger',
409
+ cmd: "CREATE TRIGGER",
410
+ description: "define a new trigger",
411
411
  syntax: `CREATE [ OR REPLACE ] [ CONSTRAINT ] TRIGGER name { BEFORE | AFTER | INSTEAD OF } { event [ OR ... ] }
412
412
  ON table_name
413
413
  [ FROM referenced_table_name ]
@@ -425,8 +425,8 @@ where event can be one of:
425
425
  docUrl: `${PG_DOCS}createtrigger.html`,
426
426
  },
427
427
  {
428
- cmd: 'CREATE POLICY',
429
- description: 'define a new row-level security policy for a table',
428
+ cmd: "CREATE POLICY",
429
+ description: "define a new row-level security policy for a table",
430
430
  syntax: `CREATE POLICY name ON table_name
431
431
  [ AS { PERMISSIVE | RESTRICTIVE } ]
432
432
  [ FOR { ALL | SELECT | INSERT | UPDATE | DELETE } ]
@@ -436,8 +436,8 @@ where event can be one of:
436
436
  docUrl: `${PG_DOCS}createpolicy.html`,
437
437
  },
438
438
  {
439
- cmd: 'CREATE PUBLICATION',
440
- description: 'define a new publication',
439
+ cmd: "CREATE PUBLICATION",
440
+ description: "define a new publication",
441
441
  syntax: `CREATE PUBLICATION name
442
442
  [ FOR ALL TABLES
443
443
  | FOR publication_object [, ... ] ]
@@ -450,8 +450,8 @@ where publication_object is one of:
450
450
  docUrl: `${PG_DOCS}createpublication.html`,
451
451
  },
452
452
  {
453
- cmd: 'CREATE SUBSCRIPTION',
454
- description: 'define a new subscription',
453
+ cmd: "CREATE SUBSCRIPTION",
454
+ description: "define a new subscription",
455
455
  syntax: `CREATE SUBSCRIPTION subscription_name
456
456
  CONNECTION 'conninfo'
457
457
  PUBLICATION publication_name [, ...]
@@ -462,8 +462,8 @@ where publication_object is one of:
462
462
  // ALTER
463
463
  // ---------------------------------------------------------------------------
464
464
  {
465
- cmd: 'ALTER TABLE',
466
- description: 'change the definition of a table',
465
+ cmd: "ALTER TABLE",
466
+ description: "change the definition of a table",
467
467
  syntax: `ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
468
468
  action [, ... ]
469
469
  ALTER TABLE [ IF EXISTS ] [ ONLY ] name [ * ]
@@ -496,8 +496,8 @@ where action is one of:
496
496
  docUrl: `${PG_DOCS}altertable.html`,
497
497
  },
498
498
  {
499
- cmd: 'ALTER INDEX',
500
- description: 'change the definition of an index',
499
+ cmd: "ALTER INDEX",
500
+ description: "change the definition of an index",
501
501
  syntax: `ALTER INDEX [ IF EXISTS ] name RENAME TO new_name
502
502
  ALTER INDEX [ IF EXISTS ] name SET TABLESPACE tablespace_name
503
503
  ALTER INDEX name ATTACH PARTITION index_name
@@ -511,8 +511,8 @@ ALTER INDEX ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
511
511
  docUrl: `${PG_DOCS}alterindex.html`,
512
512
  },
513
513
  {
514
- cmd: 'ALTER VIEW',
515
- description: 'change the definition of a view',
514
+ cmd: "ALTER VIEW",
515
+ description: "change the definition of a view",
516
516
  syntax: `ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name SET DEFAULT expression
517
517
  ALTER VIEW [ IF EXISTS ] name ALTER [ COLUMN ] column_name DROP DEFAULT
518
518
  ALTER VIEW [ IF EXISTS ] name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
@@ -524,8 +524,8 @@ ALTER VIEW [ IF EXISTS ] name RESET ( view_option_name [, ... ] )`,
524
524
  docUrl: `${PG_DOCS}alterview.html`,
525
525
  },
526
526
  {
527
- cmd: 'ALTER MATERIALIZED VIEW',
528
- description: 'change the definition of a materialized view',
527
+ cmd: "ALTER MATERIALIZED VIEW",
528
+ description: "change the definition of a materialized view",
529
529
  syntax: `ALTER MATERIALIZED VIEW [ IF EXISTS ] name action [, ... ]
530
530
  ALTER MATERIALIZED VIEW name
531
531
  [ NO ] DEPENDS ON EXTENSION extension_name
@@ -538,8 +538,8 @@ ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
538
538
  docUrl: `${PG_DOCS}altermaterializedview.html`,
539
539
  },
540
540
  {
541
- cmd: 'ALTER FUNCTION',
542
- description: 'change the definition of a function',
541
+ cmd: "ALTER FUNCTION",
542
+ description: "change the definition of a function",
543
543
  syntax: `ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
544
544
  action [ ... ] [ RESTRICT ]
545
545
  ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
@@ -553,8 +553,8 @@ ALTER FUNCTION name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ]
553
553
  docUrl: `${PG_DOCS}alterfunction.html`,
554
554
  },
555
555
  {
556
- cmd: 'ALTER EXTENSION',
557
- description: 'change the definition of an extension',
556
+ cmd: "ALTER EXTENSION",
557
+ description: "change the definition of an extension",
558
558
  syntax: `ALTER EXTENSION name UPDATE [ TO new_version ]
559
559
  ALTER EXTENSION name SET SCHEMA new_schema
560
560
  ALTER EXTENSION name ADD member_object
@@ -576,15 +576,15 @@ where member_object is one of:
576
576
  docUrl: `${PG_DOCS}alterextension.html`,
577
577
  },
578
578
  {
579
- cmd: 'ALTER SCHEMA',
580
- description: 'change the definition of a schema',
579
+ cmd: "ALTER SCHEMA",
580
+ description: "change the definition of a schema",
581
581
  syntax: `ALTER SCHEMA name RENAME TO new_name
582
582
  ALTER SCHEMA name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }`,
583
583
  docUrl: `${PG_DOCS}alterschema.html`,
584
584
  },
585
585
  {
586
- cmd: 'ALTER DATABASE',
587
- description: 'change a database',
586
+ cmd: "ALTER DATABASE",
587
+ description: "change a database",
588
588
  syntax: `ALTER DATABASE name [ [ WITH ] option [ ... ] ]
589
589
 
590
590
  where option can be:
@@ -604,8 +604,8 @@ ALTER DATABASE name RESET ALL`,
604
604
  docUrl: `${PG_DOCS}alterdatabase.html`,
605
605
  },
606
606
  {
607
- cmd: 'ALTER ROLE',
608
- description: 'change a database role',
607
+ cmd: "ALTER ROLE",
608
+ description: "change a database role",
609
609
  syntax: `ALTER ROLE role_specification [ WITH ] option [ ... ]
610
610
 
611
611
  where option can be:
@@ -629,8 +629,8 @@ ALTER ROLE { role_specification | ALL } [ IN DATABASE database_name ] RESET ALL`
629
629
  docUrl: `${PG_DOCS}alterrole.html`,
630
630
  },
631
631
  {
632
- cmd: 'ALTER USER',
633
- description: 'change a database role (alias for ALTER ROLE)',
632
+ cmd: "ALTER USER",
633
+ description: "change a database role (alias for ALTER ROLE)",
634
634
  syntax: `ALTER USER role_specification [ WITH ] option [ ... ]
635
635
 
636
636
  where option can be:
@@ -650,8 +650,8 @@ ALTER USER name RENAME TO new_name`,
650
650
  docUrl: `${PG_DOCS}alteruser.html`,
651
651
  },
652
652
  {
653
- cmd: 'ALTER TYPE',
654
- description: 'change the definition of a type',
653
+ cmd: "ALTER TYPE",
654
+ description: "change the definition of a type",
655
655
  syntax: `ALTER TYPE name OWNER TO { new_owner | CURRENT_ROLE | CURRENT_USER | SESSION_USER }
656
656
  ALTER TYPE name RENAME ATTRIBUTE attribute_name TO new_attribute_name [ CASCADE | RESTRICT ]
657
657
  ALTER TYPE name RENAME TO new_name
@@ -667,15 +667,15 @@ where action is one of:
667
667
  docUrl: `${PG_DOCS}altertype.html`,
668
668
  },
669
669
  {
670
- cmd: 'ALTER TRIGGER',
671
- description: 'change the definition of a trigger',
670
+ cmd: "ALTER TRIGGER",
671
+ description: "change the definition of a trigger",
672
672
  syntax: `ALTER TRIGGER name ON table_name RENAME TO new_name
673
673
  ALTER TRIGGER name ON table_name [ NO ] DEPENDS ON EXTENSION extension_name`,
674
674
  docUrl: `${PG_DOCS}altertrigger.html`,
675
675
  },
676
676
  {
677
- cmd: 'ALTER POLICY',
678
- description: 'change the definition of a row-level security policy',
677
+ cmd: "ALTER POLICY",
678
+ description: "change the definition of a row-level security policy",
679
679
  syntax: `ALTER POLICY name ON table_name RENAME TO new_name
680
680
 
681
681
  ALTER POLICY name ON table_name
@@ -688,51 +688,51 @@ ALTER POLICY name ON table_name
688
688
  // DROP
689
689
  // ---------------------------------------------------------------------------
690
690
  {
691
- cmd: 'DROP TABLE',
692
- description: 'remove a table',
691
+ cmd: "DROP TABLE",
692
+ description: "remove a table",
693
693
  syntax: `DROP TABLE [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
694
694
  docUrl: `${PG_DOCS}droptable.html`,
695
695
  },
696
696
  {
697
- cmd: 'DROP INDEX',
698
- description: 'remove an index',
697
+ cmd: "DROP INDEX",
698
+ description: "remove an index",
699
699
  syntax: `DROP INDEX [ CONCURRENTLY ] [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
700
700
  docUrl: `${PG_DOCS}dropindex.html`,
701
701
  },
702
702
  {
703
- cmd: 'DROP VIEW',
704
- description: 'remove a view',
703
+ cmd: "DROP VIEW",
704
+ description: "remove a view",
705
705
  syntax: `DROP VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
706
706
  docUrl: `${PG_DOCS}dropview.html`,
707
707
  },
708
708
  {
709
- cmd: 'DROP MATERIALIZED VIEW',
710
- description: 'remove a materialized view',
709
+ cmd: "DROP MATERIALIZED VIEW",
710
+ description: "remove a materialized view",
711
711
  syntax: `DROP MATERIALIZED VIEW [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
712
712
  docUrl: `${PG_DOCS}dropmaterializedview.html`,
713
713
  },
714
714
  {
715
- cmd: 'DROP FUNCTION',
716
- description: 'remove a function',
715
+ cmd: "DROP FUNCTION",
716
+ description: "remove a function",
717
717
  syntax: `DROP FUNCTION [ IF EXISTS ] name [ ( [ [ argmode ] [ argname ] argtype [, ...] ] ) ] [, ...]
718
718
  [ CASCADE | RESTRICT ]`,
719
719
  docUrl: `${PG_DOCS}dropfunction.html`,
720
720
  },
721
721
  {
722
- cmd: 'DROP EXTENSION',
723
- description: 'remove an extension',
722
+ cmd: "DROP EXTENSION",
723
+ description: "remove an extension",
724
724
  syntax: `DROP EXTENSION [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
725
725
  docUrl: `${PG_DOCS}dropextension.html`,
726
726
  },
727
727
  {
728
- cmd: 'DROP SCHEMA',
729
- description: 'remove a schema',
728
+ cmd: "DROP SCHEMA",
729
+ description: "remove a schema",
730
730
  syntax: `DROP SCHEMA [ IF EXISTS ] name [, ...] [ CASCADE | RESTRICT ]`,
731
731
  docUrl: `${PG_DOCS}dropschema.html`,
732
732
  },
733
733
  {
734
- cmd: 'DROP DATABASE',
735
- description: 'remove a database',
734
+ cmd: "DROP DATABASE",
735
+ description: "remove a database",
736
736
  syntax: `DROP DATABASE [ IF EXISTS ] name [ [ WITH ] ( option [, ...] ) ]
737
737
 
738
738
  where option can be:
@@ -741,8 +741,8 @@ where option can be:
741
741
  docUrl: `${PG_DOCS}dropdatabase.html`,
742
742
  },
743
743
  {
744
- cmd: 'DROP ROLE',
745
- description: 'remove a database role',
744
+ cmd: "DROP ROLE",
745
+ description: "remove a database role",
746
746
  syntax: `DROP ROLE [ IF EXISTS ] name [, ...]`,
747
747
  docUrl: `${PG_DOCS}droprole.html`,
748
748
  },
@@ -750,8 +750,8 @@ where option can be:
750
750
  // Privileges
751
751
  // ---------------------------------------------------------------------------
752
752
  {
753
- cmd: 'GRANT',
754
- description: 'define access privileges',
753
+ cmd: "GRANT",
754
+ description: "define access privileges",
755
755
  syntax: `GRANT { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
756
756
  [, ...] | ALL [ PRIVILEGES ] }
757
757
  ON { [ TABLE ] table_name [, ...]
@@ -779,8 +779,8 @@ GRANT role_name [, ...] TO role_specification [, ...]
779
779
  docUrl: `${PG_DOCS}grant.html`,
780
780
  },
781
781
  {
782
- cmd: 'REVOKE',
783
- description: 'remove access privileges',
782
+ cmd: "REVOKE",
783
+ description: "remove access privileges",
784
784
  syntax: `REVOKE [ GRANT OPTION FOR ]
785
785
  { { SELECT | INSERT | UPDATE | DELETE | TRUNCATE | REFERENCES | TRIGGER | MAINTAIN }
786
786
  [, ...] | ALL [ PRIVILEGES ] }
@@ -800,8 +800,8 @@ REVOKE [ ADMIN OPTION FOR ]
800
800
  // Transaction control
801
801
  // ---------------------------------------------------------------------------
802
802
  {
803
- cmd: 'BEGIN',
804
- description: 'start a transaction block',
803
+ cmd: "BEGIN",
804
+ description: "start a transaction block",
805
805
  syntax: `BEGIN [ WORK | TRANSACTION ] [ transaction_mode [, ...] ]
806
806
 
807
807
  where transaction_mode is one of:
@@ -812,32 +812,32 @@ where transaction_mode is one of:
812
812
  docUrl: `${PG_DOCS}begin.html`,
813
813
  },
814
814
  {
815
- cmd: 'COMMIT',
816
- description: 'commit the current transaction',
815
+ cmd: "COMMIT",
816
+ description: "commit the current transaction",
817
817
  syntax: `COMMIT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]`,
818
818
  docUrl: `${PG_DOCS}commit.html`,
819
819
  },
820
820
  {
821
- cmd: 'ROLLBACK',
822
- description: 'abort the current transaction',
821
+ cmd: "ROLLBACK",
822
+ description: "abort the current transaction",
823
823
  syntax: `ROLLBACK [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]`,
824
824
  docUrl: `${PG_DOCS}rollback.html`,
825
825
  },
826
826
  {
827
- cmd: 'SAVEPOINT',
828
- description: 'define a new savepoint within the current transaction',
827
+ cmd: "SAVEPOINT",
828
+ description: "define a new savepoint within the current transaction",
829
829
  syntax: `SAVEPOINT savepoint_name`,
830
830
  docUrl: `${PG_DOCS}savepoint.html`,
831
831
  },
832
832
  {
833
- cmd: 'RELEASE SAVEPOINT',
834
- description: 'destroy a previously defined savepoint',
833
+ cmd: "RELEASE SAVEPOINT",
834
+ description: "destroy a previously defined savepoint",
835
835
  syntax: `RELEASE [ SAVEPOINT ] savepoint_name`,
836
836
  docUrl: `${PG_DOCS}release-savepoint.html`,
837
837
  },
838
838
  {
839
- cmd: 'START TRANSACTION',
840
- description: 'start a transaction block',
839
+ cmd: "START TRANSACTION",
840
+ description: "start a transaction block",
841
841
  syntax: `START TRANSACTION [ transaction_mode [, ...] ]
842
842
 
843
843
  where transaction_mode is one of:
@@ -851,30 +851,30 @@ where transaction_mode is one of:
851
851
  // Session / runtime configuration
852
852
  // ---------------------------------------------------------------------------
853
853
  {
854
- cmd: 'SET',
855
- description: 'change a run-time parameter',
854
+ cmd: "SET",
855
+ description: "change a run-time parameter",
856
856
  syntax: `SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }
857
857
  SET [ SESSION | LOCAL ] TIME ZONE { value | 'value' | LOCAL | DEFAULT }`,
858
858
  docUrl: `${PG_DOCS}set.html`,
859
859
  },
860
860
  {
861
- cmd: 'SET ROLE',
862
- description: 'set the current user identifier of the current session',
861
+ cmd: "SET ROLE",
862
+ description: "set the current user identifier of the current session",
863
863
  syntax: `SET [ SESSION | LOCAL ] ROLE role_name
864
864
  SET [ SESSION | LOCAL ] ROLE NONE
865
865
  RESET ROLE`,
866
866
  docUrl: `${PG_DOCS}set-role.html`,
867
867
  },
868
868
  {
869
- cmd: 'RESET',
870
- description: 'restore the value of a run-time parameter to the default value',
869
+ cmd: "RESET",
870
+ description: "restore the value of a run-time parameter to the default value",
871
871
  syntax: `RESET configuration_parameter
872
872
  RESET ALL`,
873
873
  docUrl: `${PG_DOCS}reset.html`,
874
874
  },
875
875
  {
876
- cmd: 'SHOW',
877
- description: 'show the value of a run-time parameter',
876
+ cmd: "SHOW",
877
+ description: "show the value of a run-time parameter",
878
878
  syntax: `SHOW name
879
879
  SHOW ALL`,
880
880
  docUrl: `${PG_DOCS}show.html`,
@@ -883,20 +883,20 @@ SHOW ALL`,
883
883
  // Async notification
884
884
  // ---------------------------------------------------------------------------
885
885
  {
886
- cmd: 'LISTEN',
887
- description: 'listen for a notification',
886
+ cmd: "LISTEN",
887
+ description: "listen for a notification",
888
888
  syntax: `LISTEN channel`,
889
889
  docUrl: `${PG_DOCS}listen.html`,
890
890
  },
891
891
  {
892
- cmd: 'NOTIFY',
893
- description: 'generate a notification',
892
+ cmd: "NOTIFY",
893
+ description: "generate a notification",
894
894
  syntax: `NOTIFY channel [ , payload ]`,
895
895
  docUrl: `${PG_DOCS}notify.html`,
896
896
  },
897
897
  {
898
- cmd: 'UNLISTEN',
899
- description: 'stop listening for a notification',
898
+ cmd: "UNLISTEN",
899
+ description: "stop listening for a notification",
900
900
  syntax: `UNLISTEN { channel | * }`,
901
901
  docUrl: `${PG_DOCS}unlisten.html`,
902
902
  },
@@ -904,8 +904,8 @@ SHOW ALL`,
904
904
  // Locking
905
905
  // ---------------------------------------------------------------------------
906
906
  {
907
- cmd: 'LOCK',
908
- description: 'lock a table',
907
+ cmd: "LOCK",
908
+ description: "lock a table",
909
909
  syntax: `LOCK [ TABLE ] [ ONLY ] name [ * ] [, ...] [ IN lockmode MODE ] [ NOWAIT ]
910
910
 
911
911
  where lockmode is one of:
@@ -918,20 +918,20 @@ where lockmode is one of:
918
918
  // Prepared statements
919
919
  // ---------------------------------------------------------------------------
920
920
  {
921
- cmd: 'PREPARE',
922
- description: 'prepare a statement for execution',
921
+ cmd: "PREPARE",
922
+ description: "prepare a statement for execution",
923
923
  syntax: `PREPARE name [ ( data_type [, ...] ) ] AS statement`,
924
924
  docUrl: `${PG_DOCS}prepare.html`,
925
925
  },
926
926
  {
927
- cmd: 'EXECUTE',
928
- description: 'execute a prepared statement',
927
+ cmd: "EXECUTE",
928
+ description: "execute a prepared statement",
929
929
  syntax: `EXECUTE name [ ( parameter [, ...] ) ]`,
930
930
  docUrl: `${PG_DOCS}execute.html`,
931
931
  },
932
932
  {
933
- cmd: 'DEALLOCATE',
934
- description: 'deallocate a prepared statement',
933
+ cmd: "DEALLOCATE",
934
+ description: "deallocate a prepared statement",
935
935
  syntax: `DEALLOCATE [ PREPARE ] { name | ALL }`,
936
936
  docUrl: `${PG_DOCS}deallocate.html`,
937
937
  },
@@ -939,15 +939,15 @@ where lockmode is one of:
939
939
  // Cursors
940
940
  // ---------------------------------------------------------------------------
941
941
  {
942
- cmd: 'DECLARE',
943
- description: 'define a cursor',
942
+ cmd: "DECLARE",
943
+ description: "define a cursor",
944
944
  syntax: `DECLARE name [ BINARY ] [ ASENSITIVE | INSENSITIVE ] [ [ NO ] SCROLL ]
945
945
  CURSOR [ { WITH | WITHOUT } HOLD ] FOR query`,
946
946
  docUrl: `${PG_DOCS}declare.html`,
947
947
  },
948
948
  {
949
- cmd: 'FETCH',
950
- description: 'retrieve rows from a query using a cursor',
949
+ cmd: "FETCH",
950
+ description: "retrieve rows from a query using a cursor",
951
951
  syntax: `FETCH [ direction ] [ FROM | IN ] cursor_name
952
952
 
953
953
  where direction can be empty or one of:
@@ -969,8 +969,8 @@ where direction can be empty or one of:
969
969
  docUrl: `${PG_DOCS}fetch.html`,
970
970
  },
971
971
  {
972
- cmd: 'MOVE',
973
- description: 'position a cursor',
972
+ cmd: "MOVE",
973
+ description: "position a cursor",
974
974
  syntax: `MOVE [ direction ] [ FROM | IN ] cursor_name
975
975
 
976
976
  where direction can be empty or one of:
@@ -982,8 +982,8 @@ where direction can be empty or one of:
982
982
  docUrl: `${PG_DOCS}move.html`,
983
983
  },
984
984
  {
985
- cmd: 'CLOSE',
986
- description: 'close a cursor',
985
+ cmd: "CLOSE",
986
+ description: "close a cursor",
987
987
  syntax: `CLOSE { name | ALL }`,
988
988
  docUrl: `${PG_DOCS}close.html`,
989
989
  },
@@ -991,14 +991,14 @@ where direction can be empty or one of:
991
991
  // Procedural / misc
992
992
  // ---------------------------------------------------------------------------
993
993
  {
994
- cmd: 'CALL',
995
- description: 'invoke a procedure',
994
+ cmd: "CALL",
995
+ description: "invoke a procedure",
996
996
  syntax: `CALL name ( [ argument ] [, ...] )`,
997
997
  docUrl: `${PG_DOCS}call.html`,
998
998
  },
999
999
  {
1000
- cmd: 'DO',
1001
- description: 'execute an anonymous code block',
1000
+ cmd: "DO",
1001
+ description: "execute an anonymous code block",
1002
1002
  syntax: `DO [ LANGUAGE lang_name ] code`,
1003
1003
  docUrl: `${PG_DOCS}do.html`,
1004
1004
  },
@@ -1015,7 +1015,7 @@ where direction can be empty or one of:
1015
1015
  // We additionally accept a single trailing space.
1016
1016
  // ---------------------------------------------------------------------------
1017
1017
  /** Normalise a topic string for matching. */
1018
- const normalize = (s) => s.trim().replace(/\s+/gu, ' ').toUpperCase();
1018
+ const normalize = (s) => s.trim().replace(/\s+/gu, " ").toUpperCase();
1019
1019
  /** Tokenise on whitespace, dropping empties. */
1020
1020
  const tokens = (s) => s.split(/\s+/u).filter((t) => t.length > 0);
1021
1021
  /**