Remove pg_authid's TOAST table.
Nathan Bossart <nathan@postgresql.org>
Remove pg_authid's TOAST table. pg_authid's only varlena column is rolpassword, which unfortunately cannot be de-TOASTed during authentication because we haven't selected a database yet and cannot read pg_class. By removing pg_authid's TOAST table, attempts to set password hashes that require out-of-line storage will fail with a "row is too big" error instead. We may want to provide a more user-friendly error in the future, but for now let's just remove the useless TOAST table. Bumps catversion. Reported-by: Alexander Lakhin Reviewed-by: Tom Lane, Michael Paquier Discussion: https://postgr.es/m/89e8649c-eb74-db25-7945-6d6b23992394%40gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/catalog/catalog.c | modified | +1 −3 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/catalog/pg_authid.h | modified | +0 −2 |
| src/test/regress/expected/create_index.out | modified | +7 −7 |
| src/test/regress/expected/misc_sanity.out | modified | +4 −1 |
| src/test/regress/expected/tablespace.out | modified | +6 −6 |
| src/test/regress/sql/create_index.sql | modified | +5 −5 |
| src/test/regress/sql/misc_sanity.sql | modified | +2 −0 |
| src/test/regress/sql/tablespace.sql | modified | +4 −4 |
Discussion
- Should rolpassword be toastable? 27 messages · 2023-09-23 → 2024-10-07