In
4005c1d bdr_replicate_ddl_command was changed not to override the
command filter, but this broke replication sets in UDR, since they have
to use SECURITY LABEL.
SET bdr.permit_unsafe_ddl_commands on bdr.table_set_replication_sets
since it knows what it's doing.
Fixes #67
Note: The ddl/replication_sets tests cannot be run as-is on UDR because
UDR does not replicate changes to replication sets. We really need
separate tests for this that cover UDR (or BDR+subscribe).
# bdr extension
comment = 'Bi-directional replication for PostgreSQL'
-default_version = '0.10.0.1'
+default_version = '0.10.0.2'
module_pathname = '$libdir/bdr'
relocatable = false
requires = btree_gist
DROP EXTENSION bdr;
CREATE EXTENSION bdr VERSION '0.10.0.1';
DROP EXTENSION bdr;
+CREATE EXTENSION bdr VERSION '0.10.0.2';
+DROP EXTENSION bdr;
-- evolve version one by one from the oldest to the newest one
CREATE EXTENSION bdr VERSION '0.8.0';
ALTER EXTENSION bdr UPDATE TO '0.8.0.1';
ALTER EXTENSION bdr UPDATE TO '0.9.0.4';
ALTER EXTENSION bdr UPDATE TO '0.10.0.0';
ALTER EXTENSION bdr UPDATE TO '0.10.0.1';
+ALTER EXTENSION bdr UPDATE TO '0.10.0.2';
-- Should never have to do anything: You missed adding the new version above.
ALTER EXTENSION bdr UPDATE;
-NOTICE: version "0.10.0.1" of extension "bdr" is already installed
+NOTICE: version "0.10.0.2" of extension "bdr" is already installed
\dx bdr
List of installed extensions
Name | Version | Schema | Description
------+----------+------------+-------------------------------------------
- bdr | 0.10.0.1 | pg_catalog | Bi-directional replication for PostgreSQL
+ bdr | 0.10.0.2 | pg_catalog | Bi-directional replication for PostgreSQL
(1 row)
\c postgres
--- /dev/null
+SET LOCAL search_path = bdr;
+SET bdr.permit_unsafe_ddl_commands = true;
+SET bdr.skip_ddl_replication = true;
+
+--
+-- set_replication_sets knows what it's doing and needs to be able to
+-- replicate SECURITY LABEL commands
+--
+ALTER FUNCTION bdr.table_set_replication_sets(p_relation regclass, p_sets text[])
+SET bdr.permit_unsafe_ddl_commands = true;
+
+
+RESET bdr.permit_unsafe_ddl_commands;
+RESET bdr.skip_ddl_replication;
+RESET search_path;
CREATE EXTENSION bdr VERSION '0.10.0.1';
DROP EXTENSION bdr;
+CREATE EXTENSION bdr VERSION '0.10.0.2';
+DROP EXTENSION bdr;
+
-- evolve version one by one from the oldest to the newest one
CREATE EXTENSION bdr VERSION '0.8.0';
ALTER EXTENSION bdr UPDATE TO '0.8.0.1';
ALTER EXTENSION bdr UPDATE TO '0.9.0.4';
ALTER EXTENSION bdr UPDATE TO '0.10.0.0';
ALTER EXTENSION bdr UPDATE TO '0.10.0.1';
+ALTER EXTENSION bdr UPDATE TO '0.10.0.2';
-- Should never have to do anything: You missed adding the new version above.