Re: Sporadic "relation does not exist" errors with psqlODBC

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Scott Beil <SBeil(at)800link(dot)com>
Cc: pgsql-interfaces(at)postgresql(dot)org
Subject: Re: Sporadic "relation does not exist" errors with psqlODBC
Date: 2017-07-12 15:53:15
Message-ID: 5244.1499874795@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Scott Beil <SBeil(at)800link(dot)com> writes:
> Every once in a while I get this error:
> ERROR: column "column_name" of relation "table_name" does not exist

> - The problem only occurs when under load. 
> - The database version is 9.6.3
> - The problem exists in ODBC versions 09.03.0300 and 09.06.0310, but not in 09.00.0310 (versions not mentioned have not been tested)
> - Two identical applications are running simultaneously. One uses 09.06.0310, the other uses 09.00.0310. The one using 09.06.0310 exhibits the error, the one using 09.00.0310 does not. By the way, the app using 09.00.0310 that does not produce the error is typically under a heavier load than the one that does.
> - The column name in the error is one I recognize, but it belongs to another table than the one reported in the error.
> - To the best of my knowledge, only inserts and updates are affected.

It seems unlikely to me that the ODBC version has much to do with this.
I can imagine server bugs that would cause it ... but actually finding
such a bug, if it exists, is harder.

Have you checked that the statements suffering the error are sane (that
is, they actually name valid table/column combinations)? Is there any
other commonality in the statements suffering the error? Can you
correlate occurrences of the error with DDL being executed in other
sessions?

> Of course the big problem here is how to reproduce or capture the problem in a log when it is sporadic and only occurs under load. I would like to see this problem resolved and am willing to do my part.

What I'd think about is trying to boil down/sanitize your workload into
something you can submit as a self-contained test case. If you can do
anything that increases the frequency of the error, better yet.

regards, tom lane

In response to

Browse pgsql-interfaces by date

  From Date Subject
Next Message Peter Koukoulis 2017-07-14 11:22:09 ref cursor in C++ using SQLAPI++
Previous Message Scott Beil 2017-07-12 00:29:47 Sporadic "relation does not exist" errors with psqlODBC