非互換
Fujitsu Enterprise Postgres 15では、Oracleデータベース互換機能において、スキーマpublicやpg_catalogに定義されていた全てのオブジェクトを、スキーマoracleに変更します。
スキーマを指定してオブジェクトにアクセスする場合に非互換が生じます。
以下に関数add_months, ビューdualの例を示します。
[例]
=# SELECT pg_catalog.add_months(date '2022-05-31',1); add_months ------------ 2022-06-30 (1 row) =# SELECT * FROM public.dual; dummy ------- X (1 row)
[例]
=# SELECT pg_catalog.add_months(date '2023-05-31',1); ERROR: function pg_catalog.add_months(date, integer) does not exist LINE 1: SELECT pg_catalog.add_months(date '2023-05-31',1); =# SELECT * FROM public.dual; ERROR: relation "public.dual" does not exist LINE 1: SELECT * FROM public.dual;
対処方法
スキーマを指定する場合には、oracleスキーマを指定してください。
[例]
=# SELECT oracle.add_months(date '2023-05-31',1); add_months ------------ 2023-06-30 (1 row) =# SELECT * FROM oracle.dual; dummy ------- X (1 row)