01P01 — deprecated_feature
01P01 — deprecated_feature
At a glance
PostgreSQL 18.6 emits 01P01 at WARNING severity when a password-setting operation produces or preserves an MD5 verifier. This is a deprecation notice attached to a command that can still proceed, not a generic failure code for every old feature.
| Field | Value |
|---|---|
| SQLSTATE | 01P01 |
| Condition | deprecated_feature |
| Status | active |
| Known present by | 8.0.0 |
| Locked snapshots | 9.0.23, 9.1.24, 9.2.24, 9.3.25, 9.4.26, 9.5.25, 9.6.24, 10.23, 11.22, 12.22, 13.23, 14.24, 15.19, 16.15, 17.11, 18.6, 19beta3 |
| Macros | ERRCODE_WARNING_DEPRECATED_FEATURE |
| Aliases | — |
Meaning
The confirmed 18.6 implementation is the password-setting path in src/backend/libpq/crypt.c; it warns when the resulting verifier is MD5. The trigger is the final stored verifier form, such as plaintext input under password_encryption = 'md5' or an already md5... verifier supplied as input; it is not the pg_hba.conf authentication method, and an existing SCRAM verifier is not by itself this warning.
Messages and diagnostics
The fixed path reports setting an MD5-encrypted password; detail: MD5 password support is deprecated and will be removed in a future release of PostgreSQL.; hint: Refer to the PostgreSQL documentation for details about migrating to another password type.
Diagnosis
Inspect the password-setting session’s SHOW password_encryption, whether the input is plaintext or an existing md5... verifier, and the final role verifier when permissions allow. Keep the complete warning because the detail and hint state the affected method and migration direction. Do not use the pg_hba.conf authentication method as the trigger, and do not infer that an existing SCRAM verifier caused this warning.
Response
Migrate the affected role to SCRAM by following the official Password Authentication guidance; for plaintext input, set password_encryption to scram-sha-256 before resetting the password, then verify client compatibility. Do not reuse an old MD5 verifier as the migration step. The warning itself does not call for retrying the password-setting command unchanged.
Versions
01P01 is present from the locked 9.0.23 snapshot through 18.6 and 19 Beta 3, with known_present_by 8.0.0. The fixed MD5 path and wording are confirmed for 18.6; other deprecated features or older wording require their own source evidence.
Related
01000 is the warning class; 28P01 is an invalid-password error; 00000 is successful completion.
Sources
errcodes.txt— definition, SHA-2566e8de346643ba84aa3c9c6a73360acfc7b2dfb89162c06c08ce9bf5bcd5bbcba.crypt.c— fixed path, SHA-256d0c7579210827dbaec466f1c064a3d1ea2f7f7bfbf8b40b2e79fb4769cb406a9.- Structured evidence — fixed sources, message groups, and runtime boundary.