Use PG_MODULE_MAGIC_EXT in our installable shared libraries.
authorTom Lane <[email protected]>
Wed, 26 Mar 2025 15:11:02 +0000 (11:11 -0400)
committerTom Lane <[email protected]>
Wed, 26 Mar 2025 15:11:02 +0000 (11:11 -0400)
It seems potentially useful to label our shared libraries with version
information, now that a facility exists for retrieving that.  This
patch labels them with the PG_VERSION string.  There was some
discussion about using semantic versioning conventions, but that
doesn't seem terribly helpful for modules with no SQL-level presence;
and for those that do have SQL objects, we typically expect them
to support multiple revisions of the SQL definitions, so it'd still
not be very helpful.

I did not label any of src/test/modules/.  It seems unnecessary since
we don't install those, and besides there ought to be someplace that
still provides test coverage for the original PG_MODULE_MAGIC macro.

Author: Tom Lane <[email protected]>
Discussion: https://postgr.es/m/dd4d1b59-d0fe-49d5-b28f-1e463b68fa32@gmail.com

89 files changed:
contrib/amcheck/verify_nbtree.c
contrib/auth_delay/auth_delay.c
contrib/basebackup_to_shell/basebackup_to_shell.c
contrib/basic_archive/basic_archive.c
contrib/bloom/blinsert.c
contrib/bool_plperl/bool_plperl.c
contrib/btree_gin/btree_gin.c
contrib/btree_gist/btree_gist.c
contrib/citext/citext.c
contrib/cube/cube.c
contrib/dblink/dblink.c
contrib/dict_int/dict_int.c
contrib/dict_xsyn/dict_xsyn.c
contrib/earthdistance/earthdistance.c
contrib/file_fdw/file_fdw.c
contrib/fuzzystrmatch/fuzzystrmatch.c
contrib/hstore/hstore_io.c
contrib/hstore_plperl/hstore_plperl.c
contrib/hstore_plpython/hstore_plpython.c
contrib/intarray/_int_op.c
contrib/isn/isn.c
contrib/jsonb_plperl/jsonb_plperl.c
contrib/jsonb_plpython/jsonb_plpython.c
contrib/lo/lo.c
contrib/ltree/ltree_op.c
contrib/ltree_plpython/ltree_plpython.c
contrib/pageinspect/rawpage.c
contrib/passwordcheck/passwordcheck.c
contrib/pg_buffercache/pg_buffercache_pages.c
contrib/pg_freespacemap/pg_freespacemap.c
contrib/pg_logicalinspect/pg_logicalinspect.c
contrib/pg_prewarm/pg_prewarm.c
contrib/pg_stat_statements/pg_stat_statements.c
contrib/pg_surgery/heap_surgery.c
contrib/pg_trgm/trgm_op.c
contrib/pg_visibility/pg_visibility.c
contrib/pg_walinspect/pg_walinspect.c
contrib/pgcrypto/pgcrypto.c
contrib/pgrowlocks/pgrowlocks.c
contrib/pgstattuple/pgstattuple.c
contrib/postgres_fdw/postgres_fdw.c
contrib/seg/seg.c
contrib/sepgsql/hooks.c
contrib/spi/autoinc.c
contrib/spi/insert_username.c
contrib/spi/moddatetime.c
contrib/spi/refint.c
contrib/sslinfo/sslinfo.c
contrib/tablefunc/tablefunc.c
contrib/tcn/tcn.c
contrib/test_decoding/test_decoding.c
contrib/tsm_system_rows/tsm_system_rows.c
contrib/tsm_system_time/tsm_system_time.c
contrib/unaccent/unaccent.c
contrib/uuid-ossp/uuid-ossp.c
contrib/xml2/xpath.c
src/backend/jit/llvm/llvmjit.c
src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
src/backend/replication/pgoutput/pgoutput.c
src/backend/snowball/dict_snowball.c
src/backend/utils/mb/conversion_procs/cyrillic_and_mic/cyrillic_and_mic.c
src/backend/utils/mb/conversion_procs/euc2004_sjis2004/euc2004_sjis2004.c
src/backend/utils/mb/conversion_procs/euc_cn_and_mic/euc_cn_and_mic.c
src/backend/utils/mb/conversion_procs/euc_jp_and_sjis/euc_jp_and_sjis.c
src/backend/utils/mb/conversion_procs/euc_kr_and_mic/euc_kr_and_mic.c
src/backend/utils/mb/conversion_procs/euc_tw_and_big5/euc_tw_and_big5.c
src/backend/utils/mb/conversion_procs/latin2_and_win1250/latin2_and_win1250.c
src/backend/utils/mb/conversion_procs/latin_and_mic/latin_and_mic.c
src/backend/utils/mb/conversion_procs/utf8_and_big5/utf8_and_big5.c
src/backend/utils/mb/conversion_procs/utf8_and_cyrillic/utf8_and_cyrillic.c
src/backend/utils/mb/conversion_procs/utf8_and_euc2004/utf8_and_euc2004.c
src/backend/utils/mb/conversion_procs/utf8_and_euc_cn/utf8_and_euc_cn.c
src/backend/utils/mb/conversion_procs/utf8_and_euc_jp/utf8_and_euc_jp.c
src/backend/utils/mb/conversion_procs/utf8_and_euc_kr/utf8_and_euc_kr.c
src/backend/utils/mb/conversion_procs/utf8_and_euc_tw/utf8_and_euc_tw.c
src/backend/utils/mb/conversion_procs/utf8_and_gb18030/utf8_and_gb18030.c
src/backend/utils/mb/conversion_procs/utf8_and_gbk/utf8_and_gbk.c
src/backend/utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c
src/backend/utils/mb/conversion_procs/utf8_and_iso8859_1/utf8_and_iso8859_1.c
src/backend/utils/mb/conversion_procs/utf8_and_johab/utf8_and_johab.c
src/backend/utils/mb/conversion_procs/utf8_and_sjis/utf8_and_sjis.c
src/backend/utils/mb/conversion_procs/utf8_and_sjis2004/utf8_and_sjis2004.c
src/backend/utils/mb/conversion_procs/utf8_and_uhc/utf8_and_uhc.c
src/backend/utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c
src/pl/plperl/plperl.c
src/pl/plpgsql/src/pl_handler.c
src/pl/plpython/plpy_main.c
src/pl/tcl/pltcl.c
src/test/regress/regress.c

index 825b677c47c407f254b38f22cfd7eb37fc14bd4b..d56eb7637d39d5cae28ae6e2d9e5f219225230f6 100644 (file)
 #include "utils/snapmgr.h"
 
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "amcheck",
+                   .version = PG_VERSION
+);
 
 /*
  * A B-Tree cannot possibly have this many levels, since there must be one
index f611da2158bea80d87bfbc72ecde4d91cc714150..8681b54fc3a8eac42f3f86d910a6d51831db89fe 100644 (file)
 #include "libpq/auth.h"
 #include "utils/guc.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "auth_delay",
+                   .version = PG_VERSION
+);
 
 /* GUC Variables */
 static int auth_delay_milliseconds = 0;
index d91366b06d23ac24e2f11f51429c53dfdbcc4563..8720f5a43727d3a8eb76cbfac4ccaf5e1c339966 100644 (file)
 #include "utils/acl.h"
 #include "utils/guc.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "basebackup_to_shell",
+                   .version = PG_VERSION
+);
 
 typedef struct bbsink_shell
 {
index cb8395823485ce1caac211c2d789633e14352659..4a8b8c7ac29c1d2afa75020d7744a47ce1ce83b6 100644 (file)
 #include "storage/fd.h"
 #include "utils/guc.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "basic_archive",
+                   .version = PG_VERSION
+);
 
 static char *archive_directory = NULL;
 
index ee8ebaf3caf19fc0d5a96f61b1a9d7285cd49ed9..7866438122f584ff92af4781f81d477f3b71171b 100644 (file)
 #include "utils/memutils.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "bloom",
+                   .version = PG_VERSION
+);
 
 /*
  * State of bloom index build.  We accumulate one page data here before
index 0fa1eee8e57ebf921a8a5a1446f3cdc749db1d38..7c611bd52a7b48c727c1b125b2b0b838cacf6205 100644 (file)
@@ -4,7 +4,10 @@
 #include "plperl.h"
 
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "bool_plperl",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(bool_to_plperl);
 
index 533c55e9eaf41d60382810a645f5c9fdbe1992bc..98663cb86117edb0193ab6394c29a5d147e27715 100644 (file)
 #include "utils/timestamp.h"
 #include "utils/uuid.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "btree_gin",
+                   .version = PG_VERSION
+);
 
 typedef struct QueryInfo
 {
index 7fcb0cd6d03a291840cee9b2318aeb7e2b3af688..280ce808456b9021fa497c83abbe77717af76918 100644 (file)
@@ -7,7 +7,10 @@
 #include "access/stratnum.h"
 #include "utils/builtins.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "btree_gist",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(gbt_decompress);
 PG_FUNCTION_INFO_V1(gbtreekey_in);
index 3c461ff2ff2db1542cf7f31a85ebfa6c1a1e766c..a15ce5db8295f700a7f53f6eeb793de684922cf1 100644 (file)
 #include "utils/varlena.h"
 #include "varatt.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "citext",
+                   .version = PG_VERSION
+);
 
 /*
  *     ====================
index bf8fc489dca378e8eadfd03fc631fdb9f969727a..8d3654ab7aafe2fcea654f3b2689787b8e00c7e0 100644 (file)
 #include "utils/array.h"
 #include "utils/float.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "cube",
+                   .version = PG_VERSION
+);
 
 /*
  * Taken from the intarray contrib header
index 33e5109da8421c8e5b6a879af81c4b17bdfc4b91..c2e695e364e93857ef5a3346d4cfd18d1defed70 100644 (file)
 #include "utils/varlena.h"
 #include "utils/wait_event.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "dblink",
+                   .version = PG_VERSION
+);
 
 typedef struct remoteConn
 {
index 3cfe406f669840286ae126c2e3fd97b0a5dce30f..bdad52d202897f050e93f6d28a15eec8a6a4277e 100644 (file)
 #include "commands/defrem.h"
 #include "tsearch/ts_public.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "dict_int",
+                   .version = PG_VERSION
+);
 
 typedef struct
 {
index 756ba5998c581c99b53aef14ca675daffac79515..1ec5285d6d1fc3c5207ad2a025a7b85a4f50f68e 100644 (file)
 #include "tsearch/ts_public.h"
 #include "utils/formatting.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "dict_xsyn",
+                   .version = PG_VERSION
+);
 
 typedef struct
 {
index ded048c8ac502d2abbc55ec985bd68c6cb70888c..f3011803d081023e765834d7aef5b5943c3d2b71 100644 (file)
 #define M_PI 3.14159265358979323846
 #endif
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "earthdistance",
+                   .version = PG_VERSION
+);
 
 /* Earth's radius is in statute miles. */
 static const double EARTH_RADIUS = 3958.747716;
index 56ececac70b88ee9809e5d38060963d451bb7b23..d94690e89dd47b0084bb4b69d9026f6b789fcc09 100644 (file)
 #include "utils/sampling.h"
 #include "utils/varlena.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "file_fdw",
+                   .version = PG_VERSION
+);
 
 /*
  * Describes the valid options for objects that use this wrapper.
index 850d017ac656298b558155b96a0a0a350fba5fa2..e7cc314b763ee1d35647b2523febb34f9ec1b5e6 100644 (file)
 #include "utils/varlena.h"
 #include "varatt.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "fuzzystrmatch",
+                   .version = PG_VERSION
+);
 
 /*
  * Soundex
index 2125436e40cde79cc23108c8391f2ecf7e95237e..4f867e4bd1f1cebcc586747d76c7c5ecb9027a58 100644 (file)
 #include "utils/memutils.h"
 #include "utils/typcache.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "hstore",
+                   .version = PG_VERSION
+);
 
 /* old names for C functions */
 HSTORE_POLLUTE(hstore_from_text, tconvert);
index 4a1629cad512e1124bbf848503cce09a2762d6cc..31393b4fa504d3d2e5c0bd9f0d14d8540d590c1c 100644 (file)
@@ -4,7 +4,10 @@
 #include "hstore/hstore.h"
 #include "plperl.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "hstore_plperl",
+                   .version = PG_VERSION
+);
 
 /* Linkage to functions in hstore module */
 typedef HStore *(*hstoreUpgrade_t) (Datum orig);
index 310f63c30d48193b3944458c6469cc463c97fff6..8812fb3f3e445c24e861940a3583ac17fd74ea60 100644 (file)
@@ -5,7 +5,10 @@
 #include "plpy_typeio.h"
 #include "plpython.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "hstore_plpython",
+                   .version = PG_VERSION
+);
 
 /* Linkage to functions in plpython module */
 typedef char *(*PLyObject_AsString_t) (PyObject *plrv);
index 5b164f6788fb43a97e5318c3d870f3082c8baf48..ba6d0a99995ed633e6bc9baeb4b43b38ee06f5ef 100644 (file)
@@ -5,7 +5,10 @@
 
 #include "_int.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "intarray",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(_int_different);
 PG_FUNCTION_INFO_V1(_int_same);
index 5783c188737d96e42c43cd633b9c0df91ae8752a..038c8ed4db7bddd6f799a50f1fceee64b4100f1b 100644 (file)
 #include "isn.h"
 #include "utils/guc.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "isn",
+                   .version = PG_VERSION
+);
 
 #ifdef USE_ASSERT_CHECKING
 #define ISN_DEBUG 1
index 2af1e0c02afd3ee242ab10bb8b1f463883752a23..c02e2d41af108a899e44fdf4883237254bc21de7 100644 (file)
@@ -7,7 +7,10 @@
 #include "utils/fmgrprotos.h"
 #include "utils/jsonb.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "jsonb_plperl",
+                   .version = PG_VERSION
+);
 
 static SV  *Jsonb_to_SV(JsonbContainer *jsonb);
 static JsonbValue *SV_to_JsonbValue(SV *obj, JsonbParseState **ps, bool is_elem);
index a625727c5e8ca1d857c09e394505f5070987279c..680445a006fb12dd73f621812add4167c6918e01 100644 (file)
@@ -7,7 +7,10 @@
 #include "utils/jsonb.h"
 #include "utils/numeric.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "jsonb_plpython",
+                   .version = PG_VERSION
+);
 
 /* for PLyObject_AsString in plpy_typeio.c */
 typedef char *(*PLyObject_AsString_t) (PyObject *plrv);
index 62488e45f3a3e0d9d08dec1b601679d4654a752d..f9348a16b6608c261d909af898acb4dab4805c77 100644 (file)
 #include "utils/fmgrprotos.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "lo",
+                   .version = PG_VERSION
+);
 
 
 /*
index 0e30dee46589ab2fd57cfe8cb46ac71609fb2c3a..ce9f4caad4feb145313f55561dd90382b5575753 100644 (file)
 #include "utils/selfuncs.h"
 #include "varatt.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "ltree",
+                   .version = PG_VERSION
+);
 
 /* compare functions */
 PG_FUNCTION_INFO_V1(ltree_cmp);
index ac159ea31415c772f9d750fcbe08005eacce71a1..ba5926b8be6788a2358c1d03312b03dc2cfdfb70 100644 (file)
@@ -4,7 +4,10 @@
 #include "ltree/ltree.h"
 #include "plpython.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "ltree_plpython",
+                   .version = PG_VERSION
+);
 
 /* Linkage to functions in plpython module */
 typedef PyObject *(*PLyUnicode_FromStringAndSize_t) (const char *s, Py_ssize_t size);
index 617dff821a6d77ec472002e9b4042e0e4b7f459f..0d57123aa2669c04914b8981d8c1bab88934ec3b 100644 (file)
 #include "utils/rel.h"
 #include "utils/varlena.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pageinspect",
+                   .version = PG_VERSION
+);
 
 static bytea *get_raw_page_internal(text *relname, ForkNumber forknum,
                                    BlockNumber blkno);
index 3db42a5b99d87c370fd9931884e7e916c5ea46e5..39ded17afa413b75647bef38b9d21b1faee619cb 100644 (file)
 #include "fmgr.h"
 #include "libpq/crypt.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "passwordcheck",
+                   .version = PG_VERSION
+);
 
 /* Saved hook value */
 static check_password_hook_type prev_check_password_hook = NULL;
index 3ae0a018e103cb99fefe5053ea15fc845d4c9747..62602af1775f38b3c1f3101c5742246834407d02 100644 (file)
 #define NUM_BUFFERCACHE_SUMMARY_ELEM 5
 #define NUM_BUFFERCACHE_USAGE_COUNTS_ELEM 4
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_buffercache",
+                   .version = PG_VERSION
+);
 
 /*
  * Record structure holding the to be exposed cache data.
index 565167aaef07889f0cc89eb5f9a4659fcb4f41fc..c0eac7a20167cff379a2089df3f29bf8490781e4 100644 (file)
 #include "fmgr.h"
 #include "storage/freespace.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_freespacemap",
+                   .version = PG_VERSION
+);
 
 /*
  * Returns the amount of free space on a given page, according to the
index 5a44718bea88fe25b309b5e0cbce9d68996283c5..50e805d3195e00410e935c2f58bed1dde6113298 100644 (file)
 #include "utils/builtins.h"
 #include "utils/pg_lsn.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_logicalinspect",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(pg_get_logical_snapshot_meta);
 PG_FUNCTION_INFO_V1(pg_get_logical_snapshot_info);
index a2f0ac4af0c9dd23bcd926f0209013ad2bfd6042..f496ec9d85d2824426595935d4c6b97e031ff976 100644 (file)
 #include "utils/lsyscache.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_prewarm",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(pg_prewarm);
 
index 8ab9ad58e1c894083d778e533f167da51105102c..9778407cba30bbdec2c4d57d6f9b42d9da6cb9d8 100644 (file)
 #include "utils/memutils.h"
 #include "utils/timestamp.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_stat_statements",
+                   .version = PG_VERSION
+);
 
 /* Location of permanent stats file (valid when database is shut down) */
 #define PGSS_DUMP_FILE PGSTAT_STAT_PERMANENT_DIRECTORY "/pg_stat_statements.stat"
index 5b94b3d523e49f57234ceba94a506e2433c5f90e..3e86283beb7cf007dfda9e776e8a32876eca722c 100644 (file)
 #include "utils/array.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_surgery",
+                   .version = PG_VERSION
+);
 
 /* Options to forcefully change the state of a heap tuple. */
 typedef enum HeapTupleForceOption
index 94b9015fd676765b7fe3cf5324b058862b4d4972..29b39ec8a4c25fe36246b6679a8e5cb77e665c2c 100644 (file)
 #include "utils/memutils.h"
 #include "utils/pg_crc.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_trgm",
+                   .version = PG_VERSION
+);
 
 /* GUC variables */
 double     similarity_threshold = 0.3f;
index 7f268a18a74b70ca324d16556ffc77de8d30e99e..ca91819852c747f6017046605c50e0880358d176 100644 (file)
 #include "storage/smgr.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_visibility",
+                   .version = PG_VERSION
+);
 
 typedef struct vbits
 {
index 9e6094157894a9629af4f6147add54244c7729cf..64745564cc249ef47d503f2b81c0f3954fb8e8bf 100644 (file)
  * give a thought about doing the same in pg_waldump tool as well.
  */
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pg_walinspect",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(pg_get_wal_block_info);
 PG_FUNCTION_INFO_V1(pg_get_wal_record_info);
index b7e5383b9a6a6b1282a0e412b500084eddb8eac9..9ecbbd2e2f8699a0a75a6b2f352e6478ded40dac 100644 (file)
 #include "utils/guc.h"
 #include "varatt.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pgcrypto",
+                   .version = PG_VERSION
+);
 
 /* private stuff */
 
index 7e40ab21ddab06a4fb271616798242daf0a02f1c..b75d80fa7a9c2064cf19f042c73150030e6aabe6 100644 (file)
 #include "utils/snapmgr.h"
 #include "utils/varlena.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pgrowlocks",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(pgrowlocks);
 
index 48cb8f59c4f347e94f2305f3cf45bf77f3b9a3b6..0d9c2b0b6536944a7d9582c8562d262347ac8ab8 100644 (file)
 #include "storage/lmgr.h"
 #include "utils/varlena.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pgstattuple",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(pgstattuple);
 PG_FUNCTION_INFO_V1(pgstattuple_v1_5);
index 7a5439a460b8f11e6df63bdf09dfb192bdfeeb2c..ac14c06c71518039e0cbb1f5d39a91e485d5c2dd 100644 (file)
 #include "utils/sampling.h"
 #include "utils/selfuncs.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "postgres_fdw",
+                   .version = PG_VERSION
+);
 
 /* Default CPU cost to start up a foreign query. */
 #define DEFAULT_FDW_STARTUP_COST   100.0
index fd4216edc5dc8d37e436cfee04d3ba433412121c..151cbb954b9a1bfd2ed0ce64fe169327f73b10c5 100644 (file)
 #define GIST_QUERY_DEBUG
 */
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "seg",
+                   .version = PG_VERSION
+);
 
 /*
  * Auxiliary data structure for picksplit method.
index 1b1dfe6792f36378ebc74639a321eca4ee864a59..7aff15c6aec214dd4db0f1df5058ef12c2a4b9c9 100644 (file)
 #include "utils/guc.h"
 #include "utils/queryenvironment.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "sepgsql",
+                   .version = PG_VERSION
+);
 
 /*
  * Declarations
index 8bf742230e057017e9b778b4e3fd9e0d5094a4cb..b5609f2025193e270a6cdc2dafe86eede2425cb6 100644 (file)
 #include "utils/builtins.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "autoinc",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(autoinc);
 
index a2e1747ff74c7667665dcc334f54ad368885d83c..e44241f9d6cbaa17806de282390ac3c840cc2fac 100644 (file)
 #include "utils/builtins.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "insert_username",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(insert_username);
 
index 5130804ce2a64f14a01fca619521b9417f3bc054..5013eee433e47a6e72eabfc64f324dfb40cc1ba8 100644 (file)
@@ -22,7 +22,10 @@ OH, me, I'm Terry Mackintosh <[email protected]>
 #include "utils/fmgrprotos.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "moddatetime",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(moddatetime);
 
index e1aef7cd2a3b897d34ec026d8a3bb3d78aaca6e1..d954f5c838f199f06164f4991fdef821e4eca121 100644 (file)
 #include "utils/memutils.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "refint",
+                   .version = PG_VERSION
+);
 
 typedef struct
 {
index 30cae0bb985ee46ea79ce7c9e53aadd5c6e96aef..da702011193178b2eb5bb242141f7bf56e81c452 100644 (file)
 #include "miscadmin.h"
 #include "utils/builtins.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "sslinfo",
+                   .version = PG_VERSION
+);
 
 static Datum X509_NAME_field_to_text(X509_NAME *name, text *fieldName);
 static Datum ASN1_STRING_to_text(ASN1_STRING *str);
index 4f2abed702cfd31f47add09f89420fa053ab041b..74afdc0977f4781d50042bfaacaa698392c3031a 100644 (file)
 #include "miscadmin.h"
 #include "utils/builtins.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "tablefunc",
+                   .version = PG_VERSION
+);
 
 static HTAB *load_categories_hash(char *cats_sql, MemoryContext per_query_ctx);
 static Tuplestorestate *get_crosstab_tuplestore(char *sql,
index 10088802c63064a4146cb0ff20d17649b5054c49..3158dee0f26a9b021653715c99b84babc09845d2 100644 (file)
 #include "utils/rel.h"
 #include "utils/syscache.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "tcn",
+                   .version = PG_VERSION
+);
 
 /*
  * Copy from s (for source) to r (for result), wrapping with q (quote)
index 0113b1963635ce9cba063859bfe661e5f4bcbb89..bb495563200c386374b2b0d213ed669401ac007d 100644 (file)
 #include "utils/memutils.h"
 #include "utils/rel.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "test_decoding",
+                   .version = PG_VERSION
+);
 
 typedef struct
 {
index 0c65763d37e4b764134da83911e5a1e0e184f27f..f401efa2131fc71596d839b72a94bdeef0840b57 100644 (file)
 #include "optimizer/optimizer.h"
 #include "utils/sampling.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "tsm_system_rows",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(tsm_system_rows_handler);
 
index f7bed98d1b774e850443ed57098aa394a4af157f..c9c71d8c3af39f55ec9da661a98fb60b15ad1b3a 100644 (file)
 #include "utils/sampling.h"
 #include "utils/spccache.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "tsm_system_time",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(tsm_system_time_handler);
 
index 352802ef8e8dda80625a397aeb5cff50330b4bcf..336ba31047a4ac83c1bde46dfc3599ec962d1860 100644 (file)
 #include "utils/lsyscache.h"
 #include "utils/syscache.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "unaccent",
+                   .version = PG_VERSION
+);
 
 /*
  * An unaccent dictionary uses a trie to find a string to replace.  Each node
index ca83f116a8a88d157f0d567509ee62ec689d4f8d..58e312a068279dec6917c6f270fd6f580b989f3f 100644 (file)
@@ -102,7 +102,10 @@ do { \
 
 #endif                         /* !HAVE_UUID_OSSP */
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "uuid-ossp",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(uuid_nil);
 PG_FUNCTION_INFO_V1(uuid_ns_dns);
index 19180b9a6c2005d0ff61b14e1afaedc9d489f011..23d3f332dbaa7fa7697e689bd91ad6323a0e74ac 100644 (file)
 #include <libxml/xmlerror.h>
 #include <libxml/parserInternals.h>
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "xml2",
+                   .version = PG_VERSION
+);
 
 /* exported for use by xslt_proc.c */
 
index 614926720fb7baf9618daa276f11d2866615ac6c..46511624f0166dcdd698b1e125de865e309af48e 100644 (file)
@@ -138,7 +138,10 @@ ResourceOwnerForgetJIT(ResourceOwner owner, LLVMJitContext *handle)
    ResourceOwnerForget(owner, PointerGetDatum(handle), &jit_resowner_desc);
 }
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "llvmjit",
+                   .version = PG_VERSION
+);
 
 
 /*
index c650935ef5d74244c650ab2c8f9e8301a13cc13b..ee3101c093ec10a51160cc328ce4fc2c285ce852 100644 (file)
 #include "utils/pg_lsn.h"
 #include "utils/tuplestore.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "libpqwalreceiver",
+                   .version = PG_VERSION
+);
 
 struct WalReceiverConn
 {
index ac34092aaafe34f1e0e4bd98857d9a0b7378593b..693a766e6d75fc5709d95bc0c1ba729f5332b0fb 100644 (file)
 #include "utils/syscache.h"
 #include "utils/varlena.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pgoutput",
+                   .version = PG_VERSION
+);
 
 static void pgoutput_startup(LogicalDecodingContext *ctx,
                             OutputPluginOptions *opt, bool is_init);
index 4c9cafbef35385ae09d861561793752e0475b882..e2b811a3806eca7b6a31a9251bea1fd6cd1dc9f4 100644 (file)
 #include "snowball/libstemmer/stem_UTF_8_turkish.h"
 #include "snowball/libstemmer/stem_UTF_8_yiddish.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "dict_snowball",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(dsnowball_init);
 
index 18c59491816601ca9c25b9a79baa070f5dc4e6cc..f00432a69812643e9dd543fbe5a41b45d2bcbc0e 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "cyrillic_and_mic",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(koi8r_to_mic);
 PG_FUNCTION_INFO_V1(mic_to_koi8r);
index e09fb8352059531a9a458b7cf60a5fa931366460..14bd66e16f2b285aa211c71e90013e2298d376ac 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "euc2004_sjis2004",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_jis_2004_to_shift_jis_2004);
 PG_FUNCTION_INFO_V1(shift_jis_2004_to_euc_jis_2004);
index 17528d804845d5e2074c7566e1a728db14faf2dd..14e157e14f5b2266df5517428f3bb9143035199f 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "euc_cn_and_mic",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_cn_to_mic);
 PG_FUNCTION_INFO_V1(mic_to_euc_cn);
index f2f92a5c66ecc9c9c63017b44ce1d9fb03d75040..d2744bd69b290152e0d036b20105d6aa7845f031 100644 (file)
  */
 #include "sjis.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "euc_jp_and_sjis",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_jp_to_sjis);
 PG_FUNCTION_INFO_V1(sjis_to_euc_jp);
index 6f31f9a2c4cadd62cf855decc3707b2144eb5807..0213768c452b204adff7a21b48d9ebd59976ad6b 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "euc_kr_and_mic",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_kr_to_mic);
 PG_FUNCTION_INFO_V1(mic_to_euc_kr);
index 8e38a787b67c213c46851542ace2285e9317ca23..c1834ca41819e84b50605b1f6ea55a301ba4da25 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "euc_tw_and_big5",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_tw_to_big5);
 PG_FUNCTION_INFO_V1(big5_to_euc_tw);
index 2ca197e75d621506a805aece33dbf233986137a8..803705282643a204d110d72ff9937ad4baef6067 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "latin2_and_win1250",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(latin2_to_mic);
 PG_FUNCTION_INFO_V1(mic_to_latin2);
index aca747f725ff534ed52a0fca607ca334e00fdb0e..19757afa2d91fe193c9fad4ae329da7b9d36ea35 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "latin_and_mic",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(latin1_to_mic);
 PG_FUNCTION_INFO_V1(mic_to_latin1);
index f8aa01d840ab72ebb3e435e78db8ede97a2b00ef..eae2d2d69f3056b6798b779d2bc8a20d64329350 100644 (file)
 #include "../../Unicode/big5_to_utf8.map"
 #include "../../Unicode/utf8_to_big5.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_big5",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(big5_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_big5);
index fb9c9a586fa5008df1c2679cf045803ea806232e..5addade582fd3ca973a32883fb6665d755d44c76 100644 (file)
 #include "../../Unicode/utf8_to_koi8u.map"
 #include "../../Unicode/koi8u_to_utf8.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_cyrillic",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(utf8_to_koi8r);
 PG_FUNCTION_INFO_V1(koi8r_to_utf8);
index 04882115e901fb12b3ee9f481143296f0a0bd883..3e660da89b8460624dac6f293ee8db535f87f0c8 100644 (file)
 #include "../../Unicode/euc_jis_2004_to_utf8.map"
 #include "../../Unicode/utf8_to_euc_jis_2004.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_euc2004",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_jis_2004_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_euc_jis_2004);
index d1be9fc1278ba04cb7e4cb3f7db748cc93904554..260b75c6bc5f4b97ff75e19fd5061b68a6fe0c23 100644 (file)
 #include "../../Unicode/euc_cn_to_utf8.map"
 #include "../../Unicode/utf8_to_euc_cn.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_euc_cn",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_cn_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_euc_cn);
index a63efd7f33adb09e401d9bdf45177082a72c44eb..ad11594753deb6e2784ef872ac466e374e393434 100644 (file)
 #include "../../Unicode/euc_jp_to_utf8.map"
 #include "../../Unicode/utf8_to_euc_jp.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_euc_jp",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_jp_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_euc_jp);
index cd37cc342096c1144a4abdfa74d88a7d8142f09d..e3f953263f3ab573010ccc4a73347449c0fdc104 100644 (file)
 #include "../../Unicode/euc_kr_to_utf8.map"
 #include "../../Unicode/utf8_to_euc_kr.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_euc_kr",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_kr_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_euc_kr);
index be8907bc46c4192162cab218e4e845386d58b224..25663bbda5d45c9520fe33400bac6ee50659ff69 100644 (file)
 #include "../../Unicode/euc_tw_to_utf8.map"
 #include "../../Unicode/utf8_to_euc_tw.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_euc_tw",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(euc_tw_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_euc_tw);
index 82e09b0c58828fdcf0eacde118a5523a29a8b9b5..ffc9c58cd130b595ff715ccf15e88b0aa07b9614 100644 (file)
 #include "../../Unicode/gb18030_to_utf8.map"
 #include "../../Unicode/utf8_to_gb18030.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_gb18030",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(gb18030_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_gb18030);
index 5609e9fdfd266481b55991534192cdc45ee64e16..9adc0ce7d89637d46ffd1d2fe3975129723fe8e0 100644 (file)
 #include "../../Unicode/gbk_to_utf8.map"
 #include "../../Unicode/utf8_to_gbk.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_gbk",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(gbk_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_gbk);
index 53fabbc4e7682ff252a8b661a6ca36c8ecd07863..5a15981b2dee34d502572bac4985a49eaf822212 100644 (file)
 #include "../../Unicode/utf8_to_iso8859_9.map"
 #include "../../Unicode/iso8859_16_to_utf8.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_iso8859",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(iso8859_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_iso8859);
index c922638e111b55d5f7ed402e50cb0097a37a95a5..c077b986bcdf0620a992a346a8fd2a862a065780 100644 (file)
 #include "fmgr.h"
 #include "mb/pg_wchar.h"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_iso8859_1",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(iso8859_1_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_iso8859_1);
index 3513613d78b843c7956b60f965a4f5468488bfb2..08e38026a408b13a5988c50e6aa3b8cb65286d43 100644 (file)
 #include "../../Unicode/johab_to_utf8.map"
 #include "../../Unicode/utf8_to_johab.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_johab",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(johab_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_johab);
index b53179747e692a35ad9656fc13e280ed844e0a77..911a6342c602ed2434bcc0197e5361c8f9f18042 100644 (file)
 #include "../../Unicode/sjis_to_utf8.map"
 #include "../../Unicode/utf8_to_sjis.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_sjis",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(sjis_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_sjis);
index 4f637932a38a71eef9df4a21c96d07614209a144..d0361784a395236ac1f3944185f67f0c50d22812 100644 (file)
 #include "../../Unicode/shift_jis_2004_to_utf8.map"
 #include "../../Unicode/utf8_to_shift_jis_2004.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_sjis2004",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(shift_jis_2004_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_shift_jis_2004);
index ed0aefeeae733a66602e27874bdd49c1cbf7c368..891a17014a1054b29dad2a9354a15248bf55d432 100644 (file)
 #include "../../Unicode/uhc_to_utf8.map"
 #include "../../Unicode/utf8_to_uhc.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_uhc",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(uhc_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_uhc);
index caabcb33e4f97bc2562c4cc19cc7e65d6194bfcd..24c0dd9a5524d679bc057cde4e7bb9c6bee858f7 100644 (file)
 #include "../../Unicode/win874_to_utf8.map"
 #include "../../Unicode/win1258_to_utf8.map"
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "utf8_and_win",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(win_to_utf8);
 PG_FUNCTION_INFO_V1(utf8_to_win);
index ebf55fe663cd7903577aefdc0151dfb42ca9893e..29cb4d7e47f80fe54a87889db353b47147cd49e3 100644 (file)
@@ -52,7 +52,10 @@ EXTERN_C void boot_DynaLoader(pTHX_ CV *cv);
 EXTERN_C void boot_PostgreSQL__InServer__Util(pTHX_ CV *cv);
 EXTERN_C void boot_PostgreSQL__InServer__SPI(pTHX_ CV *cv);
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "plperl",
+                   .version = PG_VERSION
+);
 
 /**********************************************************************
  * Information associated with a Perl interpreter.  We have one interpreter
index 5af38d5773bc2a17f14394d325d762180d18edc6..1bf12232862a7f942834d70154b4f9d8cfc8512d 100644 (file)
@@ -31,7 +31,10 @@ static bool plpgsql_extra_checks_check_hook(char **newvalue, void **extra, GucSo
 static void plpgsql_extra_warnings_assign_hook(const char *newvalue, void *extra);
 static void plpgsql_extra_errors_assign_hook(const char *newvalue, void *extra);
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "plpgsql",
+                   .version = PG_VERSION
+);
 
 /* Custom GUC variable */
 static const struct config_enum_entry variable_conflict_options[] = {
index 8117e20efa23b43d042df4f689235dd664f28a3b..8f56155f006c9fdb28b29a41122316c814a828ca 100644 (file)
  * exported functions
  */
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "plpython",
+                   .version = PG_VERSION
+);
 
 PG_FUNCTION_INFO_V1(plpython3_validator);
 PG_FUNCTION_INFO_V1(plpython3_call_handler);
index 08c8492050eabd4bee338ac5f041a63828ba6b12..73d660e88a693700e062b9aacc2b8559ac13f67e 100644 (file)
 #include "utils/typcache.h"
 
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "pltcl",
+                   .version = PG_VERSION
+);
 
 #define HAVE_TCL_VERSION(maj,min) \
    ((TCL_MAJOR_VERSION > maj) || \
index ed4a7937331ef6d11eee7c59ac3e820f7b41b676..0bc0a9221de86b79d72647f63d593ab1d3da3b3a 100644 (file)
 
 static void regress_lseg_construct(LSEG *lseg, Point *pt1, Point *pt2);
 
-PG_MODULE_MAGIC;
+PG_MODULE_MAGIC_EXT(
+                   .name = "regress",
+                   .version = PG_VERSION
+);
 
 
 /* return the point where two paths intersect, or NULL if no intersection. */