A profile may include the PASSWORD_VERIFY_FUNCTION clause that references a user-defined function. This function specifies the behavior enforced by PolarDB-O. Profiles are global objects. These objects are shared by all databases within a cluster. Different from profiles, user-defined functions are database objects.

By invoking pg_dumpall with the -g or -r option, you can create a script that recreates the definition of any existing profiles. However, the script does not recreate the user-defined functions that are referenced by the PASSWORD_VERIFY_FUNCTION clause. You must use the pg_dump utility to explicitly dump the database where those functions are located and then restore the database.

The script created by pg_dump contains the following statement that includes the clause and function name:

ALTER PROFILE... LIMIT PASSWORD_VERIFY_FUNCTION function_name

This statement helps to associate the restored function with the profile with which the function was previously associated.

If the PASSWORD_VERIFY_FUNCTION clause is set to DEFAULT or NULL, the behavior is replicated by the script generated bythe pg_dumpall -g or pg_dumpall -r statement.