Algo asi:
Código PHP:
Ver original<?php
$sql="BEGIN TRANSACTION
BEGIN TRY
//aca los declare
//aca los insert, update...
SELECT '1' AS RES
COMMIT TRANSACTION BEGIN TRANSACTION END TRY BEGIN CATCH ROLLBACK TRANSACTION
INSERT INTO LOGS VALUES () //Cuando no se ejecuta la transaccion guardo un log del error
END CATCH";
?>
y luego
$result=pg_exec($con, $sql);