<?xml version='1.0' encoding='UTF-8'?>
<!--
  ~ Copyright (c) DbVis Software AB. All Rights Reserved.
  -->
<sql:Dialect tag="PostgreSQL" xmlns:sql="http://dbvis.com/sql-dialect.xsd" references="
   https://www.postgresql.org/docs/current/sql-createprocedure.html
   https://www.postgresql.org/docs/current/sql-createfunction.html
   https://www.postgresql.org/docs/current/sql-createtrigger.html
   https://www.postgresql.org/docs/current/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING
   ">
   <sql:Text begin="$" end="$" dynamic="true" comment="Dollar-quoted String Constants" />
   <sql:ComplexStatement begin="CREATE [ OR REPLACE ] {FUNCTION|PROCEDURE}" end="" end.override="false" comment="Functions and procedures are essentially the same from a syntax perspective" />
<!--   <sql:ComplexStatement begin="CREATE [ EVENT | CONSTRAINT ] TRIGGER" end="" end.override="false" comment="Redundant; triggers don't include any inner delimiters"/>-->
</sql:Dialect>