新機能¶
このリリースのEDBPostgres移行ポータルには、次の機能強化が追加されています。
選択したスキーマのオブジェクトが移行に失敗した理由は、ワークスペースページの
Common Failuresタブで確認できます。
プロジェクトの一般的な失敗のCSVファイルをダウンロードできます。
プロジェクトまたはスキーマの互換性が70%未満の場合、または複数回試行してもDDLが成功しない場合は、警告メッセージが表示されます。オンラインリンクから、移行の支援のために、`<migration-services@enterprisedb.com>`__のEDBエキスパートにすばやくアクセスできます。
`FAQページ<https://www.enterprisedb.com/migration-portal-faqs>`_は、最新のよくある質問で定期的に更新されます。
ユーザーエクスペリエンスを向上させるために、新しいUI以下に変更が加えられました。
修復ハンドラ
新しい修復ハンドラ
AdvanceServerの互換性比を改善するために、次の修復ハンドラーが追加されました。
ERH1011-ブロックコメントターミネーター:
プロシージャ、関数、パッケージ、パッケージボディ、トリガー、ビュー、およびタイプボディ内の未終了のブロックコメントにブロックコメントターミネータ
*/を追加します。例:
CREATE OR REPLACE FUNCTION example_unterminated ( input_str IN VARCHAR2 ) /*************************************************************************** Function : example_unterminated Author : EnterpriseDB Description : Returns substring /*************************************************************************** Change Date : sysdate Changes : new changes /***************************************************************************/ RETURN VARCHAR2 AS var1 VARCHAR2(50); BEGIN RETURN( SUBSTR(input_str) ) ; END example_unterminated;以下に変更;
CREATE OR REPLACE FUNCTION example_unterminated ( input_str IN VARCHAR2 ) /************************************************************************** Function : example_unterminated Author : EnterpriseDB Description : Returns substring */ /************************************************************************** Change Date : sysdate Changes : new changes */ /**************************************************************************/ RETURN VARCHAR2 AS var1 VARCHAR2(50); BEGIN RETURN( SUBSTR(input_str) ) ; END example_unterminated;
修復ハンドラーを更新
次の修復ハンドラーが更新されました。
ERH2055-インデックス句の使用はサポートされていません
パーティションテーブルのDDLステートメントからUSINGINDEXLOCAL/GLOBAL句を削除します。
例:例1:
CREATE TABLE tab( ID INT, OPEN_STATUS INT, CLOSED_DATE DATE, CONSTRAINT tab_pk PRIMARY KEY (ID, OPEN_STATUS, CLOSED_DATE) USING INDEX LOCAL (PARTITION CLOSED, PARTITION OPEN ) ENABLE ) PARTITION BY RANGE (OPEN_STATUS,CLOSED_DATE) (PARTITION CLOSED VALUES LESS THAN (0, MAXVALUE), PARTITION OPEN VALUES LESS THAN (1, MAXVALUE) );
以下に変更;
CREATE TABLE tab( ID INT, OPEN_STATUS INT, CLOSED_DATE DATE, CONSTRAINT tab_pk PRIMARY KEY (ID, OPEN_STATUS, CLOSED_DATE) ) PARTITION BY RANGE (OPEN_STATUS,CLOSED_DATE) (PARTITION CLOSED VALUES LESS THAN (0, MAXVALUE), PARTITION OPEN VALUES LESS THAN (1, MAXVALUE) );例2:
CREATE TABLE tab2( ID NUMBER(19,0) NOT NULL ENABLE, P_DATE DATE, CONSTRAINT tab2_pk PRIMARY KEY (ID) USING INDEX GLOBAL PARTITION BY HASH (ID) (PARTITION SYS_P255 , PARTITION SYS_P256 ) ) PARTITION BY RANGE (P_DATE) INTERVAL (NUMTODSINTERVAL(7,''DAY'')) (PARTITION P_FIRST VALUES LESS THAN (TO_DATE(''2017-01-04 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) ) ;以下に変更;
CREATE TABLE tab2( ID NUMBER(19,0) NOT NULL ENABLE, P_DATE DATE, CONSTRAINT tab2_pk PRIMARY KEY (ID) ) PARTITION BY RANGE (P_DATE) INTERVAL (NUMTODSINTERVAL(7,''DAY'')) (PARTITION P_FIRST VALUES LESS THAN (TO_DATE(''2017-01-04 00:00:00'', ''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) )
ナレッジベース
新しいナレッジベースのエントリ
次の新しいナレッジベースエントリが追加されました。回避策の詳細については、移行ポータルのナレッジベースセクションを参照してください。
剰余関数:
In Oracle, the
REMAINDERfunction behaves differently than theMODfunction. However, Advanced Server does not support theREMAINDERfunction.BFILENAME関数:
In Oracle, the
BFILENAMEfunction returns theBFILElocator object from a specified directory and filename. This function is used to access the data within theBFILE.中央値関数:
Oracleは、式の値の中央値を計算する
MEDIAN関数をサポートしています。AdvancedServerバージョン12は、MEDIAN機能をサポートしています。ただし、AdvancedServerの以前のバージョンはこの機能をサポートしていません。SOUNDEX関数:
Oracle supports the
SOUNDEXfunction to return a string that contains the phonetic representation of a string. In Advanced server, theSOUNDEXfunction can be used after creating a fuzzystrmatch extension.DBMS_UTILITYパッケージ:
Oracle uses the COMPILE_SCHEMA procedure in the
DBMS_UTILITYpackage to compile all procedures, functions, packages, and triggers in the specified schema. However, theCOMPILE_SCHEMAprocedure does not exist in the EDB Advanced ServerDBMS_UTILITYpackage. Hence while deploying the migrated schema on EDB Advanced Server, a runtime error occurs.DBMS_DDL.WRAPおよびCREATE_WRAPPED関数:
In Oracle,
DBMS_DDL.WRAPorDBMS_DDL.CREATE_WRAPPEDfunction is used to obfuscate code. However, in Advanced Server,EDBWRAPfunction is used for obfuscation. Before migrating schema, you must unwrap thePL/SQLobject from Oracle and then wrap thePL/SQLobject in Advanced Server usingEDBWRAPutility.OracleTZ_OFFSET関数:
Oracleでは、指定した値に対応するタイムゾーンオフセットを取得するために
TZ_OFFSET()が使用されます。ただし、AdvancedServerでは、AdvancedServerカタログpg_timezone_namesに関数を記述したり、直接pg_timesone_namesをクエリしてタイムゾーンオフセットを取得したりできます。
ナレッジベースのエントリを更新
次のナレッジベースエントリが更新されました。
ステートメントをマージ:
Oracleでは、テーブルを条件付きで挿入または更新するために
MERGEステートメントが使用されます。AdvancedServerでは、ON CONFLICT DO UPDATEまたはUPSERTステートメントを使用できます。


