Warning, /frameworks/syntax-highlighting/data/syntax/sql-postgresql.xml is written in an unsupported language. File is not indexed.

0001 <?xml version="1.0" encoding="UTF-8"?>
0002 <!DOCTYPE language
0003 [
0004 
0005   <!-- Regular expression matching case-insensitively a single hexadecial digit. -->
0006   <!ENTITY hexDigit "[0-9a-fA-F]">
0007 
0008   <!-- Regular expression matching all potential names of PostgresSQL built-in
0009   functions and PostGIS functions. -->
0010   <!ENTITY functionName "[a-zA-Z][a-zA-Z0-9_]*">
0011 
0012 ]>
0013 
0014 <!-- PostgreSQL SQL, syntax definition based on sql.xml by Yury Lebedev
0015      v5 fix comments by Gene Thomas <gene@genethomas.com>
0016   -->
0017 
0018 <!-- Support for escape characters in strings and identifiers, PostGIS highlighting
0019      and better functioni highlighting by Lukas Sommer <sommerluk@gamil.com>. These
0020      modifications are under MIT License.
0021   -->
0022 
0023 <language name="SQL (PostgreSQL)"
0024           version="16"
0025           kateversion="5.44"
0026           section="Database"
0027           extensions="*.sql;*.SQL;*.ddl;*.DDL"
0028           mimetype="text/x-sql"
0029           casesensitive="0"
0030           author="Shane Wright (me@shanewright.co.uk)"
0031           license="">
0032   <highlighting>
0033     <list name="controlFlow">
0034       <item>BEGIN</item>
0035       <item>CASE</item>
0036       <item>ELSE</item>
0037       <item>ELSIF</item>
0038       <item>END</item>
0039       <item>EXCEPTION</item>
0040       <item>FOR</item>
0041       <item>IF</item>
0042       <item>LOOP</item>
0043       <item>RETURN</item>
0044       <item>THEN</item>
0045       <item>WHEN</item>
0046   </list>
0047     <list name="operators">
0048       <item>AND</item>
0049       <item>BETWEEN</item>
0050       <item>IN</item>
0051       <item>IS</item>
0052       <item>LIKE</item>
0053       <item>NOT</item>
0054       <item>OR</item>
0055     </list>
0056     <list name="keywords">
0057       <item>A</item>
0058       <item>ABORT</item>
0059       <item>ABSENT</item>
0060       <item>ABSOLUTE</item>
0061       <item>ACCESS</item>
0062       <item>ACCORDING</item>
0063       <item>ACTION</item>
0064       <item>ADA</item>
0065       <item>ADD</item>
0066       <item>ADMIN</item>
0067       <item>AFTER</item>
0068       <item>AGGREGATE</item>
0069       <item>ALL</item>
0070       <item>ALLOCATE</item>
0071       <item>ALSO</item>
0072       <item>ALTER</item>
0073       <item>ALWAYS</item>
0074       <item>ANALYZE</item>
0075       <item>ANY</item>
0076       <item>ARE</item>
0077       <item>ARRAY</item>
0078       <item>ARRAY_AGG</item>
0079       <item>ARRAY_MAX_CARDINALITY</item>
0080       <item>AS</item>
0081       <item>ASC</item>
0082       <item>ASENSITIVE</item>
0083       <item>ASSERTION</item>
0084       <item>ASSIGNMENT</item>
0085       <item>ASYMMETRIC</item>
0086       <item>AT</item>
0087       <item>ATOMIC</item>
0088       <item>ATTACH</item>
0089       <item>ATTRIBUTE</item>
0090       <item>ATTRIBUTES</item>
0091       <item>AUTHORIZATION</item>
0092       <item>BACKWARD</item>
0093       <item>BASE64</item>
0094       <item>BEFORE</item>
0095       <item>BEGIN_FRAME</item>
0096       <item>BEGIN_PARTITION</item>
0097       <item>BERNOULLI</item>
0098       <item>BINARY</item>
0099       <item>BLOB</item>
0100       <item>BLOCKED</item>
0101       <item>BOM</item>
0102       <item>BOTH</item>
0103       <item>BREADTH</item>
0104       <item>BY</item>
0105       <item>C</item>
0106       <item>CACHE</item>
0107       <item>CALL</item>
0108       <item>CALLED</item>
0109       <item>CARDINALITY</item>
0110       <item>CASCADE</item>
0111       <item>CASCADED</item>
0112       <item>CAST</item>
0113       <item>CATALOG</item>
0114       <item>CATALOG_NAME</item>
0115       <item>CHAIN</item>
0116       <item>CHARACTERISTICS</item>
0117       <item>CHARACTERS</item>
0118       <item>CHARACTER_SET_CATALOG</item>
0119       <item>CHARACTER_SET_NAME</item>
0120       <item>CHARACTER_SET_SCHEMA</item>
0121       <item>CHECK</item>
0122       <item>CHECKPOINT</item>
0123       <item>CLASS</item>
0124       <item>CLASS_ORIGIN</item>
0125       <item>CLOB</item>
0126       <item>CLOSE</item>
0127       <item>CLUSTER</item>
0128       <item>COBOL</item>
0129       <item>COLLATE</item>
0130       <item>COLLATION</item>
0131       <item>COLLATION_CATALOG</item>
0132       <item>COLLATION_NAME</item>
0133       <item>COLLATION_SCHEMA</item>
0134       <item>COLLECT</item>
0135       <item>COLUMN</item>
0136       <item>COLUMNS</item>
0137       <item>COLUMN_NAME</item>
0138       <item>COMMAND_FUNCTION</item>
0139       <item>COMMAND_FUNCTION_CODE</item>
0140       <item>COMMENT</item>
0141       <item>COMMENTS</item>
0142       <item>COMMIT</item>
0143       <item>COMMITTED</item>
0144       <item>CONCURRENTLY</item>
0145       <item>CONDITION</item>
0146       <item>CONDITION_NUMBER</item>
0147       <item>CONFIGURATION</item>
0148       <item>CONFLICT</item>
0149       <item>CONNECT</item>
0150       <item>CONNECTION</item>
0151       <item>CONNECTION_NAME</item>
0152       <item>CONSTRAINT</item>
0153       <item>CONSTRAINTS</item>
0154       <item>CONSTRAINT_CATALOG</item>
0155       <item>CONSTRAINT_NAME</item>
0156       <item>CONSTRAINT_SCHEMA</item>
0157       <item>CONSTRUCTOR</item>
0158       <item>CONTAINS</item>
0159       <item>CONTENT</item>
0160       <item>CONTINUE</item>
0161       <item>CONTROL</item>
0162       <item>CONVERSION</item>
0163       <item>COPY</item>
0164       <item>CORR</item>
0165       <item>CORRESPONDING</item>
0166       <item>COST</item>
0167       <item>COVAR_POP</item>
0168       <item>COVAR_SAMP</item>
0169       <item>CREATE</item>
0170       <item>CROSS</item>
0171       <item>CSV</item>
0172       <item>CUBE</item>
0173       <item>CUME_DIST</item>
0174       <item>CURRENT</item>
0175       <item>CURRENT_CATALOG</item>
0176       <item>CURRENT_DATE</item>
0177       <item>CURRENT_DEFAULT_TRANSFORM_GROUP</item>
0178       <item>CURRENT_PATH</item>
0179       <item>CURRENT_ROLE</item>
0180       <item>CURRENT_ROW</item>
0181       <item>CURRENT_TIME</item>
0182       <item>CURRENT_TIMESTAMP</item>
0183       <item>CURRENT_TRANSFORM_GROUP_FOR_TYPE</item>
0184       <item>CURSOR</item>
0185       <item>CURSOR_NAME</item>
0186       <item>CYCLE</item>
0187       <item>DATA</item>
0188       <item>DATABASE</item>
0189       <item>DATALINK</item>
0190       <item>DATETIME_INTERVAL_CODE</item>
0191       <item>DATETIME_INTERVAL_PRECISION</item>
0192       <item>DAY</item>
0193       <item>DB</item>
0194       <item>DEALLOCATE</item>
0195       <item>DEC</item>
0196       <item>DECLARE</item>
0197       <item>DEFAULT</item>
0198       <item>DEFAULTS</item>
0199       <item>DEFERRABLE</item>
0200       <item>DEFERRED</item>
0201       <item>DEFINED</item>
0202       <item>DEFINER</item>
0203       <item>DEGREE</item>
0204       <item>DELETE</item>
0205       <item>DELIMITER</item>
0206       <item>DELIMITERS</item>
0207       <item>DENSE_RANK</item>
0208       <item>DEPENDS</item>
0209       <item>DEPTH</item>
0210       <item>DEREF</item>
0211       <item>DERIVED</item>
0212       <item>DESC</item>
0213       <item>DESCRIBE</item>
0214       <item>DESCRIPTOR</item>
0215       <item>DESTROY</item>
0216       <item>DESTRUCTOR</item>
0217       <item>DETACH</item>
0218       <item>DETERMINISTIC</item>
0219       <item>DIAGNOSTICS</item>
0220       <item>DICTIONARY</item>
0221       <item>DISABLE</item>
0222       <item>DISCARD</item>
0223       <item>DISCONNECT</item>
0224       <item>DISPATCH</item>
0225       <item>DISTINCT</item>
0226       <item>DLNEWCOPY</item>
0227       <item>DLPREVIOUSCOPY</item>
0228       <item>DLURLCOMPLETE</item>
0229       <item>DLURLCOMPLETEONLY</item>
0230       <item>DLURLCOMPLETEWRITE</item>
0231       <item>DLURLPATH</item>
0232       <item>DLURLPATHONLY</item>
0233       <item>DLURLPATHWRITE</item>
0234       <item>DLURLSCHEME</item>
0235       <item>DLURLSERVER</item>
0236       <item>DLVALUE</item>
0237       <item>DO</item>
0238       <item>DOCUMENT</item>
0239       <item>DOMAIN</item>
0240       <item>DROP</item>
0241       <item>DYNAMIC</item>
0242       <item>DYNAMIC_FUNCTION</item>
0243       <item>DYNAMIC_FUNCTION_CODE</item>
0244       <item>EACH</item>
0245       <item>ELEMENT</item>
0246       <item>EMPTY</item>
0247       <item>ENABLE</item>
0248       <item>ENCODING</item>
0249       <item>ENCRYPTED</item>
0250       <item>END-EXEC</item>
0251       <item>END_FRAME</item>
0252       <item>END_PARTITION</item>
0253       <item>ENFORCED</item>
0254       <item>ENUM</item>
0255       <item>EQUALS</item>
0256       <item>ESCAPE</item>
0257       <item>EVENT</item>
0258       <item>EXCEPT</item>
0259       <item>EXCLUDE</item>
0260       <item>EXCLUDING</item>
0261       <item>EXCLUSIVE</item>
0262       <item>EXEC</item>
0263       <item>EXECUTE</item>
0264       <item>EXISTS</item>
0265       <item>EXPLAIN</item>
0266       <item>EXPRESSION</item>
0267       <item>EXTENSION</item>
0268       <item>EXTERNAL</item>
0269       <item>FALSE</item>
0270       <item>FETCH</item>
0271       <item>FILE</item>
0272       <item>FILTER</item>
0273       <item>FINAL</item>
0274       <item>FIRST</item>
0275       <item>FIRST_VALUE</item>
0276       <item>FLAG</item>
0277       <item>FLOAT</item>
0278       <item>FOLLOWING</item>
0279       <item>FORCE</item>
0280       <item>FOREIGN</item>
0281       <item>FORTRAN</item>
0282       <item>FORWARD</item>
0283       <item>FOUND</item>
0284       <item>FRAME_ROW</item>
0285       <item>FREE</item>
0286       <item>FREEZE</item>
0287       <item>FROM</item>
0288       <item>FS</item>
0289       <item>FULL</item>
0290       <item>FUNCTION</item>
0291       <item>FUNCTIONS</item>
0292       <item>FUSION</item>
0293       <item>G</item>
0294       <item>GENERAL</item>
0295       <item>GENERATED</item>
0296       <item>GET</item>
0297       <item>GLOBAL</item>
0298       <item>GO</item>
0299       <item>GOTO</item>
0300       <item>GRANT</item>
0301       <item>GRANTED</item>
0302       <item>GREATEST</item>
0303       <item>GROUP</item>
0304       <item>GROUPING</item>
0305       <item>GROUPS</item>
0306       <item>HANDLER</item>
0307       <item>HAVING</item>
0308       <item>HEADER</item>
0309       <item>HEX</item>
0310       <item>HIERARCHY</item>
0311       <item>HOLD</item>
0312       <item>HOUR</item>
0313       <item>ID</item>
0314       <item>IDENTITY</item>
0315       <item>IGNORE</item>
0316       <item>ILIKE</item>
0317       <item>IMMEDIATE</item>
0318       <item>IMMEDIATELY</item>
0319       <item>IMMUTABLE</item>
0320       <item>IMPLEMENTATION</item>
0321       <item>IMPLICIT</item>
0322       <item>IMPORT</item>
0323       <item>INCLUDING</item>
0324       <item>INCREMENT</item>
0325       <item>INDENT</item>
0326       <item>INDEX</item>
0327       <item>INDEXES</item>
0328       <item>INDICATOR</item>
0329       <item>INHERIT</item>
0330       <item>INHERITS</item>
0331       <item>INITIALLY</item>
0332       <item>INLINE</item>
0333       <item>INNER</item>
0334       <item>INOUT</item>
0335       <item>INPUT</item>
0336       <item>INSENSITIVE</item>
0337       <item>INSERT</item>
0338       <item>INSTANCE</item>
0339       <item>INSTANTIABLE</item>
0340       <item>INSTEAD</item>
0341       <item>INTEGRITY</item>
0342       <item>INTERSECT</item>
0343       <item>INTERSECTION</item>
0344       <item>INTO</item>
0345       <item>INVOKER</item>
0346       <item>ISNULL</item>
0347       <item>ISOLATION</item>
0348       <item>JOIN</item>
0349       <item>K</item>
0350       <item>KEY</item>
0351       <item>KEY_MEMBER</item>
0352       <item>KEY_TYPE</item>
0353       <item>LABEL</item>
0354       <item>LAG</item>
0355       <item>LANGUAGE</item>
0356       <item>LARGE</item>
0357       <item>LAST</item>
0358       <item>LAST_VALUE</item>
0359       <item>LATERAL</item>
0360       <item>LEAD</item>
0361       <item>LEADING</item>
0362       <item>LEAKPROOF</item>
0363       <item>LEAST</item>
0364       <item>LEFT</item>
0365       <item>LEVEL</item>
0366       <item>LIBRARY</item>
0367       <item>LIKE_REGEX</item>
0368       <item>LIMIT</item>
0369       <item>LINK</item>
0370       <item>LISTEN</item>
0371       <item>LOAD</item>
0372       <item>LOCAL</item>
0373       <item>LOCALTIME</item>
0374       <item>LOCALTIMESTAMP</item>
0375       <item>LOCATION</item>
0376       <item>LOCATOR</item>
0377       <item>LOCK</item>
0378       <item>LOCKED</item>
0379       <item>LOGGED</item>
0380       <item>M</item>
0381       <item>MAP</item>
0382       <item>MAPPING</item>
0383       <item>MATCH</item>
0384       <item>MATCHED</item>
0385       <item>MATERIALIZED</item>
0386       <item>MAXVALUE</item>
0387       <item>MAX_CARDINALITY</item>
0388       <item>MEMBER</item>
0389       <item>MERGE</item>
0390       <item>MESSAGE_LENGTH</item>
0391       <item>MESSAGE_OCTET_LENGTH</item>
0392       <item>MESSAGE_TEXT</item>
0393       <item>METHOD</item>
0394       <item>MINUTE</item>
0395       <item>MINVALUE</item>
0396       <item>MODE</item>
0397       <item>MODIFIES</item>
0398       <item>MODULE</item>
0399       <item>MONTH</item>
0400       <item>MORE</item>
0401       <item>MOVE</item>
0402       <item>MULTISET</item>
0403       <item>MUMPS</item>
0404       <item>NAME</item>
0405       <item>NAMES</item>
0406       <item>NAMESPACE</item>
0407       <item>NATIONAL</item>
0408       <item>NATURAL</item>
0409       <item>NCHAR</item>
0410       <item>NCLOB</item>
0411       <item>NESTING</item>
0412       <item>NEW</item>
0413       <item>NEXT</item>
0414       <item>NFC</item>
0415       <item>NFD</item>
0416       <item>NFKC</item>
0417       <item>NFKD</item>
0418       <item>NIL</item>
0419       <item>NO</item>
0420       <item>NONE</item>
0421       <item>NORMALIZE</item>
0422       <item>NORMALIZED</item>
0423       <item>NOTHING</item>
0424       <item>NOTIFY</item>
0425       <item>NOTNULL</item>
0426       <item>NOWAIT</item>
0427       <item>NTH_VALUE</item>
0428       <item>NTILE</item>
0429       <item>NULL</item>
0430       <item>NULLABLE</item>
0431       <item>NULLS</item>
0432       <item>NUMBER</item>
0433       <item>OBJECT</item>
0434       <item>OCCURRENCES_REGEX</item>
0435       <item>OCTETS</item>
0436       <item>OF</item>
0437       <item>OFF</item>
0438       <item>OFFSET</item>
0439       <item>OIDS</item>
0440       <item>OLD</item>
0441       <item>ON</item>
0442       <item>ONLY</item>
0443       <item>OPEN</item>
0444       <item>OPERATOR</item>
0445       <item>OPTION</item>
0446       <item>OPTIONS</item>
0447       <item>ORDER</item>
0448       <item>ORDERING</item>
0449       <item>ORDINALITY</item>
0450       <item>OTHERS</item>
0451       <item>OUT</item>
0452       <item>OUTER</item>
0453       <item>OUTPUT</item>
0454       <item>OVER</item>
0455       <item>OVERLAPS</item>
0456       <item>OVERRIDING</item>
0457       <item>OWNED</item>
0458       <item>OWNER</item>
0459       <item>P</item>
0460       <item>PAD</item>
0461       <item>PARALLEL</item>
0462       <item>PARAMETER</item>
0463       <item>PARAMETER_MODE</item>
0464       <item>PARAMETER_NAME</item>
0465       <item>PARAMETER_ORDINAL_POSITION</item>
0466       <item>PARAMETER_SPECIFIC_CATALOG</item>
0467       <item>PARAMETER_SPECIFIC_NAME</item>
0468       <item>PARAMETER_SPECIFIC_SCHEMA</item>
0469       <item>PARSER</item>
0470       <item>PARTIAL</item>
0471       <item>PARTITION</item>
0472       <item>PASCAL</item>
0473       <item>PASSING</item>
0474       <item>PASSTHROUGH</item>
0475       <item>PASSWORD</item>
0476       <item>PERCENT</item>
0477       <item>PERCENTILE_CONT</item>
0478       <item>PERCENTILE_DISC</item>
0479       <item>PERCENT_RANK</item>
0480       <item>PERIOD</item>
0481       <item>PERMISSION</item>
0482       <item>PLACING</item>
0483       <item>PLANS</item>
0484       <item>PLI</item>
0485       <item>POLICY</item>
0486       <item>PORTION</item>
0487       <item>POSITION_REGEX</item>
0488       <item>PRECEDES</item>
0489       <item>PRECEDING</item>
0490       <item>PRECISION</item>
0491       <item>PREPARE</item>
0492       <item>PREPARED</item>
0493       <item>PRESERVE</item>
0494       <item>PRIMARY</item>
0495       <item>PRIOR</item>
0496       <item>PRIVILEGES</item>
0497       <item>PROCEDURAL</item>
0498       <item>PROCEDURE</item>
0499       <item>PROGRAM</item>
0500       <item>PUBLIC</item>
0501       <item>RANGE</item>
0502       <item>PUBLICATION</item>
0503       <item>QUOTE</item>
0504       <item>RANGE</item>
0505       <item>RANK</item>
0506       <item>READ</item>
0507       <item>READS</item>
0508       <item>REASSIGN</item>
0509       <item>RECHECK</item>
0510       <item>RECOVERY</item>
0511       <item>RECURSIVE</item>
0512       <item>REF</item>
0513       <item>REFERENCES</item>
0514       <item>REFERENCING</item>
0515       <item>REFRESH</item>
0516       <item>REGR_AVGX</item>
0517       <item>REGR_AVGY</item>
0518       <item>REGR_COUNT</item>
0519       <item>REGR_INTERCEPT</item>
0520       <item>REGR_R2</item>
0521       <item>REGR_SLOPE</item>
0522       <item>REGR_SXX</item>
0523       <item>REGR_SXY</item>
0524       <item>REGR_SYY</item>
0525       <item>REINDEX</item>
0526       <item>RELATIVE</item>
0527       <item>RELEASE</item>
0528       <item>RENAME</item>
0529       <item>REPEATABLE</item>
0530       <item>REPLICA</item>
0531       <item>REQUIRING</item>
0532       <item>RESET</item>
0533       <item>RESPECT</item>
0534       <item>RESTART</item>
0535       <item>RESTORE</item>
0536       <item>RESTRICT</item>
0537       <item>RESULT</item>
0538       <item>RETURNED_CARDINALITY</item>
0539       <item>RETURNED_LENGTH</item>
0540       <item>RETURNED_OCTET_LENGTH</item>
0541       <item>RETURNED_SQLSTATE</item>
0542       <item>RETURNING</item>
0543       <item>RETURNS</item>
0544       <item>REVOKE</item>
0545       <item>RIGHT</item>
0546       <item>ROLE</item>
0547       <item>ROLLBACK</item>
0548       <item>ROLLUP</item>
0549       <item>ROUTINE</item>
0550       <item>ROUTINE_CATALOG</item>
0551       <item>ROUTINE_NAME</item>
0552       <item>ROUTINE_SCHEMA</item>
0553       <item>ROW</item>
0554       <item>ROWS</item>
0555       <item>ROW_COUNT</item>
0556       <item>ROW_NUMBER</item>
0557       <item>RULE</item>
0558       <item>SAVEPOINT</item>
0559       <item>SCALE</item>
0560       <item>SCHEMA</item>
0561       <item>SCHEMAS</item>
0562       <item>SCHEMA_NAME</item>
0563       <item>SCOPE</item>
0564       <item>SCOPE_CATALOG</item>
0565       <item>SCOPE_NAME</item>
0566       <item>SCOPE_SCHEMA</item>
0567       <item>SCROLL</item>
0568       <item>SEARCH</item>
0569       <item>SECOND</item>
0570       <item>SECTION</item>
0571       <item>SECURITY</item>
0572       <item>SELECT</item>
0573       <item>SELECTIVE</item>
0574       <item>SELF</item>
0575       <item>SENSITIVE</item>
0576       <item>SEQUENCE</item>
0577       <item>SEQUENCES</item>
0578       <item>SERIALIZABLE</item>
0579       <item>SERVER</item>
0580       <item>SERVER_NAME</item>
0581       <item>SESSION</item>
0582       <item>SET</item>
0583       <item>SETOF</item>
0584       <item>SETS</item>
0585       <item>SHARE</item>
0586       <item>SHOW</item>
0587       <item>SIMILAR</item>
0588       <item>SIMPLE</item>
0589       <item>SIZE</item>
0590       <item>SKIP</item>
0591       <item>SNAPSHOT</item>
0592       <item>SOME</item>
0593       <item>SOURCE</item>
0594       <item>SPACE</item>
0595       <item>SPECIFIC</item>
0596       <item>SPECIFICTYPE</item>
0597       <item>SPECIFIC_NAME</item>
0598       <item>SQL</item>
0599       <item>SQLCODE</item>
0600       <item>SQLERROR</item>
0601       <item>SQLEXCEPTION</item>
0602       <item>SQLSTATE</item>
0603       <item>SQLWARNING</item>
0604       <item>STABLE</item>
0605       <item>STANDALONE</item>
0606       <item>START</item>
0607       <item>STATE</item>
0608       <item>STATEMENT</item>
0609       <item>STATIC</item>
0610       <item>STATISTICS</item>
0611       <item>STDDEV_POP</item>
0612       <item>STDDEV_SAMP</item>
0613       <item>STDIN</item>
0614       <item>STDOUT</item>
0615       <item>STORAGE</item>
0616       <item>STRICT</item>
0617       <item>STRIP</item>
0618       <item>STRUCTURE</item>
0619       <item>STYLE</item>
0620       <item>SUBCLASS_ORIGIN</item>
0621       <item>SUBMULTISET</item>
0622       <item>SUBSCRIPTION</item>
0623       <item>SUBSTRING_REGEX</item>
0624       <item>SUCCEEDS</item>
0625       <item>SYMMETRIC</item>
0626       <item>SYSID</item>
0627       <item>SYSTEM</item>
0628       <item>SYSTEM_TIME</item>
0629       <item>SYSTEM_USER</item>
0630       <item>T</item>
0631       <item>TABLE</item>
0632       <item>TABLES</item>
0633       <item>TABLESAMPLE</item>
0634       <item>TABLESPACE</item>
0635       <item>TABLE_NAME</item>
0636       <item>TEMP</item>
0637       <item>TEMPLATE</item>
0638       <item>TEMPORARY</item>
0639       <item>TIES</item>
0640       <item>TIMEZONE_HOUR</item>
0641       <item>TIMEZONE_MINUTE</item>
0642       <item>TO</item>
0643       <item>TOKEN</item>
0644       <item>TOP_LEVEL_COUNT</item>
0645       <item>TRAILING</item>
0646       <item>TRANSACTION</item>
0647       <item>TRANSACTIONS_COMMITTED</item>
0648       <item>TRANSACTIONS_ROLLED_BACK</item>
0649       <item>TRANSACTION_ACTIVE</item>
0650       <item>TRANSFORM</item>
0651       <item>TRANSFORMS</item>
0652       <item>TRANSLATE_REGEX</item>
0653       <item>TRANSLATION</item>
0654       <item>TREAT</item>
0655       <item>TRIGGER</item>
0656       <item>TRIGGER_CATALOG</item>
0657       <item>TRIGGER_NAME</item>
0658       <item>TRIGGER_SCHEMA</item>
0659       <item>TRIM_ARRAY</item>
0660       <item>TRUE</item>
0661       <item>TRUNCATE</item>
0662       <item>TRUSTED</item>
0663       <item>TYPE</item>
0664       <item>TYPES</item>
0665       <item>UESCAPE</item>
0666       <item>UNBOUNDED</item>
0667       <item>UNCOMMITTED</item>
0668       <item>UNDER</item>
0669       <item>UNENCRYPTED</item>
0670       <item>UNION</item>
0671       <item>UNIQUE</item>
0672       <item>UNKNOWN</item>
0673       <item>UNLINK</item>
0674       <item>UNLISTEN</item>
0675       <item>UNLOGGED</item>
0676       <item>UNNAMED</item>
0677       <item>UNNEST</item>
0678       <item>UNTIL</item>
0679       <item>UNTYPED</item>
0680       <item>UPDATE</item>
0681       <item>URI</item>
0682       <item>USAGE</item>
0683       <item>USER</item>
0684       <item>USER_DEFINED_TYPE_CATALOG</item>
0685       <item>USER_DEFINED_TYPE_CODE</item>
0686       <item>USER_DEFINED_TYPE_NAME</item>
0687       <item>USER_DEFINED_TYPE_SCHEMA</item>
0688       <item>USING</item>
0689       <item>VACUUM</item>
0690       <item>VALID</item>
0691       <item>VALIDATE</item>
0692       <item>VALIDATOR</item>
0693       <item>VALUE</item>
0694       <item>VALUES</item>
0695       <item>VALUE_OF</item>
0696       <item>VARBINARY</item>
0697       <item>VARIADIC</item>
0698       <item>VARYING</item>
0699       <item>VAR_POP</item>
0700       <item>VAR_SAMP</item>
0701       <item>VERBOSE</item>
0702       <item>VERSIONING</item>
0703       <item>VIEW</item>
0704       <item>VIEWS</item>
0705       <item>VOLATILE</item>
0706       <item>WHENEVER</item>
0707       <item>WHERE</item>
0708       <item>WHITESPACE</item>
0709       <item>WINDOW</item>
0710       <item>WITH</item>
0711       <item>WITHIN</item>
0712       <item>WITHOUT</item>
0713       <item>WORK</item>
0714       <item>WRAPPER</item>
0715       <item>WRITE</item>
0716       <item>XMLAGG</item>
0717       <item>XMLATTRIBUTES</item>
0718       <item>XMLBINARY</item>
0719       <item>XMLCAST</item>
0720       <item>XMLCOMMENT</item>
0721       <item>XMLCONCAT</item>
0722       <item>XMLDECLARATION</item>
0723       <item>XMLDOCUMENT</item>
0724       <item>XMLELEMENT</item>
0725       <item>XMLEXISTS</item>
0726       <item>XMLFOREST</item>
0727       <item>XMLITERATE</item>
0728       <item>XMLNAMESPACES</item>
0729       <item>XMLPARSE</item>
0730       <item>XMLPI</item>
0731       <item>XMLQUERY</item>
0732       <item>XMLROOT</item>
0733       <item>XMLSCHEMA</item>
0734       <item>XMLSERIALIZE</item>
0735       <item>XMLTABLE</item>
0736       <item>XMLTEXT</item>
0737       <item>XMLVALIDATE</item>
0738       <item>YEAR</item>
0739       <item>YES</item>
0740       <item>ZONE</item>
0741     </list>
0742     <list name="functions">
0743       <!-- math -->
0744       <item>ABS</item>
0745       <item>CBRT</item>
0746       <item>CEIL</item>
0747       <item>CEILING</item>
0748       <item>DEGREES</item>
0749       <item>EXP</item>
0750       <item>FLOOR</item>
0751       <item>LN</item>
0752       <item>LOG</item>
0753       <item>MOD</item>
0754       <item>PI</item>
0755       <item>POW</item>
0756       <item>POWER</item>
0757       <item>RADIANS</item>
0758       <item>RANDOM</item>
0759       <item>ROUND</item>
0760       <item>SETSEED</item>
0761       <item>SIGN</item>
0762       <item>SQRT</item>
0763       <item>TRUNC</item>
0764       <item>WIDTH_BUCKET</item>
0765       <!-- trig -->
0766       <item>ACOS</item>
0767       <item>ASIN</item>
0768       <item>ATAN</item>
0769       <item>ATAN2</item>
0770       <item>COS</item>
0771       <item>COT</item>
0772       <item>SIN</item>
0773       <item>TAN</item>
0774       <!-- string -->
0775       <item>BIT_LENGTH</item>
0776       <item>CHAR_LENGTH</item>
0777       <item>CHARACTER_LENGTH</item>
0778       <item>CONCAT</item>
0779       <item>CONCAT_WS</item>
0780       <item>CONVERT</item>
0781       <item>GET_BYTE</item>
0782       <item>GET_BIT</item>
0783       <item>LOWER</item>
0784       <item>OCTET_LENGTH</item>
0785       <item>OVERLAY</item>
0786       <item>POSITION</item>
0787       <item>SET_BIT</item>
0788       <item>SUBSTRING</item>
0789       <item>TRIM</item>
0790       <item>UPPER</item>
0791       <!-- other string -->
0792       <item>ASCII</item>
0793       <item>BTRIM</item>
0794       <item>CHR</item>
0795       <item>DECODE</item>
0796       <item>ENCODE</item>
0797       <item>INITCAP</item>
0798       <item>LENGTH</item>
0799       <item>LPAD</item>
0800       <item>LTRIM</item>
0801       <item>MD5</item>
0802       <item>PG_CLIENT_ENCODING</item>
0803       <item>QUOTE_IDENT</item>
0804       <item>QUOTE_LITERAL</item>
0805       <item>REGEXP_REPLACE</item>
0806       <item>REPEAT</item>
0807       <item>REPLACE</item>
0808       <item>RPAD</item>
0809       <item>RTRIM</item>
0810       <item>SPLIT_PART</item>
0811       <item>STRPOS</item>
0812       <item>SUBSTR</item>
0813       <item>TO_ASCII</item>
0814       <item>TO_HEX</item>
0815       <item>TRANSLATE</item>
0816       <!-- data type formatting -->
0817       <item>TO_CHAR</item>
0818       <item>TO_DATE</item>
0819       <item>TO_TIMESTAMP</item>
0820       <item>TO_NUMBER</item>
0821       <!-- date/time -->
0822       <item>AGE</item>
0823       <item>DATE_PART</item>
0824       <item>DATE_TRUNC</item>
0825       <item>EXTRACT</item>
0826       <item>ISFINITE</item>
0827       <item>JUSTIFY_HOURS</item>
0828       <item>JUSTIFY_DAYS</item>
0829       <item>NOW</item>
0830       <item>TIMEOFDAY</item>
0831       <item>TIMESTAMP</item>
0832       <!-- geometric -->
0833       <item>AREA</item>
0834       <item>CENTER</item>
0835       <item>DIAMETER</item>
0836       <item>HEIGHT</item>
0837       <item>ISCLOSED</item>
0838       <item>ISOPEN</item>
0839       <item>NPOINTS</item>
0840       <item>PCLOSE</item>
0841       <item>POPEN</item>
0842       <item>RADIUS</item>
0843       <item>WIDTH</item>
0844       <!-- geometric type conversion -->
0845       <item>BOX</item>
0846       <item>CIRCLE</item>
0847       <item>LSEG</item>
0848       <item>PATH</item>
0849       <item>POINT</item>
0850       <item>POLYGON</item>
0851       <!-- array -->
0852       <item>ARRAY_CAT</item>
0853       <item>ARRAY_APPEND</item>
0854       <item>ARRAY_PREPEND</item>
0855       <item>ARRAY_DIMS</item>
0856       <item>ARRAY_LOWER</item>
0857       <item>ARRAY_UPPER</item>
0858       <item>ARRAY_TO_STRING</item>
0859       <item>STRING_TO_ARRAY</item>
0860       <!-- network address type, TEXT is omitted as it is more commonly a data type -->
0861       <item>BROADCAST</item>
0862       <item>HOST</item>
0863       <item>MASKLEN</item>
0864       <item>SET_MASKLEN</item>
0865       <item>NETMASK</item>
0866       <item>HOSTMASK</item>
0867       <item>NETWORK</item>
0868       <item>TEXT</item>
0869       <item>ABBREV</item>
0870       <item>FAMILY</item>
0871       <!-- sequence manipulation -->
0872       <item>NEXTVAL</item>
0873       <item>CURRVAL</item>
0874       <item>LASTVAL</item>
0875       <item>SETVAL</item>
0876       <!-- conditional expressions -->
0877       <item>COALESCE</item>
0878       <item>NULLIF</item>
0879       <!-- aggregate -->
0880       <item>AVG</item>
0881       <item>BIT_AND</item>
0882       <item>BIT_OR</item>
0883       <item>BOOL_AND</item>
0884       <item>BOOL_OR</item>
0885       <item>COUNT</item>
0886       <item>EVERY</item>
0887       <item>MAX</item>
0888       <item>MIN</item>
0889       <item>STDDEV</item>
0890       <item>SUM</item>
0891       <item>VARIANCE</item>
0892       <!-- series generating -->
0893       <item>GENERATE_SERIES</item>
0894       <!-- system information -->
0895       <item>CURRENT_DATABASE</item>
0896       <item>CURRENT_SCHEMA</item>
0897       <item>CURRENT_SCHEMAS</item>
0898       <item>CURRENT_USER</item>
0899       <item>INET_CLIENT_ADDR</item>
0900       <item>INET_CLIENT_PORT</item>
0901       <item>INET_SERVER_ADDR</item>
0902       <item>INET_SERVER_PORT</item>
0903       <item>SESSION_USER</item>
0904       <item>PG_POSTMASTER_START_TIME</item>
0905       <item>VERSION</item>
0906       <!-- access privilege inquiry  -->
0907       <item>HAS_TABLE_PRIVILEGE</item>
0908       <item>HAS_DATABASE_PRIVILEGE</item>
0909       <item>HAS_FUNCTION_PRIVILEGE</item>
0910       <item>HAS_LANGUAGE_PRIVILEGE</item>
0911       <item>PG_HAS_ROLE</item>
0912       <item>HAS_SCHEMA_PRIVILEGE</item>
0913       <item>HAS_TABLESPACE_PRIVILEGE</item>
0914       <!--  schema visibility inquiry -->
0915       <item>PG_TABLE_IS_VISIBLE</item>
0916       <item>PG_TYPE_IS_VISIBLE</item>
0917       <item>PG_FUNCTION_IS_VISIBLE</item>
0918       <item>PG_OPERATOR_IS_VISIBLE</item>
0919       <item>PG_OPCLASS_IS_VISIBLE</item>
0920       <item>PG_CONVERSION_IS_VISIBLE</item>
0921       <!-- system catalog information -->
0922       <item>FORMAT_TYPE</item>
0923       <item>PG_GET_CONSTRAINTDEF</item>
0924       <item>PG_GET_EXPR</item>
0925       <item>PG_GET_INDEXDEF</item>
0926       <item>PG_GET_RULEDEF</item>
0927       <item>PG_GET_SERIAL_SEQUENCE</item>
0928       <item>PG_TABLESPACE_DATABASES</item>
0929       <item>PG_GET_TRIGGERDEF</item>
0930       <item>PG_GET_USERBYID</item>
0931       <item>PG_GET_VIEWDEF</item>
0932       <!-- comment information -->
0933       <item>OBJ_DESCRIPTION</item>
0934       <item>COL_DESCRIPTION</item>
0935       <!-- configuration settings -->
0936       <item>CURRENT_SETTING</item>
0937       <item>SET_CONFIG</item>
0938       <!-- server signalling -->
0939       <item>PG_CANCEL_BACKEND</item>
0940       <item>PG_RELOAD_CONF</item>
0941       <item>PG_ROTATE_LOGFILE</item>
0942       <!-- backup control -->
0943       <item>PG_START_BACKUP</item>
0944       <item>PG_STOP_BACKUP</item>
0945       <!-- database object Sizes-->
0946       <item>PG_COLUMN_SIZE</item>
0947       <item>PG_TABLESPACE_SIZE</item>
0948       <item>PG_DATABASE_SIZE</item>
0949       <item>PG_RELATION_SIZE</item>
0950       <item>PG_TOTAL_RELATION_SIZE</item>
0951       <item>PG_SIZE_PRETTY</item>
0952       <!-- generic file access -->
0953       <item>PG_LS_DIR</item>
0954       <item>PG_READ_FILE</item>
0955       <item>PG_STAT_FILE</item>
0956     </list>
0957     <list name="postgisFunctions">
0958       <!-- From https://postgis.net/docs/PostGIS_Special_Functions_Index.html#PostGIS_TypeFunctionMatrix at 2022-09-16 19:15 GMT -->
0959       <item>Box2D</item>
0960       <item>Box3D</item>
0961       <item>GeometryType</item>
0962       <item>PostGIS_AddBBox</item>
0963       <item>PostGIS_DropBBox</item>
0964       <item>PostGIS_Extensions_Upgrade</item>
0965       <item>PostGIS_Full_Version</item>
0966       <item>PostGIS_GEOS_Version</item>
0967       <item>PostGIS_HasBBox</item>
0968       <item>PostGIS_LibXML_Version</item>
0969       <item>PostGIS_Lib_Build_Date</item>
0970       <item>PostGIS_Lib_Version</item>
0971       <item>PostGIS_Liblwgeom_Version</item>
0972       <item>PostGIS_PROJ_Version</item>
0973       <item>PostGIS_Scripts_Build_Date</item>
0974       <item>PostGIS_Scripts_Installed</item>
0975       <item>PostGIS_Scripts_Released</item>
0976       <item>PostGIS_Version</item>
0977       <item>PostGIS_Wagyu_Version</item>
0978       <item>ST_3DArea</item>
0979       <item>ST_3DClosestPoint</item>
0980       <item>ST_3DConvexHull</item>
0981       <item>ST_3DDifference</item>
0982       <item>ST_3DDistance</item>
0983       <item>ST_3DExtent</item>
0984       <item>ST_3DIntersection</item>
0985       <item>ST_3DLength</item>
0986       <item>ST_3DLineInterpolatePoint</item>
0987       <item>ST_3DLongestLine</item>
0988       <item>ST_3DMakeBox</item>
0989       <item>ST_3DMaxDistance</item>
0990       <item>ST_3DPerimeter</item>
0991       <item>ST_3DShortestLine</item>
0992       <item>ST_3DUnion</item>
0993       <item>ST_AddMeasure</item>
0994       <item>ST_AddPoint</item>
0995       <item>ST_Affine</item>
0996       <item>ST_AlphaShape</item>
0997       <item>ST_Angle</item>
0998       <item>ST_ApproximateMedialAxis</item>
0999       <item>ST_Area</item>
1000       <item>ST_Azimuth</item>
1001       <item>ST_Boundary</item>
1002       <item>ST_BoundingDiagonal</item>
1003       <item>ST_Buffer</item>
1004       <item>ST_BuildArea</item>
1005       <item>ST_CPAWithin</item>
1006       <item>ST_Centroid</item>
1007       <item>ST_ChaikinSmoothing</item>
1008       <item>ST_ClipByBox2D</item>
1009       <item>ST_ClosestPoint</item>
1010       <item>ST_ClosestPointOfApproach</item>
1011       <item>ST_ClusterDBSCAN</item>
1012       <item>ST_ClusterIntersecting</item>
1013       <item>ST_ClusterKMeans</item>
1014       <item>ST_ClusterWithin</item>
1015       <item>ST_Collect</item>
1016       <item>ST_CollectionExtract</item>
1017       <item>ST_CollectionHomogenize</item>
1018       <item>ST_ConcaveHull</item>
1019       <item>ST_ConstrainedDelaunayTriangles</item>
1020       <item>ST_ConvexHull</item>
1021       <item>ST_CoordDim</item>
1022       <item>ST_CurveToLine</item>
1023       <item>ST_DelaunayTriangles</item>
1024       <item>ST_Difference</item>
1025       <item>ST_Dimension</item>
1026       <item>ST_Distance</item>
1027       <item>ST_DistanceCPA</item>
1028       <item>ST_DistanceSphere</item>
1029       <item>ST_DistanceSpheroid</item>
1030       <item>ST_Dump</item>
1031       <item>ST_DumpPoints</item>
1032       <item>ST_DumpRings</item>
1033       <item>ST_DumpSegments</item>
1034       <item>ST_EndPoint</item>
1035       <item>ST_Envelope</item>
1036       <item>ST_EstimatedExtent</item>
1037       <item>ST_Expand</item>
1038       <item>ST_Extent</item>
1039       <item>ST_ExteriorRing</item>
1040       <item>ST_Extrude</item>
1041       <item>ST_FilterByM</item>
1042       <item>ST_FlipCoordinates</item>
1043       <item>ST_Force2D</item>
1044       <item>ST_ForceCurve</item>
1045       <item>ST_ForceLHR</item>
1046       <item>ST_ForcePolygonCCW</item>
1047       <item>ST_ForcePolygonCW</item>
1048       <item>ST_ForceRHR</item>
1049       <item>ST_ForceSFS</item>
1050       <item>ST_Force3D</item>
1051       <item>ST_Force3DM</item>
1052       <item>ST_Force3DZ</item>
1053       <item>ST_Force4D</item>
1054       <item>ST_ForceCollection</item>
1055       <item>ST_FrechetDistance</item>
1056       <item>ST_GeneratePoints</item>
1057       <item>ST_GeometricMedian</item>
1058       <item>ST_GeometryN</item>
1059       <item>ST_GeometryType</item>
1060       <item>ST_HasArc</item>
1061       <item>ST_HausdorffDistance</item>
1062       <item>ST_Hexagon</item>
1063       <item>ST_HexagonGrid</item>
1064       <item>ST_InteriorRingN</item>
1065       <item>ST_InterpolatePoint</item>
1066       <item>ST_Intersection</item>
1067       <item>ST_IsClosed</item>
1068       <item>ST_IsCollection</item>
1069       <item>ST_IsEmpty</item>
1070       <item>ST_IsPlanar</item>
1071       <item>ST_IsPolygonCCW</item>
1072       <item>ST_IsPolygonCW</item>
1073       <item>ST_IsRing</item>
1074       <item>ST_IsSimple</item>
1075       <item>ST_IsSolid</item>
1076       <item>ST_IsValid</item>
1077       <item>ST_IsValidDetail</item>
1078       <item>ST_IsValidReason</item>
1079       <item>ST_IsValidTrajectory</item>
1080       <item>ST_Length</item>
1081       <item>ST_Length2D</item>
1082       <item>ST_LengthSpheroid</item>
1083       <item>ST_Letters</item>
1084       <item>ST_LineFromMultiPoint</item>
1085       <item>ST_LineInterpolatePoint</item>
1086       <item>ST_LineInterpolatePoints</item>
1087       <item>ST_LineLocatePoint</item>
1088       <item>ST_LineMerge</item>
1089       <item>ST_LineSubstring</item>
1090       <item>ST_LineToCurve</item>
1091       <item>ST_LocateAlong</item>
1092       <item>ST_LocateBetween</item>
1093       <item>ST_LocateBetweenElevations</item>
1094       <item>ST_LongestLine</item>
1095       <item>ST_M</item>
1096       <item>ST_MakeBox2D</item>
1097       <item>ST_MakeEnvelope</item>
1098       <item>ST_MakeLine</item>
1099       <item>ST_MakePoint</item>
1100       <item>ST_MakePointM</item>
1101       <item>ST_MakePolygon</item>
1102       <item>ST_MakeSolid</item>
1103       <item>ST_MakeValid</item>
1104       <item>ST_MaxDistance</item>
1105       <item>ST_MaximumInscribedCircle</item>
1106       <item>ST_MemSize</item>
1107       <item>ST_MemUnion</item>
1108       <item>ST_MinimumBoundingCircle</item>
1109       <item>ST_MinimumBoundingRadius</item>
1110       <item>ST_MinimumClearance</item>
1111       <item>ST_MinimumClearanceLine</item>
1112       <item>ST_MinkowskiSum</item>
1113       <item>ST_Multi</item>
1114       <item>ST_NDims</item>
1115       <item>ST_NPoints</item>
1116       <item>ST_NRings</item>
1117       <item>ST_Node</item>
1118       <item>ST_Normalize</item>
1119       <item>ST_NumGeometries</item>
1120       <item>ST_NumInteriorRing</item>
1121       <item>ST_NumInteriorRings</item>
1122       <item>ST_NumPatches</item>
1123       <item>ST_NumPoints</item>
1124       <item>ST_OffsetCurve</item>
1125       <item>ST_OptimalAlphaShape</item>
1126       <item>ST_Orientation</item>
1127       <item>ST_OrientedEnvelope</item>
1128       <item>ST_PatchN</item>
1129       <item>ST_Perimeter</item>
1130       <item>ST_Perimeter2D</item>
1131       <item>ST_Point</item>
1132       <item>ST_PointM</item>
1133       <item>ST_PointN</item>
1134       <item>ST_PointOnSurface</item>
1135       <item>ST_PointZ</item>
1136       <item>ST_PointZM</item>
1137       <item>ST_Points</item>
1138       <item>ST_Polygon</item>
1139       <item>ST_Polygonize</item>
1140       <item>ST_Project</item>
1141       <item>ST_QuantizeCoordinates</item>
1142       <item>ST_ReducePrecision</item>
1143       <item>ST_RemovePoint</item>
1144       <item>ST_RemoveRepeatedPoints</item>
1145       <item>ST_Reverse</item>
1146       <item>ST_Rotate</item>
1147       <item>ST_RotateX</item>
1148       <item>ST_RotateY</item>
1149       <item>ST_RotateZ</item>
1150       <item>ST_SRID</item>
1151       <item>ST_Scale</item>
1152       <item>ST_Scroll</item>
1153       <item>ST_Segmentize</item>
1154       <item>ST_SetEffectiveArea</item>
1155       <item>ST_SetPoint</item>
1156       <item>ST_SetSRID</item>
1157       <item>ST_SharedPaths</item>
1158       <item>ST_ShiftLongitude</item>
1159       <item>ST_ShortestLine</item>
1160       <item>ST_Simplify</item>
1161       <item>ST_SimplifyPolygonHull</item>
1162       <item>ST_SimplifyPreserveTopology</item>
1163       <item>ST_SimplifyVW</item>
1164       <item>ST_Snap</item>
1165       <item>ST_SnapToGrid</item>
1166       <item>ST_Split</item>
1167       <item>ST_Square</item>
1168       <item>ST_SquareGrid</item>
1169       <item>ST_StartPoint</item>
1170       <item>ST_StraightSkeleton</item>
1171       <item>ST_Subdivide</item>
1172       <item>ST_Summary</item>
1173       <item>ST_SwapOrdinates</item>
1174       <item>ST_SymDifference</item>
1175       <item>ST_Tesselate</item>
1176       <item>ST_TileEnvelope</item>
1177       <item>ST_TransScale</item>
1178       <item>ST_Transform</item>
1179       <item>ST_Translate</item>
1180       <item>ST_TriangulatePolygon</item>
1181       <item>ST_UnaryUnion</item>
1182       <item>ST_Union</item>
1183       <item>ST_Volume</item>
1184       <item>ST_VoronoiLines</item>
1185       <item>ST_VoronoiPolygons</item>
1186       <item>ST_WrapX</item>
1187       <item>ST_X</item>
1188       <item>ST_XMax</item>
1189       <item>ST_XMin</item>
1190       <item>ST_Y</item>
1191       <item>ST_YMax</item>
1192       <item>ST_YMin</item>
1193       <item>ST_Z</item>
1194       <item>ST_ZMax</item>
1195       <item>ST_ZMin</item>
1196       <item>ST_Zmflag</item>
1197       <!--<item>postgis.backend</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
1198       <!--<item>postgis.enable_outdb_rasters</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
1199       <!--<item>postgis.gdal_datapath</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
1200       <!--<item>postgis.gdal_enabled_drivers</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
1201       <!--<item>postgis.gdal_config_options</item>--><!-- Commenting out because inner dot is incompatible with the keyword delimiters. -->
1202       <item>postgis_sfcgal_full_version</item>
1203       <item>postgis_sfcgal_version</item>
1204 
1205       <!-- Further functions from https://postgis.net/docs/PostGIS_Special_Functions_Index.html -->
1206       <item>ST_DWithin</item>
1207     </list>
1208     <list name="types">
1209       <!-- https://www.postgresql.org/docs/current/static/datatype.html#DATATYPE-TABLE -->
1210       <item>BIGINT</item>
1211       <item>BIGSERIAL</item>
1212       <item>BIT</item>
1213       <item>BOOL</item>
1214       <item>BOOLEAN</item>
1215       <item>BOX</item>
1216       <item>BYTEA</item>
1217       <item>CHAR</item>
1218       <item>CHARACTER</item>
1219       <item>CIDR</item>
1220       <item>CIRCLE</item>
1221       <item>DATE</item>
1222       <item>DECIMAL</item>
1223       <item>DOUBLE</item>
1224       <item>FLOAT4</item>
1225       <item>FLOAT8</item>
1226       <item>INET</item>
1227       <item>INT</item>
1228       <item>INT2</item>
1229       <item>INT4</item>
1230       <item>INT8</item>
1231       <item>INTEGER</item>
1232       <item>INTERVAL</item>
1233       <item>JSON</item>
1234       <item>JSONB</item>
1235       <item>LINE</item>
1236       <item>LSEG</item>
1237       <item>MACADDR</item>
1238       <item>MACADDR8</item>
1239       <item>MONEY</item>
1240       <item>NUMERIC</item>
1241       <item>PATH</item>
1242       <item>PG_LSN</item>
1243       <item>POINT</item>
1244       <item>POLYGON</item>
1245       <item>REAL</item>
1246       <item>SERIAL</item>
1247       <item>SERIAL2</item>
1248       <item>SERIAL4</item>
1249       <item>SERIAL8</item>
1250       <item>SMALLINT</item>
1251       <item>SMALLSERIAL</item>
1252       <item>TEXT</item>
1253       <item>TIME</item>
1254       <item>TIMESTAMP</item>
1255       <item>TIMESTAMPTZ</item>
1256       <item>TIMETZ</item>
1257       <item>TSQUERY</item>
1258       <item>TSVECTOR</item>
1259       <item>TXID_SNAPSHOT</item>
1260       <item>UUID</item>
1261       <item>VARBIT</item>
1262       <item>VARCHAR</item>
1263       <item>XML</item>
1264     </list>
1265     <contexts>
1266       <context name="Normal" attribute="Normal Text" lineEndContext="#stay">
1267 
1268         <!-- comments before operators -->
1269         <Detect2Chars attribute="Comment" context="SingleLineComment" char="-" char1="-"/>
1270         <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
1271         <WordDetect attribute="Comment" context="SingleLineComment" String="rem" insensitive="true" column="0"/>
1272 
1273         <!-- HACK: don't jump into DollarQuotedString for CREATE FUNCTION $funcName$...$funcName$ -->
1274         <RegExpr String="create\s+(or\s+replace\s+)?function" insensitive="true" context="CreateFunction" attribute="Keyword"/>
1275 
1276         <RegExpr String="do\s+\$([^\$\n\r]*)\$" insensitive="true" context="FunctionBody" attribute="Keyword"/>
1277         <LineContinue attribute="Symbol" context="#stay" char="/" column="0"/>
1278         <keyword attribute="Keyword" context="#stay" String="keywords"/>
1279         <keyword attribute="Operator Keyword" context="#stay" String="operators"/>
1280         <keyword attribute="ControlFlow" context="#stay" String="controlFlow"/>
1281         <keyword attribute="Data Type" context="#stay" String="types"/>
1282         <RegExpr attribute="Data Type" context="#stay" String="%(bulk_(exceptions|rowcount)|(not)?found|isopen|rowcount|(row)?type)\b" insensitive="true"/>
1283         <!-- Highlight the names of functions when they are followed by a “(” character.
1284         NOTE Some names are both, function names and data type names. Currently:
1285         BOX|CIRCLE|LSEG|PATH|POINT|POLYGON|TEXT|TIMESTAMPTZ Those are always
1286         catched by the above rule as data types. Highlighting them differently when
1287         used as function would be tricky… -->
1288         <RegExpr context="HighlightFunction" String="(?&lt;=\b)&functionName;(?=[\t ]*\()" lookAhead="true" insensitive="true"/>
1289         <Float attribute="Float" context="#stay"/>
1290         <Int attribute="Decimal" context="#stay"/>
1291         <DetectChar attribute="Verbatim string" context="SingleQuotedString" char="'"/>
1292         <Detect2Chars attribute="String delimiter" context="EscapeString" char='e' char1="'"/>
1293         <Detect2Chars attribute="String delimiter" context="EscapeString" char='E' char1="'"/>
1294         <!-- Supports Unicode Escape String with user-defined escape character. Example:
1295              u&'y+000065' UESCAPE  'y'
1296              The user-defined escape character is available to dynamic rules as capture-group 1.
1297              NOTE As KSyntaxHighlighing is line-based, this highlighting rule works only if all the
1298              above code is within the same line (though Postgre allows it to be on different lines). -->
1299         <RegExpr attribute="String delimiter" context="UnicodeEscapeStringModified" String="U&amp;'(?=(?:[^']|'')*'[ \t]*UESCAPE[ \t]*'([^0-9a-fA-F+'&quot; \t])')" insensitive="true"/>
1300         <StringDetect attribute="String delimiter" context="UnicodeEscapeString" String="U&amp;'" insensitive="true"/>
1301         <DetectChar attribute="Identifier" context="Identifier" char="&quot;"/>
1302         <!-- Supports Unicode Escape Identifiers with user-defined escape character. Example:
1303              u&"y+000065" UESCAPE  'y'
1304              The user-defined escape character is available to dynamic rules as capture-group 1.
1305              NOTE As KSyntaxHighlighing is line-based, this highlighting rule works only if all the
1306              above code is within the same line (though Postgre allows it to be on different lines). -->
1307         <RegExpr attribute="Identifier" context="UnicodeEscapeIdentifierModified" String="U&amp;&quot;(?=(?:[^&quot;]|&quot;&quot;)*&quot;[ \t]*UESCAPE[ \t]*'([^0-9a-fA-F+'&quot; \t])')" insensitive="true"/>
1308         <StringDetect attribute="Identifier" context="UnicodeEscapeIdentifier" String="U&amp;&quot;" insensitive="true"/>
1309         <Detect2Chars attribute="Operator" context="#stay" char=":" char1="="/>
1310         <AnyChar attribute="Symbol" context="#stay" String=":&amp;"/>
1311         <Detect2Chars attribute="Operator" context="#stay" char="." char1="."/>
1312         <!-- geometric operators -->
1313         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="#"/>
1314         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="-"/>
1315         <Detect2Chars attribute="Operator" context="#stay" char="?" char1="|"/>
1316         <RegExpr attribute="Preprocessor" context="Preprocessor" String="^@@?[^@ \t\r\n]" column="0"/>
1317         <RegExpr attribute="Operator" context="DollarQuotedString" String="\$([^\$\n\r]*)\$"/>
1318         <AnyChar attribute="Operator" context="#stay" String="+-*/=%^!&lt;&gt;&amp;|@~#"/>
1319       </context>
1320       <context attribute="Normal Text" name="HighlightFunction" fallthrough="true" fallthroughContext="#pop" lineEndContext="#pop">
1321         <!-- Helper context that expects to see a function on its very beginning.
1322         If it’s a PostgreSQL or PostGIS function, it is highlighted accordingly.
1323         If not, by a catch-all, it gets the "Normal Text" attribute. After that,
1324         it pops back to the previous context. -->
1325         <keyword attribute="PostgreSQL function" context="#pop" String="functions"/>
1326         <keyword attribute="PostGIS function" context="#pop" String="postgisFunctions"/>
1327         <!-- Highlight user-defined functions like "Normal Text". It is not
1328         possible to have an own style for this, because the syntax is
1329         difficult and we could catch here strings that are not actual
1330         user-defined functions. "Normal Text" is a safe alternative. Using
1331         &functionName; which is the same regular expression that is used
1332         by the rule that calls this context: -->
1333         <RegExpr attribute="Normal Text" context="#pop" String="&functionName;" insensitive="true"/>
1334       </context>
1335       <context name="CreateFunction" attribute="Normal Text" lineEndContext="#stay">
1336         <RegExpr attribute="Function" context="FunctionBody" String="\$([^\$\n\r]*)\$"/>
1337         <IncludeRules context="Normal"/>
1338       </context>
1339       <context name="FunctionBody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
1340         <StringDetect attribute="Function" context="#pop#pop" String="$%1$" dynamic="true"/>
1341         <IncludeRules context="Normal"/>
1342       </context>
1343       <context name="SingleQuotedString" attribute="Verbatim string" lineEndContext="#stay">
1344         <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
1345         <DetectChar attribute="String delimiter" context="#pop" char="'"/>
1346       </context>
1347       <context name="DollarQuotedString" attribute="Verbatim string" lineEndContext="#stay" dynamic="true">
1348         <StringDetect attribute="Operator" context="#pop" String="$%1$" dynamic="true"/>
1349       </context>
1350       <context name="EscapeString" attribute="String" lineEndContext="#stay">
1351         <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
1352         <!-- Default C style escapes: \n \101 \x41 … : -->
1353         <HlCStringChar attribute="Escape sequence" context="#stay"/>
1354         <!-- \u escapes: -->
1355         <RegExpr attribute="Escape sequence" context="#stay" String="\\u&hexDigit;{4}"/>
1356         <!-- Incomplete \u escape sequences are errors: -->
1357         <Detect2Chars attribute="Error" context="#stay" char="\" char1="u"/>
1358         <!-- \U escapes: -->
1359         <RegExpr attribute="Escape sequence" context="#stay" String="\\U&hexDigit;{8}"/>
1360         <!-- Incomplete \U escape sequences are errors: -->
1361         <Detect2Chars attribute="Error" context="#stay" char="\" char1="U"/>
1362         <!-- All other escape sequences are interpreted as escape of the concerned character: \y → y -->
1363         <RegExpr attribute="Escape sequence" context="#stay" String="\\."/>
1364         <!-- Even an escape sequence with the line break (means: backslash as last character of a line) is possible: -->
1365         <LineContinue attribute="Escape sequence" context="#stay" char="\"/>
1366         <!-- end of the string -->
1367         <DetectChar attribute="String delimiter" context="#pop" char="'"/>
1368       </context>
1369       <context attribute="Normal Text" name="IncludeUnicodeEscapeSequences" lineEndContext="#pop">
1370         <!-- four-digit/six-digit escapes: -->
1371         <RegExpr attribute="Escape sequence" context="#stay" String="(\\&hexDigit;{4})|(\\\+&hexDigit;{6})"/>
1372         <!-- \\ is a valid escape for the backslash: -->
1373         <Detect2Chars attribute="Escape sequence" context="#stay" char="\" char1="\"/>
1374         <!-- All other occurences of \ are errors: -->
1375         <DetectChar attribute="Error" context="#stay" char="\"/>
1376       </context>
1377       <context attribute="Normal Text" name="IncludeUnicodeEscapeSequencesModified" lineEndContext="#pop">
1378         <!-- Context meant to be included in other contexts, not to be used on its own.
1379              Containt dynamic rules. Expects that the escape character is available
1380              at capture group #1.
1381              NOTE The capture group expands literally for the StringDetect and DetectChar
1382              rules. For the RegExpr rule, special characters (and only special characters)
1383              seem to become escaped automatically: The capture “.” is available as “\.”
1384              while the capture “t” is available as “t” (and not as “\t” which would mean a
1385              tabulator character). So this works fine out-of-the-box even for special
1386              characters.-->
1387         <!-- four-digit/six-digit escapes: -->
1388         <RegExpr attribute="Escape sequence" context="#stay" String="(%1&hexDigit;{4})|(%1\+&hexDigit;{6})" dynamic="true"/>
1389         <!-- The escape character can escape himself: -->
1390         <StringDetect attribute="Escape sequence" context="#stay" String="%1%1" dynamic="true"/>
1391         <!-- All other occurences of \ are errors: -->
1392         <DetectChar attribute="Error" context="#stay" char="1" dynamic="true"/>
1393       </context>
1394       <context name="UnicodeEscapeString" attribute="String" lineEndContext="#stay">
1395         <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
1396         <IncludeRules context="IncludeUnicodeEscapeSequences" />
1397         <!-- end of the string -->
1398         <DetectChar attribute="String delimiter" context="#pop" char="'"/>
1399       </context>
1400       <context name="UnicodeEscapeStringModified" attribute="String" lineEndContext="#stay">
1401         <Detect2Chars attribute="Escape sequence" context="#stay" char="'" char1="'"/>
1402         <IncludeRules context="IncludeUnicodeEscapeSequencesModified" />
1403         <!-- end of the string -->
1404         <DetectChar attribute="String delimiter" context="#pop" char="'"/>
1405       </context>
1406       <context name="SingleLineComment" attribute="Comment" lineEndContext="#pop">
1407         <DetectSpaces />
1408         <IncludeRules context="##Comments"/>
1409       </context>
1410       <context name="MultiLineComment" attribute="Comment" lineEndContext="#stay">
1411         <LineContinue attribute="Comment" context="#pop"/>
1412         <DetectSpaces />
1413         <Detect2Chars attribute="Comment" context="#pop" char="*" char1="/" endRegion="Comment"/>
1414         <Detect2Chars attribute="Comment" context="MultiLineComment" char="/" char1="*" beginRegion="Comment"/>
1415         <IncludeRules context="##Comments"/>
1416       </context>
1417       <context name="Identifier" attribute="Identifier" lineEndContext="#stay">
1418         <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
1419         <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
1420       </context>
1421       <context name="UnicodeEscapeIdentifier" attribute="Identifier" lineEndContext="#stay">
1422         <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
1423         <IncludeRules context="IncludeUnicodeEscapeSequences" />
1424         <!-- end of the string -->
1425         <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
1426       </context>
1427       <context name="UnicodeEscapeIdentifierModified" attribute="Identifier" lineEndContext="#stay">
1428         <Detect2Chars attribute="Escape sequence" context="#stay" char="&quot;" char1="&quot;"/>
1429         <IncludeRules context="IncludeUnicodeEscapeSequencesModified" />
1430         <!-- end of the string -->
1431         <DetectChar attribute="Identifier" context="#pop" char="&quot;"/>
1432       </context>
1433       <context name="Preprocessor" attribute="Preprocessor" lineEndContext="#pop"/>
1434     </contexts>
1435     <itemDatas>
1436       <itemData name="Normal Text"         defStyleNum="dsNormal"      spellChecking="false"/>
1437       <itemData name="Keyword"             defStyleNum="dsKeyword"     spellChecking="false"/>
1438       <itemData name="ControlFlow"         defStyleNum="dsControlFlow" spellChecking="false"/>
1439       <itemData name="Operator"            defStyleNum="dsOperator"    spellChecking="false"/>
1440       <itemData name="Operator Keyword"    defStyleNum="dsKeyword"     spellChecking="false"/>
1441       <itemData name="Function"            defStyleNum="dsFunction"    spellChecking="false"/>
1442       <itemData name="PostgreSQL function" defStyleNum="dsFunction"    spellChecking="false"/>
1443       <itemData name="PostGIS function"    defStyleNum="dsExtension"   spellChecking="false"/>
1444       <itemData name="Data Type"           defStyleNum="dsDataType"    spellChecking="false"/>
1445       <itemData name="Decimal"             defStyleNum="dsDecVal"      spellChecking="false"/>
1446       <itemData name="Float"               defStyleNum="dsFloat"       spellChecking="false"/>
1447       <itemData name="String"              defStyleNum="dsString"/>
1448       <!-- The only purpose of "String delimiter" is correct spell checking. If we would use
1449            "String" also for the delimiters, code like E'test' would generate spell checking
1450            errors because the E is considered part of the word that will be checked. -->
1451       <itemData name="String delimiter"    defStyleNum="dsString"      spellChecking="false"/>
1452       <itemData name="Verbatim string"     defStyleNum="dsVerbatimString"/>
1453       <itemData name="Escape sequence"     defStyleNum="dsChar"        spellChecking="false"/>
1454       <itemData name="Comment"             defStyleNum="dsComment"/>
1455       <itemData name="Identifier"          defStyleNum="dsOthers"      spellChecking="false"/>
1456       <itemData name="Symbol"              defStyleNum="dsChar"        spellChecking="false"/>
1457       <itemData name="Preprocessor"        defStyleNum="dsOthers"      spellChecking="false"/>
1458       <itemData name="Error"               defStyleNum="dsError"       spellChecking="false"/>
1459     </itemDatas>
1460   </highlighting>
1461   <general>
1462     <comments>
1463       <comment name="singleLine" start="--" position="afterwhitespace"/>
1464       <comment name="multiLine" start="/*" end="*/" region="Comment"/>
1465     </comments>
1466     <keywords casesensitive="0"/>
1467   </general>
1468 </language>
1469 <!-- kate: replace-tabs on; tab-width 2; indent-width 2; -->