Re: PostgreSQL CHECK Constraint - Mailing list pgsql-general

From Shaozhong SHI
Subject Re: PostgreSQL CHECK Constraint
Date
Msg-id CA+i5JwYT43QfF69CWaod7xwVHpV4Uen9A3QsjNE2385jL9Y5PA@mail.gmail.com
Whole thread Raw
In response to Re: PostgreSQL CHECK Constraint  (Christian Ramseyer <ramseyer@netnea.com>)
List pgsql-general
Hi, Christian,
Brilliant!
Some years ago, I did something similar and saved problematic ones for data collector.
Now, I am reviewing to see whether there be any elegant way to automate reporting and giving feedback.
Regards,
David

On Sunday, 3 October 2021, Christian Ramseyer <ramseyer@netnea.com> wrote:
>     The reported error looks like this:
>
>     postgres@dellstore ERROR:  new row for relation "test_customers"
>     violates check constraint "check_age"
..
>
>     This errors appears in the serverlog which has many format and
>     forwarding options, you can read about them here:

On 03.10.21 20:16, Shaozhong SHI wrote:
> Hi, Christian,
> That is interesting.  Can errors be captured and saved as data with
> scripting?

Yes that works quite the same, e.g. in Python you can do

try:
    cur.execute("insert into test_customers (firstname, lastname, age)
            values ( %s, %s, %s)", ("Bobby", "Tables", 10))
except psycopg2.errors.CheckViolation as e:
    print(f"That didn't work: {e.cursor.query} failed")
    print(f"{e.pgerror}")


HTH

pgsql-general by date:

Previous
From: Christian Ramseyer
Date:
Subject: Re: PostgreSQL CHECK Constraint
Next
From: Karsten Hilbert
Date:
Subject: Re: PostgreSQL CHECK Constraint