非互換
Fujitsu Enterprise Postgres 17では、SQL文のステートメント出力が以下のように改善されました。
複数SQL文を一括で依頼された場合の、監査ログにはSQL文単位にステートメントが出力されるように改善されました。
入力:EXECUTE E'\t\n\r CREATE TABLE ' || table_name || E' (""weird name"" INT)\t\n\r ; DROP table ' || table_name;
改行文字等の不要な文字や一括で指定された複数のSQL文が各ログに出力されていました。
監査ログの出力: NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,2,CREATE TABLE,,TABLE,public.do_table,," ^M CREATE TABLE do_table (""weird name"" INT) ^M ; DROP table do_table" ,<none> NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,3,DROP TABLE,,TABLE,public.do_table,," ^M CREATE TABLE do_table (""weird name"" INT) ^M ; DROP table do_table" ,<none>
改行文字等の不要な文字は削除され、監査対象のSQL分だけがログに出力されるようになります。
監査ログ: NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,2,CREATE TABLE,,TABLE,public.do_table,, "CREATE TABLE do_table (""weird name"" INT)" ,<none> NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,3,DROP TABLE,,TABLE,public.do_table,, DROP table do_table ,<none>
監査ログに出力されるSQL文単位のステートメントで、文末の";"が出力されないようになりました。
SQL文の末尾には";"が出力されていました。
監査ログ: NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,2,CREATE TABLE,,TABLE,public.do_table,,"CREATE TABLE do_table (""weird name"" INT);",<none>
SQL文の末尾には";"が出力されなくなりました。
監査ログ: NOTICE: AUDIT: SESSION,DDL,,[local],,pg_regress/compound_statements,,foo,,1,2,CREATE TABLE,,TABLE,public.do_table,,"CREATE TABLE do_table (""weird name"" INT)",<none>
対処方法
ありません。