ページの先頭行へ戻る
Enterprise Postgres 17 リリース情報

2.10.1 監査ログにおけるSQL文のステートメント出力の改善

非互換

Fujitsu Enterprise Postgres 17では、SQL文のステートメント出力が以下のように改善されました。

  1. 複数SQL文を一括で依頼された場合の、監査ログにはSQL文単位にステートメントが出力されるように改善されました。

    [例]

    入力:EXECUTE E'\t\n\r CREATE TABLE ' || table_name || E' (""weird name"" INT)\t\n\r ; DROP table ' || table_name;

    Fujitsu Enterprise Postgres 16 SP1以前の場合

    改行文字等の不要な文字や一括で指定された複数の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>
    
    Fujitsu Enterprise Postgres 17の場合

    改行文字等の不要な文字は削除され、監査対象の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>
    
  2. 監査ログに出力されるSQL文単位のステートメントで、文末の";"が出力されないようになりました。

    Fujitsu Enterprise Postgres 16 SP1以前の場合

    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>
    
    Fujitsu Enterprise Postgres 17の場合

    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>
    

対処方法

ありません。