例子:比如在数据库必须是UTF-8编码时,才创建某个函数,则可以将函数包裹在code中。
DO $DO$
DECLARE coding varchar;
BEGIN
SELECT getdatabaseencoding() INTO coding;
IF coding = 'UTF8' THEN
EXECUTE 'CREATE OR REPLACE FUNCTION pg_catalog.lengthb(character) RETURNS integer AS $$
SELECT CASE octet_length($1)
WHEN 0 THEN NULL
ELSE octet_length($1) END;
$$ LANGUAGE SQL IMMUTABLE STRICT;
COMMENT ON FUNCTION pg_catalog.lengthb(character) IS ''Returns the length of the specified string, using bytes instead of characters'';';
END IF;
END$DO$;