What can be done to simulate a Microsoft SQL Server try catch but in PostgreSQL?
BEGIN TRY
BEGIN TRANSACTION
IF EXISTS (SELECT * FROM USUARIOS WHERE ID_USUARIO = @ID_RESPONSABLE)
BEGIN
DECLARE @ID_CLIENTE INT
SET @ID_CLIENTE = (SELECT ID_MEMBRESIA FROM CLIENTES WHERE
@NOMBRE = NOMBRE AND
@APELLIDO_P = APELLIDO_P AND
@APELLIDO_M = APELLIDO_M AND
@FECHA_NAC = FECHA_NAC
)
IF @ID_CLIENTE IS NULL
BEGIN
INSERT INTO CLIENTES
VALUES (@ID_MEMBRESIA,@NOMBRE,@APELLIDO_P,@APELLIDO_M,
@FECHA_NAC,@CALLE,@NUMERO,@COLONIA,@CODIGO_P,@MUNICIPIO,@LOCALIDAD,@ESTADO,'SI')
INSERT INTO BITACORA VALUES
(@ID_RESPONSABLE, 'CLIENTES',('Dio de alta un nuevo cliente: '+
@NOMBRE +' '+@APELLIDO_P+' '+@APELLIDO_M),
GETDATE())
SET @STATUS = 'true'
SET @MENSAJE = 'Se ha registrado un nuevo cliente satisfactoriamente'
END
ELSE
BEGIN
SET @MENSAJE = 'Este cliente ya existe en la base de datos'
PRINT @MENSAJE
SET @STATUS ='false'
END
END
ELSE
BEGIN
SET @MENSAJE = 'Usuario denegado. Operaciòn inclompleta'
PRINT @MENSAJE
SET @STATUS ='false'
END
COMMIT TRANSACTION
END TRY
BEGIN CATCH
SET @STATUS = 'false'
ROLLBACK TRANSACTION
END CATCH