

# orafce 拡張機能の関数の使用
<a name="Appendix.PostgreSQL.CommonDBATasks.orafce"></a>

orafce 拡張機能は、Oracle データベースから関数とパッケージのサブセットをエミュレートする関数と演算子を提供します。Oracle 拡張機能を使用すると、Oracle アプリケーションを PostgreSQL に簡単に移植できます。この拡張機能は、RDS for PostgreSQL バージョン 9.6.6 以降でサポートされています。orafce についての詳細は、GitHub で「[orafce](https://github.com/orafce/orafce)」を参照してください。

**注記**  
RDS for PostgreSQL では、orafce 拡張機能の一部である `utl_file` パッケージがサポートされていません。これは、`utl_file` スキーマ関数が、基になるモストへのスーパーユーザーアクセスに必要なオペレーティングシステムテキストファイルで読み書き操作を実行するためです。マネージド型サービスの RDS for PostgreSQL では、ホストアクセスが許可されません。

**orafce エクステンションを使用するには**

1. DB インスタンスの作成で使用したプライマリユーザー名を使用して DB インスタンスに接続します。

   同じ DB インスタンスにある別のデータベースで orafce をオンにする場合は、`/c dbname` psql コマンドを使用します。このコマンドを使用すると、接続を開始した後にプライマリデータベースから変更できます。

1. `CREATE EXTENSION` ステートメントを使用して、orafce 拡張機能をオンにします。

   ```
   CREATE EXTENSION orafce;
   ```

1. `ALTER SCHEMA` ステートメントを使用して、oracle スキーマの所有権を rds\$1superuser ロールに転送します。

   ```
   ALTER SCHEMA oracle OWNER TO rds_superuser;
   ```

   oracle スキーマの所有者のリストを表示する場合は、`\dn` psql コマンドを使用します。