postgresql/src/include/catalog
Michael Paquier 490f869d92 Create syscache entries for pg_extension
Two syscache identifiers are added for extension names and OIDs.

Shared libraries of extensions might want to invalidate or update their
own caches whenever a CREATE, ALTER or DROP EXTENSION command is run for
their extension (in any backend).  Right now this is non-trivial to do
correctly and efficiently, but, if an extension catalog is part of a
syscache, this could simply be done by registering an callback using
CacheRegisterSyscacheCallback for the relevant syscache.

Another case where this is useful is a loaded library where some of its
code paths rely on some objects of the extension to exist; it can be
simpler and more efficient to do an existence check directly on the
extension through the syscache.

Author: Jelte Fennema-Nio
Reviewed-by: Alexander Korotkov, Pavel Stehule
Discussion: https://postgr.es/m/CAGECzQTWm9sex719Hptbq4j56hBGUti7J9OWjeMobQ1ccRok9w@mail.gmail.com
2024-08-22 10:48:25 +09: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 2024 2024-01-03 20:49:05 -05:00
catalog.h Cope with inplace update making catcache stale during TOAST fetch. 2024-06-27 19:21:06 -07:00
catversion.h Add user-callable CRC functions. 2024-08-12 10:35:06 -05:00
dependency.h Improve tracking of role dependencies of pg_init_privs entries. 2024-06-17 12:55:10 -04:00
duplicate_oids Update copyright for 2024 2024-01-03 20:49:05 -05:00
genbki.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
heap.h Revert structural changes to not-null constraints 2024-05-13 11:31:09 +02:00
index.h Revert temporal primary keys and foreign keys 2024-05-16 08:17:46 +02:00
indexing.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
Makefile Put genbki.pl output into src/include/catalog/ directly 2024-03-14 07:11:21 +01:00
meson.build Put genbki.pl output into src/include/catalog/ directly 2024-03-14 07:11:21 +01:00
namespace.h Replace BackendIds with 0-based ProcNumbers 2024-03-03 19:38:22 +02:00
objectaccess.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
objectaddress.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
partition.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_aggregate.dat Add min and max aggregates for composite types (records). 2024-07-11 11:50:50 -04:00
pg_aggregate.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_am.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_am.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_amop.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_amop.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_amproc.dat Revert temporal primary keys and foreign keys 2024-05-16 08:17:46 +02:00
pg_amproc.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_attrdef.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_attribute.h Add attstattarget to FormExtraData_pg_attribute 2024-03-17 12:38:27 +01:00
pg_auth_members.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_authid.dat Introduce pg_signal_autovacuum_worker. 2024-07-09 13:03:40 -05:00
pg_authid.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_cast.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_cast.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_class.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_class.h Allow specifying an access method for partitioned tables 2024-03-25 16:30:36 +01:00
pg_collation.dat Pre-beta mechanical code beautification. 2024-05-14 16:34:50 -04:00
pg_collation.h Introduce "builtin" collation provider. 2024-03-13 23:33:44 -07:00
pg_constraint.h Revert temporal primary keys and foreign keys 2024-05-16 08:17:46 +02:00
pg_control.h Do not summarize WAL if generated with wal_level=minimal. 2024-07-18 12:09:48 -04:00
pg_conversion.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_conversion.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_database.dat Pre-beta mechanical code beautification. 2024-05-14 16:34:50 -04:00
pg_database.h Catalog changes preparing for builtin collation provider. 2024-03-09 14:48:18 -08:00
pg_db_role_setting.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_default_acl.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_depend.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_description.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_enum.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_event_trigger.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_extension.h Create syscache entries for pg_extension 2024-08-22 10:48:25 +09:00
pg_foreign_data_wrapper.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_foreign_server.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_foreign_table.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_index.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_inherits.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_init_privs.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_language.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_language.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_largeobject.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_largeobject_metadata.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_namespace.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_namespace.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_opclass.dat Ensure we allocate NAMEDATALEN bytes for names in Index Only Scans 2024-05-01 13:21:21 +12:00
pg_opclass.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_operator.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_operator.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_opfamily.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_opfamily.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_parameter_acl.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_partitioned_table.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_policy.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_proc.dat Add user-callable CRC functions. 2024-08-12 10:35:06 -05:00
pg_proc.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_publication.h Improve ALTER PUBLICATION validation and error messages 2024-08-15 13:10:25 +12:00
pg_publication_namespace.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_publication_rel.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_range.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_range.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_replication_origin.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_rewrite.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_seclabel.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_sequence.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_shdepend.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_shdescription.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_shseclabel.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_statistic.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_statistic_ext.h Make stxstattarget nullable 2024-03-17 12:26:26 +01:00
pg_statistic_ext_data.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_subscription.h Add a failover option to subscriptions. 2024-01-30 16:49:28 +05:30
pg_subscription_rel.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_tablespace.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_tablespace.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_transform.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_trigger.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_config.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_config.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_ts_config_map.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_config_map.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_ts_dict.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_dict.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_ts_parser.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_parser.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_ts_template.dat Update copyright for 2024 2024-01-03 20:49:05 -05:00
pg_ts_template.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
pg_type.dat Pre-beta mechanical code beautification. 2024-05-14 16:34:50 -04:00
pg_type.h Revert "Improve compression and storage support with inheritance" 2024-02-20 11:10:59 +01:00
pg_user_mapping.h Generate syscache info from catalog files 2024-01-23 07:31:06 +01:00
reformat_dat_file.pl Update copyright for 2024 2024-01-03 20:49:05 -05:00
renumber_oids.pl Update copyright for 2024 2024-01-03 20:49:05 -05:00
storage.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
storage_xlog.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
toasting.h Update copyright for 2024 2024-01-03 20:49:05 -05:00
unused_oids Update copyright for 2024 2024-01-03 20:49:05 -05:00