

# 使用 orafce 扩展中的函数
<a name="Appendix.PostgreSQL.CommonDBATasks.orafce"></a>

orafce 扩展提供了模拟 Oracle 数据库中的函数和软件包子集的函数和运算符。orafce 扩展使您能够更轻松地将 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. 使用用于创建数据库实例的主用户名连接到数据库实例。

   如果要为同一数据库实例中的不同数据库启用 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 命令。