postgresql/src/include/catalog
Nathan Bossart 16bf24e0e4 Remove pg_replication_origin's TOAST table.
A few places that access this catalog don't set up an active
snapshot before potentially accessing its TOAST table.  However,
roname (the replication origin name) is the only varlena column, so
this is only a problem if the name requires out-of-line storage.
This commit removes its TOAST table to avoid needing to set up a
snapshot.  It also places a limit on replication origin names so
that attempts to set long names will fail with a more user-friendly
error.  Those chosen limit of 512 bytes should be sufficient to
avoid "row is too big" errors independent of BLCKSZ, but it should
also be lenient enough for all reasonable use-cases.

Bumps catversion.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Reviewed-by: Euler Taveira <euler@eulerto.com>
Reviewed-by: Nisha Moond <nisha.moond412@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://postgr.es/m/ZvMSUPOqUU-VNADN%40nathan
2025-05-07 14:47:36 -05:00
..
.gitignore Put genbki.pl output into src/include/catalog/ directly 2024-03-14 07:11:21 +01:00
binary_upgrade.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
catalog.h Assert lack of hazardous buffer locks before possible catalog read. 2025-04-17 05:00:30 -07:00
catversion.h Remove pg_replication_origin's TOAST table. 2025-05-07 14:47:36 -05:00
dependency.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
duplicate_oids Update copyright for 2025 2025-01-01 11:21:55 -05:00
genbki.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
heap.h Remove now-dead code in StoreAttrDefault(). 2025-03-03 13:09:20 -05:00
index.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
indexing.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
Makefile Update copyright for 2025 2025-01-01 11:21:55 -05:00
meson.build Update copyright for 2025 2025-01-01 11:21:55 -05:00
namespace.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
objectaccess.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
objectaddress.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
partition.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_aggregate.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_aggregate.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_am.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_am.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_amop.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_amop.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_amproc.dat Add nbtree skip scan optimization. 2025-04-04 12:27:04 -04:00
pg_amproc.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_attrdef.h Remove now-dead code in StoreAttrDefault(). 2025-03-03 13:09:20 -05:00
pg_attribute.h Allow NOT NULL constraints to be added as NOT VALID 2025-04-07 19:19:50 +02:00
pg_auth_members.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_authid.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_authid.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_cast.dat Allow casting between bytea and integer types. 2025-03-07 09:31:18 +00:00
pg_cast.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_class.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_class.h Place "extern" declaration in the right part of pg_class.h. 2025-03-21 15:14:15 -04:00
pg_collation.dat Support PG_UNICODE_FAST locale in the builtin collation provider. 2025-01-17 15:56:30 -08:00
pg_collation.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_constraint.h Allow NOT NULL constraints to be added as NOT VALID 2025-04-07 19:19:50 +02:00
pg_control.h Add default_char_signedness field to ControlFileData. 2025-02-21 10:12:08 -08:00
pg_conversion.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_conversion.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_database.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_database.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_db_role_setting.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_default_acl.h Extend ALTER DEFAULT PRIVILEGES to define default privileges for large objects. 2025-04-04 19:02:17 +09:00
pg_depend.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_description.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_enum.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_event_trigger.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_extension.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_foreign_data_wrapper.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_foreign_server.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_foreign_table.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_index.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_inherits.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_init_privs.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_language.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_language.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_largeobject.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_largeobject_metadata.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_namespace.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_namespace.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_opclass.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_opclass.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_operator.dat Fix NO ACTION temporal foreign keys when the referenced endpoints change 2025-01-21 14:39:24 +01:00
pg_operator.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_opfamily.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_opfamily.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_parameter_acl.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_partitioned_table.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_policy.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_proc.dat Rename argument in pg_get_process_memory_contexts(). 2025-04-08 23:09:13 +02:00
pg_proc.h Fix erroneous construction of functions' dependencies on transforms. 2025-04-07 13:31:37 -04:00
pg_publication.h Rename pubgencols_type to pubgencols in pg_publication. 2025-01-28 10:42:46 +05:30
pg_publication_namespace.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_publication_rel.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_range.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_range.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_replication_origin.h Remove pg_replication_origin's TOAST table. 2025-05-07 14:47:36 -05:00
pg_rewrite.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_seclabel.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_sequence.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_shdepend.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_shdescription.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_shseclabel.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_statistic.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_statistic_ext.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_statistic_ext_data.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_subscription.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_subscription_rel.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_tablespace.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_tablespace.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_transform.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_trigger.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_ts_config.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_config.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_ts_config_map.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_config_map.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_dict.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_dict.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_ts_parser.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_parser.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_ts_template.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_ts_template.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_type.dat Update copyright for 2025 2025-01-01 11:21:55 -05:00
pg_type.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
pg_user_mapping.h IWYU pragmas for catalog headers 2025-01-15 18:57:53 +01:00
reformat_dat_file.pl Fix an assortment of spelling mistakes and typos 2025-01-02 12:42:01 +13:00
renumber_oids.pl Update copyright for 2025 2025-01-01 11:21:55 -05:00
storage.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
storage_xlog.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
toasting.h Update copyright for 2025 2025-01-01 11:21:55 -05:00
unused_oids Update copyright for 2025 2025-01-01 11:21:55 -05:00