postgresql/src/backend
Tom Lane 72a5b1fc88 Add @extschema:name@ and no_relocate options to extensions.
@extschema:name@ extends the existing @extschema@ feature so that
we can also insert the schema name of some required extension,
thus making cross-extension references robust even if they are in
different schemas.

However, this has the same hazard as @extschema@: if the schema
name is embedded literally in an installed object, rather than being
looked up once during extension script execution, then it's no longer
safe to relocate the other extension to another schema.  To deal with
that without restricting things unnecessarily, add a "no_relocate"
option to extension control files.  This allows an extension to
specify that it cannot handle relocation of some of its required
extensions, even if in themselves those extensions are relocatable.
We detect "no_relocate" requests of dependent extensions during
ALTER EXTENSION SET SCHEMA.

Regina Obe, reviewed by Sandro Santilli and myself

Discussion: https://postgr.es/m/003001d8f4ae$402282c0$c0678840$@pcorp.us
2023-03-20 18:37:11 -04:00
..
access Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
archive Redesign archive modules 2023-02-17 14:26:42 +09:00
backup Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
bootstrap Update copyright for 2023 2023-01-02 15:00:37 -05:00
catalog Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
commands Add @extschema:name@ and no_relocate options to extensions. 2023-03-20 18:37:11 -04:00
executor Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
foreign Update copyright for 2023 2023-01-02 15:00:37 -05:00
jit Fix incorrect format placeholders 2023-03-10 07:10:43 +01:00
lib Fix ILIST_DEBUG build 2023-01-18 10:26:15 -08:00
libpq Add a hook for modifying the ldapbind password 2023-03-15 16:37:28 -04:00
main Mark options as deprecated in usage output 2023-03-02 14:36:37 +01:00
nodes Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
optimizer Have the planner account for the Memoize cache key memory 2023-03-20 16:26:04 +13:00
parser Support [NO] INDENT option in XMLSERIALIZE(). 2023-03-15 16:59:09 -04:00
partitioning Remove useless casts to (void *) in arguments of some system functions 2023-02-07 06:57:59 +01:00
po Update copyright for 2023 2023-01-02 15:00:37 -05:00
port Update copyright for 2023 2023-01-02 15:00:37 -05:00
postmaster Small tidyup for commit d41a178b, part II. 2023-03-17 14:44:12 +13:00
regex Refactor to introduce pg_locale_deterministic(). 2023-02-23 11:17:41 -08:00
replication Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
rewrite Fix more bugs caused by adding columns to the end of a view. 2023-03-07 18:21:53 -05:00
snowball Update copyright for 2023 2023-01-02 15:00:37 -05:00
statistics Remove unnecessary code in dependency_is_compatible_expression(). 2023-03-14 11:10:45 -04:00
storage Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
tcop Improve several permission-related error messages. 2023-03-17 10:33:09 +01:00
tsearch Fix t_isspace(), etc., when datlocprovider=i and datctype=C. 2023-03-17 12:08:46 -07:00
utils Ignore BRIN indexes when checking for HOT updates 2023-03-20 11:02:42 +01:00
.gitignore
common.mk Blind attempt to fix LLVM dependency in the backend 2022-09-15 10:53:48 +07:00
Makefile Redesign archive modules 2023-02-17 14:26:42 +09:00
meson.build meson: Prevent installation of test files during main install 2023-03-03 07:45:52 +01:00
nls.mk NLS: Put list of available languages into LINGUAS files 2022-07-13 08:19:17 +02:00