diff --git a/CHANGELOG.md b/CHANGELOG.md index db5600a..f21625a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +4.2.0 +===== + +NEW FEATURES +------------ +- Add PG_MODULE_MAGIC_EXT() macro for PostgreSQL >= 18. +- Remove support for PostgreSQL 12. + 4.1.0 ===== diff --git a/set_user.control b/set_user.control index 446d26c..57da330 100644 --- a/set_user.control +++ b/set_user.control @@ -1,5 +1,5 @@ # set_user extension comment = 'similar to SET ROLE but with added logging' -default_version = '4.1.0' +default_version = '4.2.0' module_pathname = '$libdir/set_user' relocatable = false diff --git a/src/compatibility.h b/src/compatibility.h index e5dcf3b..f9c4446 100644 --- a/src/compatibility.h +++ b/src/compatibility.h @@ -16,6 +16,16 @@ #define NO_ASSERT_AUTH_UID_ONCE !USE_ASSERT_CHECKING #endif +/* + * Define PG_MODULE_MAGIC_EXT() as PG_MODULE_MAGIC for versions where the new + * macro does not exist + */ + #if PG_VERSION_NUM < 180000 + + #define PG_MODULE_MAGIC_EXT(...) PG_MODULE_MAGIC + + #endif /* PG_VERSION_NUM < 180000 */ + /* * PostgreSQL version 17+ * diff --git a/src/set_user.c b/src/set_user.c index 7c91ec9..59062c9 100644 --- a/src/set_user.c +++ b/src/set_user.c @@ -53,11 +53,10 @@ #include "utils/varlena.h" #include "set_user.h" - -PG_MODULE_MAGIC; - #include "compatibility.h" +PG_MODULE_MAGIC_EXT(.name = "set_user", .version = "4.2.0"); + #define ALLOWLIST_WILDCARD "*" #define SUPERUSER_AUDIT_TAG "AUDIT" diff --git a/updates/set_user--4.1.0--4.2.0.sql b/updates/set_user--4.1.0--4.2.0.sql new file mode 100644 index 0000000..3635207 --- /dev/null +++ b/updates/set_user--4.1.0--4.2.0.sql @@ -0,0 +1,2 @@ +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION set_user UPDATE" to load this file. \quit