Skip to main content Skip to complementary content

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.

Unsupported data types

Information noteThe PostGIS data type is not supported.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!