First table sync: it should be simply just copied to the destination NOTICE: INSERTED 4 row(s) Next table sync: there shall be no changes NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: DELETED 0 row(s) NOTICE: INSERTED 0 row(s) NOTICE: MODIFIED 0 row(s) Remove a row from the source and check it is deleted from the dest table DELETE 1 NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: DELETED 1 row(s) NOTICE: INSERTED 0 row(s) NOTICE: MODIFIED 0 row(s) Insert a new row and check that it is inserted in the dest table INSERT 0 1 NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: DELETED 0 row(s) NOTICE: INSERTED 1 row(s) NOTICE: MODIFIED 0 row(s) Modify row and check that it is modified in the dest table UPDATE 1 NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: DELETED 0 row(s) NOTICE: INSERTED 0 row(s) NOTICE: MODIFIED 1 row(s) Sanity check: the end result is the same source table 1|1|1|foo 2|2|2|bar 4|4|4|cantaloupe 5|5|5|sandia 1|1|1|foo 2|2|2|bar 4|4|4|cantaloupe 5|5|5|sandia It shall exclude geom columns if instructed to do so 0 test_sync_source test_sync_dest SET NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: cdb_invalidate_varnish(public.test_sync_dest) called NOTICE: DELETED 0 row(s) NOTICE: cdb_invalidate_varnish(public.test_sync_dest) called NOTICE: INSERTED 0 row(s) NOTICE: cdb_invalidate_varnish(public.test_sync_dest) called NOTICE: MODIFIED 0 row(s) 1|||1|1|foo 2|||2|2|bar 4|||4|4|cantaloupe 5|||5|5|sandia 1|0101000020E6100000000000000000F03F000000000000F03F|0101000020110F0000DB0B4ADA772DFB402B432E49D22DFB40|1|1|foo 2|0101000020E610000000000000000000400000000000000040|0101000020110F00003C0C4ADA772D0B4177F404ABE12E0B41|2|2|bar 4|0101000020E610000000000000000010400000000000001040|0101000020110F00003C0C4ADA772D1B4160AB497020331B41|4|4|cantaloupe 5|0101000020E610000000000000000014400000000000001440|0101000020110F000099476EE86AFC20413E7EB983F2012141|5|5|sandia It will work with schemas that need quoting INSERT 0 1 DELETE 1 UPDATE 1 SET NOTICE: relation "test_sync_dest" already exists, skipping NOTICE: DELETED 1 row(s) NOTICE: INSERTED 1 row(s) NOTICE: MODIFIED 1 row(s) It will work with table names that need quoting INSERT 0 1 DELETE 1 UPDATE 1 SET NOTICE: relation "test-sync-dest" already exists, skipping NOTICE: DELETED 1 row(s) NOTICE: INSERTED 1 row(s) NOTICE: MODIFIED 1 row(s) It will work with column names that need quoting INSERT 0 1 DELETE 1 UPDATE 1 SET NOTICE: relation "test_sync_dest2" already exists, skipping NOTICE: DELETED 1 row(s) NOTICE: INSERTED 1 row(s) NOTICE: MODIFIED 1 row(s) ROLLBACK