Note: The following description applies both to Postgres-XC and PostgreSQL if not described explicitly.
COMMIT PREPARED commits a transaction that is in prepared state.
To commit a prepared transaction, you must be either the same user that executed the transaction originally, or a superuser. But you do not have to be in the same session that executed the transaction.
This command cannot be executed inside a transaction block. The prepared transaction is committed immediately.
All currently available prepared transactions are listed in the pg_prepared_xacts system view.
Note: The following description applies only to Postgres-XC
If more than one Datanode and/or Coordinator are involved in the transaction, COMMIT PREPARED command will propagate to all these nodes.
Note: The following description applies only to Postgres-XC
If xc_maintenance_mode GUC parameter is set to ON, COMMIT PREPARED will not propagate to other nodes. It just runs locally and report the result to GTM.