如何在 pl/pgsql 中编写脚本而不是函数?

How to write script instead of function in pl/pgsql?

我知道如何在 pl/pgsql 中定义函数...但是(出于测试目的)我现在想将 pl/pgsql 编写为脚本。 (也就是说,代码不应包含在函数中。)这似乎不太可能。对于我知道正确的东西(在 pl/pgsql 函数内),我得到语法错误,例如:

declare v_test character varying;

即使是这个简单的单行脚本也会失败。

如何编写 pl/pgsql 脚本?

PostgreSQL 解析器不支持 PLpgSQL。 PLpgSQL 只能在函数(过程)或匿名块内解析(执行) - 语句 DO

DO $$
DECLARE x int DEFAULT 10;
BEGIN
  RAISE NOTICE '%', x;
END;
$$;

没有别的可能了。