Oracle UTL_FILE Postgres 中的异常替代方案

Oracle UTL_FILE exceptions alternatives in Postgres

我正在将 Oracle 存储过程迁移到 AWS Aurora Postgres,它具有 UTL_FILE 操作来读取和写入外部文件。在异常部分,我使用了所有这些异常类型。 UTL_FILE.invalid_pathUTL_FILE.invalid_operationUTL_FILE.invalid_modeUTL_FILE.read_errorUTL_FILE.write_errorWHEN OTHERS

是否可以在 Postgres 中处理所有这些异常,或者我应该进行 orafce 扩展?

据我所知,AWS Aurora Postgres 也使用 Orafce

https://aws.amazon.com/about-aws/whats-new/2020/06/amazon-aurora-supports-postgresql-versions-117-1012-and-9617-and-adds-global-database-for-postgresql-117/

Postgres 没有像 Oracle 那样的自定义命名异常,所以你必须稍微重写你的代码,你必须检查错误消息 - 例如 - Oracle 的 UTL_FILE.write_error 是 Postgres 的 RAISE 异常(命名为 raise_exception - P0001) with error message (available in SQLERRM variable or via GET STACKED DIAGNOSTICS) is "UTL_FILE_WRITE_ERROR".