Limitations and considerations
You should be aware of the following limitations and considerations when using Google Cloud SQL for PostgreSQL as a source:
- The database name cannot include a semi-colon (;).
- Capturing changes while the database is in Hot Standby mode is not supported.
-
To capture changes from a secondary database, read/write privileges must be configured on the database. Due to the write permission requirement, the PostgreSQL read replica (in a High Availability environment) is not supported.
For information about the read-write permission, see Prerequisites
- Replication of multiple tables with the same name but a different case (e.g. table1, TABLE1 and Table1) may cause unpredictable behavior and is therefore not supported.
- Change processing of TRUNCATE operations is not supported.
- Deferred Constraints are not supported.
-
The default configuration of Replica identity is supported only.
For more information about Replica identity, see https://www.postgresql.org/docs/10/logical-replication-publication.html
-
Unique Indexes with CASE expressions are not supported.
- Both the source table and the corresponding target table must have an identical Primary Key. In the event that one of the tables does not have a Primary Key, the result of DELETE and UPDATE record operations will be unpredictable.
- The “Start Process Changes from Timestamp” run option is not supported.
- Replication of the Before Image is not supported.
-
Change processing of [CREATE | ALTER | DROP] table DDLs are supported unless they are held in an inner function/procedure body block or in other nested constructs.
For example, the following change will not be captured:
CREATE OR REPLACE FUNCTION attu.create_distributors1() RETURNS void
LANGUAGE plpgsql
AS $$
BEGIN
create table attu.distributors1(did serial PRIMARY KEY,name varchar(40) NOT NULL);
END;
$$;
-
When Support partitioned tables in CDC is enabled in the Advanced tab, the following DDLs are not supported:
- Drop partition
- Detach partition
- Attach partition - with data
- UPDATEs to a partitioned source table will be applied as INSERTs and DELETEs to the target table.
-
When using the Parallel Load feature, table segmentation according to partitions or sub-partitions is not supported.
- When using filters that do not contain a Primary Key, DELETE operations will not be captured.
-
When capturing changes to source tables, a RENAME TABLE operation will be captured only if it is preceded by a DML operation.
-
PostGIS data types are not supported.
-
Forced failover is a feature of Azure Database for PostgreSQL – Flexible Server. If forced failover occurs when replicating data from Azure Database for PostgreSQL – Flexible Server, the task will stop and will need to be reloaded.
-
The SQL MERGE command introduced in PostgreSQL 15.x has not been certified.
-
The AR_H_USER header column is not supported.