新機能

AdvancedServer13を作成するために、EDBPostgresAdvancedServer12では次の機能が変更されました。

  • AdvancedServerは PARALLEL をサポートするようになりました|インデックスまたはテーブルの並列処理を有効または無効にする CREATE TABLE, ALTER TABLE, CREATE INDEX および ALTER INDEX コマンドの NOPARALLEL 節。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • AdvancedServerは、テーブルのインデックスを明示的に作成するために、 CREATE TABLE および ALTER TABLE コマンドで USING INDEX ... create_index_statement 句をサポートするようになりました。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • AdvancedServerには AUTOMATIC LIST PARTITIONING が導入されており、これにより、パーティションキーの値が既存のパーティションに対応していない場合に、データベースが新しいパーティションを自動的に作成できます。詳細については、データベース互換性テーブルパーティショニングガイド を参照してください。

  • AdvancedServerは、最も頻繁な入力値を返す値のセットを引数とする STATS_MODE 関数を追加しました。詳細については、『Oracle開発者リファレンスガイドのデータベース互換性』を参照してください。

  • AdvancedServerは、タイムゾーンなしのタイムスタンプを返す SYSDATE 機能を追加しました。詳細については、『Oracle開発者リファレンスガイドのデータベース互換性』を参照してください。

  • AdvancedServerは、 MEDIAN 機能に smallint, init, bigint および numeric バリアントを追加しました。詳細については、『Oracle開発者リファレンスガイドのデータベース互換性』を参照してください。

  • AdvancedServerは、 TO_NUMBER 機能に FM 形式のサポートを追加しました。詳細については、『Oracle開発者リファレンスガイドのデータベース互換性』を参照してください。

  • AdvancedServerは、ステートメントのログ記録をサポートし、一括実行中に処理された行数を記録するようになりました。詳細については、 レポートとログ/何をログに記録するか<reporting_and_logging_what_to_log>`の ``edb_log_every_bulk_value` を参照してください。

  • AdvancedServerは、 DBMS_OUTPUT パッケージで dbms_output.serveroutput を FALSE に設定することにより、Oracleスタイルの表示出力をサポートする新しいGUCを追加しました。詳細については、OracleDeveloper'sBuilt-inPackageGuide のデータベース互換性を参照してください。

  • EDB*Loaderは、重複レコードを BAD ファイルに移動するための HANDLE_CONFLICTS パラメーターをサポートするようになりました。詳細については、OracleDeveloper'sToolsandUtilitiesGuideのデータベース互換性 を参照してください。

  • AdvancedServerは、ディレクトリの所有者を変更するための ALTER DIRECTORY ...OWNER TO コマンドを追加しました。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • AdvancedServerは、トリガーの暗黙オブジェクトの所有者を変更する ALTER TRIGGER ...ON AUTHORIZATION コマンドを追加しました。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • EDB*Loaderは -c CONNECTION STRING または connstr=CONNECTION_STRING パラメーターをサポートするようになりました。これにより、libpqでサポートされるSSLパラメーターと接続パラメーターを指定できます。詳細については、OracleDeveloper'sToolsandUtilitiesGuideのデータベース互換性 を参照してください。

  • AdvancedServerには、タイムスタンプ形式の文字列を TIMESTAMPTZ データ型に変換する TO_TIMESTAMP_TZ 関数が追加されています。詳細については、『Oracle開発者リファレンスガイドのデータベース互換性』を参照してください。

  • AdvancedServerは、CSVとXMLの両方の監査ログでログの一貫性を保つための追加フィールドを追加しました。詳細については、EDBAuditLogging を参照してください。

  • AdvancedServerは、リモートステートメントのスキャンタイプを制御する新しいGUC edb_dblink_oci.rescan を追加しました。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • AdvancedServerは、応答本文にデータが存在しない場合に read_line, read_text および read_raw パッケージプロシージャからのエラーを処理するために、 UTL_HTTP パッケージに utl_http.end_of_body 例外のサポートを追加しました。詳細については、OracleDeveloper'sBuilt-inPackageGuide のデータベース互換性を参照してください。

  • AdvancedServerは、パッケージボディ内の関数またはプロシージャの forward declaration をサポートするようになりました。詳細については、OracleDeveloper'sSQLGuideのデータベース互換性 を参照してください。

  • AdvancedServerは、サブパーティションレベルで自動ハッシュパーティションを作成するための PARTITIONS, SUBPARTITIONS 番号と、自動生成されたパーティションまたはサブパーティションを格納するテーブルスペースを指定するための STORE IN 句を導入します。詳細については、データベース互換性テーブルパーティショニングガイド を参照してください。

  • AdvancedServerは、データ型の暗号化と復号化のために DBMS_CRYPTO パッケージに AES192 と AES256 のサポートを追加しました。詳細については、OracleDeveloper'sBuilt-inPackageGuide のデータベース互換性を参照してください。

  • AdvancedServerは、サーバーとの認証に成功すると pg_hba.conf エントリをサポートするようになりました。詳細については、 pg_hba.confファイルの変更 を参照してください。

  • AdvancedServerは、指定された条件が発生したときにトリガーを実行するために、 COMPOUND TRIGGER 内に WHEN 条件を実装しています。詳細については、『OracleDeveloperSQLガイドのデータベース互換性*』または『データベース互換性ストアドプロシージャ言語ガイド』を参照してください。

  • AdvancedServerは、 LONG 列の一部を定義して返すために、 DBMS_SQL パッケージに column_value_long 、 define_column_long 、および last_error_position のサポートを追加しました。詳細については、OracleDeveloper'sBuilt-inPackageGuide のデータベース互換性を参照してください。

制限事項

次の表は、PostgreSQLのさまざまなハード制限を示しています。ただし、絶対的なハード制限に達する前に、パフォーマンス制限や使用可能なディスク容量などの実際的な制限が適用される場合があります。

アイテム

上限

コメント

データベースサイズ

無制限

データベースの数

4,294,950,911

データベースごとの関係

1,431,650,303

関係サイズ

32TB

デフォルトのBLCKSZは8192バイトです

テーブルごとの行

4,294,967,295ページに収まるタプルの数によって制限されます

テーブルごとの列

1600

単一ページ上のタプルサイズのフィッティングによりさらに制限されます。以下の注を参照

フィールドサイズ

1GB

識別子の長さ

63バイト

PostgreSQLを再コンパイルすることで増やすことができます

テーブルごとのインデックス

無制限

データベースごとの最大リレーションによる制約

インデックスごとの列

32

PostgreSQLを再コンパイルすることで増やすことができます

パーティションキー

32

PostgreSQLを再コンパイルすることで増やすことができます

注釈

格納されるタプルは単一の8192バイトのヒープページに収まる必要があるため、テーブルの列の最大数はさらに削減されます。たとえば、タプルヘッダーを除外すると、1600の int 列で構成されるタプルは6400バイトを消費し、ヒープページに格納できますが、1600の bigint 列のタプルは12800バイトを消費するため、内部に収まりませんヒープページ。 text 、 varchar 、 char などのタイプの可変長フィールドは、値が必要な大きさの場合、テーブルの TOAST テーブルに値を行外に格納できます。テーブルのヒープ内のタプル内に残るのは18バイトのポインターのみです。短い可変長フィールドの場合、4バイトまたは1バイトのフィールドヘッダーが使用され、値はヒープタプル内に格納されます。

注釈

テーブルから削除された列も、最大列制限に寄与します。さらに、新しく作成されたタプルのドロップされた列の値は、タプルのnullビットマップでnullとして内部的にマークされますが、nullビットマップはスペースも占有します。