postgresql/src/backend/catalog
Michael Paquier 1ff4161218 Use multi-inserts for pg_enum
This allows to insert at once all the enum values defined with a given
type into pg_enum, reducing the WAL produced by roughly 10%~.  pg_enum's
indexes are opened and closed now once rather than N times.  The number
of items to insert is known in advance, making this change
straight-forward, and would happen on a CREATE TYPE .. AS ENUM.

The amount of data inserted is capped at 64kB for each insert batch.
This is similar to commits 63110c6 and e3931d01, that worked on
different catalogs.

Reported-by: Ranier Vilela
Author: Michael Paquier
Reviewed-by: Kyotaro Horiguchi, Ranier Vilela
Discussion: https://postgr.es/m/Y3M5bovrkTQbAO4W@paquier.xyz
2022-11-16 12:41:29 +09:00
..
.gitignore Build in some knowledge about foreign-key relationships in the catalogs. 2021-02-02 17:11:55 -05:00
Catalog.pm Make eval statement naturally proof against perltidy 2022-09-12 11:59:43 +07:00
Makefile Allow granting SET and ALTER SYSTEM privileges on GUC parameters. 2022-04-06 13:24:33 -04:00
aclchk.c Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
catalog.c Revert 56-bit relfilenode change and follow-up commits. 2022-09-28 09:55:28 -04:00
dependency.c Change some errdetail() to errdetail_internal() 2022-09-28 17:14:53 +02:00
genbki.pl Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
heap.c Avoid some overhead with open and close of catalog indexes 2022-11-16 10:49:05 +09:00
index.c Revert 56-bit relfilenode change and follow-up commits. 2022-09-28 09:55:28 -04:00
indexing.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
information_schema.sql Fix bogus dependency handling for GENERATED expressions. 2022-03-21 14:58:49 -04:00
meson.build meson: Add initial version of meson based build system 2022-09-21 22:37:17 -07:00
namespace.c Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
objectaccess.c Pre-beta mechanical code beautification. 2022-05-12 15:17:30 -04:00
objectaddress.c Refactor ownercheck functions 2022-11-13 08:12:37 +01:00
partition.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_aggregate.c Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
pg_attrdef.c Fix typos. 2022-09-19 14:21:39 +05:30
pg_cast.c Record dependencies of a cast on other casts that it requires. 2022-10-17 14:02:05 -04:00
pg_class.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_collation.c Remove AssertArg and AssertState 2022-10-28 09:19:06 +02:00
pg_constraint.c Fix self-referencing foreign keys with partitioned tables 2022-10-07 19:37:48 +02:00
pg_conversion.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_db_role_setting.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_depend.c Avoid using list_length() to test for empty list. 2022-08-17 11:12:35 -04:00
pg_enum.c Use multi-inserts for pg_enum 2022-11-16 12:41:29 +09:00
pg_inherits.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_largeobject.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_namespace.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_operator.c Refactor aclcheck functions 2022-11-13 09:02:41 +01:00
pg_parameter_acl.c Split up guc.c for better build speed and ease of maintenance. 2022-09-13 11:11:45 -04:00
pg_proc.c Refactor ownercheck functions 2022-11-13 08:12:37 +01:00
pg_publication.c Message style improvements 2022-09-24 18:41:25 -04:00
pg_range.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pg_shdepend.c Fix bug in DROP OWNED BY. 2022-09-28 10:42:07 -04:00
pg_subscription.c Move common catalog cache access routines to lsyscache.c 2022-08-02 10:47:22 +05:30
pg_type.c In extensions, don't replace objects not belonging to the extension. 2022-08-08 11:12:31 -04:00
sql_feature_packages.txt Cleanup in SQL features files 2020-03-28 08:46:18 +01:00
sql_features.txt Revert SQL/JSON features 2022-09-01 17:07:14 -04:00
storage.c Revert 56-bit relfilenode change and follow-up commits. 2022-09-28 09:55:28 -04:00
system_functions.sql Support pg_read_[binary_]file (filename, missing_ok). 2022-07-29 15:38:49 -04:00
system_views.sql pgstat: Track time of the last scan of a relation 2022-10-14 11:11:34 -07:00
toasting.c Add UNIQUE null treatment option 2022-02-03 11:48:21 +01:00