public inbox for [email protected]help / color / mirror / Atom feed
[PATCH] remove deprecated v8.2 containment operators 2+ messages / 2 participants [nested] [flat]
* [PATCH] remove deprecated v8.2 containment operators @ 2020-04-12 03:57 Justin Pryzby <[email protected]> 0 siblings, 0 replies; 2+ messages in thread From: Justin Pryzby @ 2020-04-12 03:57 UTC (permalink / raw) See also: ba920e1c9182eac55d5f1327ab0d29b721154277 684ad6a92fcc33adebdab65c4e7d72a68ba05408 3165426e54df02a6199c0a216546e5095e875a0a 2f70fdb0644c32c4154236c2b5c241bec92eac5e 591d282e8d3e0448ec1339c6b066e10953f040a2 --- contrib/cube/Makefile | 2 +- contrib/cube/cube--1.4--1.5.sql | 10 ++++++++++ contrib/cube/cube.control | 2 +- contrib/hstore/Makefile | 1 + contrib/hstore/hstore--1.0--1.1.sql | 7 +++++++ contrib/hstore/hstore--1.8--1.9.sql | 8 ++++++++ contrib/hstore/hstore.control | 2 +- contrib/intarray/Makefile | 2 +- contrib/intarray/intarray--1.4--1.5.sql | 18 ++++++++++++++++++ contrib/intarray/intarray.control | 2 +- contrib/seg/Makefile | 2 +- contrib/seg/seg--1.3--1.4.sql | 11 +++++++++++ contrib/seg/seg.control | 2 +- doc/src/sgml/cube.sgml | 8 -------- doc/src/sgml/hstore.sgml | 10 ---------- doc/src/sgml/intarray.sgml | 8 -------- doc/src/sgml/seg.sgml | 8 -------- 17 files changed, 62 insertions(+), 41 deletions(-) create mode 100644 contrib/cube/cube--1.4--1.5.sql create mode 100644 contrib/hstore/hstore--1.0--1.1.sql create mode 100644 contrib/hstore/hstore--1.8--1.9.sql create mode 100644 contrib/intarray/intarray--1.4--1.5.sql create mode 100644 contrib/seg/seg--1.3--1.4.sql diff --git a/contrib/cube/Makefile b/contrib/cube/Makefile index 54f609db17..cf195506c7 100644 --- a/contrib/cube/Makefile +++ b/contrib/cube/Makefile @@ -7,7 +7,7 @@ OBJS = \ cubeparse.o EXTENSION = cube -DATA = cube--1.2.sql cube--1.2--1.3.sql cube--1.3--1.4.sql \ +DATA = cube--1.2.sql cube--1.2--1.3.sql cube--1.3--1.4.sql cube--1.4--1.5.sql \ cube--1.1--1.2.sql cube--1.0--1.1.sql PGFILEDESC = "cube - multidimensional cube data type" diff --git a/contrib/cube/cube--1.4--1.5.sql b/contrib/cube/cube--1.4--1.5.sql new file mode 100644 index 0000000000..07a5f0755d --- /dev/null +++ b/contrib/cube/cube--1.4--1.5.sql @@ -0,0 +1,10 @@ +/* contrib/cube/cube--1.4--1.5.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION cube UPDATE TO '1.5'" to load this file. \quit + +-- Remove @ and ~ +ALTER OPERATOR FAMILY gist_cube_ops USING gist +DROP OPERATOR 13 (cube, cube); +ALTER OPERATOR FAMILY gist_cube_ops USING gist +DROP OPERATOR 14 (cube, cube); diff --git a/contrib/cube/cube.control b/contrib/cube/cube.control index 3e238fc937..50427ec117 100644 --- a/contrib/cube/cube.control +++ b/contrib/cube/cube.control @@ -1,6 +1,6 @@ # cube extension comment = 'data type for multidimensional cubes' -default_version = '1.4' +default_version = '1.5' module_pathname = '$libdir/cube' relocatable = true trusted = true diff --git a/contrib/hstore/Makefile b/contrib/hstore/Makefile index c4e339b57c..97b228b65f 100644 --- a/contrib/hstore/Makefile +++ b/contrib/hstore/Makefile @@ -12,6 +12,7 @@ OBJS = \ EXTENSION = hstore DATA = hstore--1.4.sql \ + hstore--1.8--1.9.sql \ hstore--1.7--1.8.sql \ hstore--1.6--1.7.sql \ hstore--1.5--1.6.sql \ diff --git a/contrib/hstore/hstore--1.0--1.1.sql b/contrib/hstore/hstore--1.0--1.1.sql new file mode 100644 index 0000000000..4e32a575c5 --- /dev/null +++ b/contrib/hstore/hstore--1.0--1.1.sql @@ -0,0 +1,7 @@ +/* contrib/hstore/hstore--1.0--1.1.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION hstore UPDATE TO '1.1'" to load this file. \quit + +ALTER EXTENSION hstore DROP OPERATOR => (text, text); +DROP OPERATOR => (text, text); diff --git a/contrib/hstore/hstore--1.8--1.9.sql b/contrib/hstore/hstore--1.8--1.9.sql new file mode 100644 index 0000000000..2220fee444 --- /dev/null +++ b/contrib/hstore/hstore--1.8--1.9.sql @@ -0,0 +1,8 @@ +/* contrib/hstore/hstore--1.8--1.9.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION hstore UPDATE TO '1.9'" to load this file. \quit + +-- Remove @ +ALTER OPERATOR FAMILY gist_hstore_ops USING gist +DROP OPERATOR 13 (hstore, hstore); diff --git a/contrib/hstore/hstore.control b/contrib/hstore/hstore.control index 89e3c746c4..b73c28aa4d 100644 --- a/contrib/hstore/hstore.control +++ b/contrib/hstore/hstore.control @@ -1,6 +1,6 @@ # hstore extension comment = 'data type for storing sets of (key, value) pairs' -default_version = '1.8' +default_version = '1.9' module_pathname = '$libdir/hstore' relocatable = true trusted = true diff --git a/contrib/intarray/Makefile b/contrib/intarray/Makefile index 01faa36b10..3817c1669a 100644 --- a/contrib/intarray/Makefile +++ b/contrib/intarray/Makefile @@ -12,7 +12,7 @@ OBJS = \ _intbig_gist.o EXTENSION = intarray -DATA = intarray--1.3--1.4.sql intarray--1.2--1.3.sql \ +DATA = intarray--1.4--1.5.sql intarray--1.3--1.4.sql intarray--1.2--1.3.sql \ intarray--1.2.sql intarray--1.1--1.2.sql \ intarray--1.0--1.1.sql PGFILEDESC = "intarray - functions and operators for arrays of integers" diff --git a/contrib/intarray/intarray--1.4--1.5.sql b/contrib/intarray/intarray--1.4--1.5.sql new file mode 100644 index 0000000000..adb6ce136c --- /dev/null +++ b/contrib/intarray/intarray--1.4--1.5.sql @@ -0,0 +1,18 @@ +/* contrib/intarray/intarray--1.4--1.5.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION intarray UPDATE TO '1.5'" to load this file. \quit + +-- Remove @ +ALTER OPERATOR FAMILY gist__int_ops USING gist +DROP OPERATOR 13 (_int4, _int4); + +ALTER OPERATOR FAMILY gist__intbig_ops USING gist +DROP OPERATOR 13 (_int4, _int4); + +ALTER OPERATOR FAMILY gin__int_ops USING gin +DROP OPERATOR 13 (_int4, _int4); + +-- Remove ~ from GIN - it was removed from gist in 1.4 +ALTER OPERATOR FAMILY gin__int_ops USING gin +DROP OPERATOR 14 (_int4, _int4); diff --git a/contrib/intarray/intarray.control b/contrib/intarray/intarray.control index bbc837c573..c3ff753e2c 100644 --- a/contrib/intarray/intarray.control +++ b/contrib/intarray/intarray.control @@ -1,6 +1,6 @@ # intarray extension comment = 'functions, operators, and index support for 1-D arrays of integers' -default_version = '1.4' +default_version = '1.5' module_pathname = '$libdir/_int' relocatable = true trusted = true diff --git a/contrib/seg/Makefile b/contrib/seg/Makefile index f3578a8634..bb63e83506 100644 --- a/contrib/seg/Makefile +++ b/contrib/seg/Makefile @@ -7,7 +7,7 @@ OBJS = \ segparse.o EXTENSION = seg -DATA = seg--1.1.sql seg--1.1--1.2.sql seg--1.2--1.3.sql \ +DATA = seg--1.1.sql seg--1.1--1.2.sql seg--1.2--1.3.sql seg--1.3--1.4.sql \ seg--1.0--1.1.sql PGFILEDESC = "seg - line segment data type" diff --git a/contrib/seg/seg--1.3--1.4.sql b/contrib/seg/seg--1.3--1.4.sql new file mode 100644 index 0000000000..8bdf1dd99b --- /dev/null +++ b/contrib/seg/seg--1.3--1.4.sql @@ -0,0 +1,11 @@ +/* contrib/seg/seg--1.3--1.4.sql */ + +-- complain if script is sourced in psql, rather than via ALTER EXTENSION +\echo Use "ALTER EXTENSION seg UPDATE TO '1.4'" to load this file. \quit + +-- Remove @ and ~ +ALTER OPERATOR FAMILY gist_seg_ops USING gist +DROP OPERATOR 13 (seg, seg); + +ALTER OPERATOR FAMILY gist_seg_ops USING gist +DROP OPERATOR 14 (seg, seg); diff --git a/contrib/seg/seg.control b/contrib/seg/seg.control index 9ac3080848..e2c6a4750f 100644 --- a/contrib/seg/seg.control +++ b/contrib/seg/seg.control @@ -1,6 +1,6 @@ # seg extension comment = 'data type for representing line segments or floating-point intervals' -default_version = '1.3' +default_version = '1.4' module_pathname = '$libdir/seg' relocatable = true trusted = true diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index 3dd89bb14d..adf8dbaa91 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -222,14 +222,6 @@ </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and <literal><@</literal> were - respectively called <literal>@</literal> and <literal>~</literal>. These names are still available, but are - deprecated and will eventually be retired. Notice that the old names - are reversed from the convention formerly followed by the core geometric - data types!) - </para> - <para> In addition to the above operators, the usual comparison operators shown in <xref linkend="functions-comparison-op-table"/> are diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index e867fcc5ae..db5779052a 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -318,16 +318,6 @@ key => NULL </tgroup> </table> - <note> - <para> - Prior to PostgreSQL 8.2, the containment operators <literal>@></literal> - and <literal><@</literal> were called <literal>@</literal> and <literal>~</literal>, - respectively. These names are still available, but are deprecated and will - eventually be removed. Notice that the old names are reversed from the - convention formerly followed by the core geometric data types! - </para> - </note> - <table id="hstore-func-table"> <title><type>hstore</type> Functions</title> <tgroup cols="1"> diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml index af44c7b214..dfe98279c0 100644 --- a/doc/src/sgml/intarray.sgml +++ b/doc/src/sgml/intarray.sgml @@ -364,14 +364,6 @@ </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and - <literal><@</literal> were respectively called <literal>@</literal> and <literal>~</literal>. - These names are still available, but are deprecated and will eventually be - retired. Notice that the old names are reversed from the convention - formerly followed by the core geometric data types!) - </para> - <para> The operators <literal>&&</literal>, <literal>@></literal> and <literal><@</literal> are equivalent to <productname>PostgreSQL</productname>'s built-in diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml index e0dfbc76cf..9be69e3609 100644 --- a/doc/src/sgml/seg.sgml +++ b/doc/src/sgml/seg.sgml @@ -352,14 +352,6 @@ test=> select '6.25 .. 6.50'::seg as "pH"; </tgroup> </table> - <para> - (Before PostgreSQL 8.2, the containment operators <literal>@></literal> and <literal><@</literal> were - respectively called <literal>@</literal> and <literal>~</literal>. These names are still available, but are - deprecated and will eventually be retired. Notice that the old names - are reversed from the convention formerly followed by the core geometric - data types!) - </para> - <para> In addition to the above operators, the usual comparison operators shown in <xref linkend="functions-comparison-op-table"/> are -- 2.17.0 --2NLGdgz3UMHa/lqP-- ^ permalink raw reply [nested|flat] 2+ messages in thread
* RE: Initial Schema Sync for Logical Replication @ 2023-03-23 15:54 Kumar, Sachin <[email protected]> 0 siblings, 0 replies; 2+ messages in thread From: Kumar, Sachin @ 2023-03-23 15:54 UTC (permalink / raw) To: Amit Kapila <[email protected]>; +Cc: [email protected] <[email protected]> > From: Amit Kapila <[email protected]> > IIUC, this is possible only if tablesync process uses a snapshot different than the > snapshot we have used to perform the initial schema sync, otherwise, this > shouldn't be a problem. Let me try to explain my understanding with an example > (the LSNs used are just explain the > problem): > > 1. Create Table t1(c1, c2); --LSN: 90 > 2. Insert t1 (1, 1); --LSN 100 > 3. Insert t1 (2, 2); --LSN 110 > 4. Alter t1 Add Column c3; --LSN 120 > 5. Insert t1 (3, 3, 3); --LSN 130 > > Now, say before starting tablesync worker, apply process performs initial > schema sync and uses a snapshot corresponding to LSN 100. Then it starts > tablesync process to allow the initial copy of data in t1. > Here, if the table sync process tries to establish a new snapshot, it may get data > till LSN 130 and when it will try to copy the same in subscriber it will fail. Is my > understanding correct about the problem you described? Right > If so, can't we allow > tablesync process to use the same exported snapshot as we used for the initial > schema sync and won't that solve the problem you described? I think we won't be able to use same snapshot because the transaction will be committed. In CreateSubscription() we can use the transaction snapshot from walrcv_create_slot() till walrcv_disconnect() is called.(I am not sure about this part maybe walrcv_disconnect() calls the commits internally ?). So somehow we need to keep this snapshot alive, even after transaction is committed(or delay committing the transaction , but we can have CREATE SUBSCRIPTION with ENABLED=FALSE, so we can have a restart before tableSync is able to use the same snapshot.) > > Refresh publication :- > > > > In refresh publication, subscriber does create a new replication slot Typo-> subscriber does not > > hence , we can’t run > > > > pg_dump with a snapshot which starts from origin(maybe this is not an > > issue at all). In this case > > > > it makes more sense for tableSync worker to do schema sync. > > > > Can you please explain this problem with some examples? I think we can have same issues as you mentioned New table t1 is added to the publication , User does a refresh publication. pg_dump / pg_restore restores the table definition. But before tableSync can start, steps from 2 to 5 happen on the publisher. > 1. Create Table t1(c1, c2); --LSN: 90 > 2. Insert t1 (1, 1); --LSN 100 > 3. Insert t1 (2, 2); --LSN 110 > 4. Alter t1 Add Column c3; --LSN 120 > 5. Insert t1 (3, 3, 3); --LSN 130 And table sync errors out There can be one more issue , since we took the pg_dump without snapshot (wrt to replication slot). (I am not 100 percent sure about this). Lets imagine applier process is lagging behind publisher. Events on publisher 1. alter t1 drop column c; LSN 100 <-- applier process tries to execute this DDL 2. alter t1 drop column d; LSN 110 3. insert into t1 values(..); LSN 120 <-- (Refresh publication called )pg_dump/restore restores this version Applier process executing 1 will fail because t1 does not have column c. Regards Sachin ^ permalink raw reply [nested|flat] 2+ messages in thread
end of thread, other threads:[~2023-03-23 15:54 UTC | newest] Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed) -- links below jump to the message on this page -- 2020-04-12 03:57 [PATCH] remove deprecated v8.2 containment operators Justin Pryzby <[email protected]> 2023-03-23 15:54 RE: Initial Schema Sync for Logical Replication Kumar, Sachin <[email protected]>
This inbox is served by agora; see mirroring instructions for how to clone and mirror all data and code used for this inbox