配置文件可能包括 PASSWORD_VERIFY_FUNCTION 子句,引用指定PolarDB PostgreSQL版(兼容Oracle)强制实施行为的用户定义函数。配置文件是全局对象;它们由集群中的所有数据库共享。虽然配置文件是全局对象,但用户定义的函数是数据库对象。

调用带 –g 或 –r 选项的 pg_dumpall 将创建一个脚本,该脚本重新创建任何现有配置文件的定义,但不会重新创建 PASSWORD_VERIFY_FUNCTION 子句引用的用户定义函数。应使用 pg_dump 实用工具显式转储(并在稍后恢复)这些函数所在的数据库。

pg_dump 创建的脚本将包含包括子句和函数名称的命令:

ALTER PROFILE… LIMIT PASSWORD_VERIFY_FUNCTION function_name

将恢复的函数与之前关联的配置文件相关联。

如果 PASSWORD_VERIFY_FUNCTION 子句设置为 DEFAULT 或 NULL,则行为将通过 pg_dumpall–g 或 pg_dumpall –r 命令生成的脚本进行复制。