SQL statement in an error report for deferred constraint violation.

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

SQL statement in an error report for deferred constraint violation.

Konrad Witaszczyk
Hi,

While PQresultErrorField() from libpq allows to get context in which an error
occurred for immediate constraints, and thus an SQL statement which caused the
constraint violation, I cannot see any way to find out which SQL statement
caused an error in case of deferred constraints, in particular deferred foreign
key constraints.

Is there any way to check which SQL statement or at least which row violated a
constraint when it's deferred? If not does anyone know why there is such
restriction?


Konrad


signature.asc (981 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: SQL statement in an error report for deferred constraint violation.

Jack Gao
Konrad Witaszczyk wrote
> Hi,
>
> While PQresultErrorField() from libpq allows to get context in which an
> error

> occurred for immediate constraints, and thus an SQL statement which caused
> the
> constraint violation, I cannot see any way to find out which SQL statement
> caused an error in case of deferred constraints, in particular deferred
> foreign
> key constraints.
>
> Is there any way to check which SQL statement or at least which row
> violated a
> constraint when it's deferred? If not does anyone know why there is such
> restriction?
>
>
> Konrad
>
>
>
> signature.asc (981 bytes)
> <http://www.postgresql-archive.org/attachment/6015088/0/signature.asc>

First of all, you need to locate the problem SQL by modifying log
parameters.

sed -ir "s/#*logging_collector.*/logging_collector= on/"
$PGDATA/postgresql.conf
sed -ir "s/#*log_directory.*/log_directory = 'pg_log'/"
$PGDATA/postgresql.conf
sed -ir "s/#*log_statement.*/log_statement= 'all'/" $PGDATA/postgresql.conf

Execute this SQL and send error message in the log.

regards

Jack Gao



--
Sent from: http://www.postgresql-archive.org/PostgreSQL-general-f1843780.html

Previous Thread Next Thread