Обсуждение: [INTERFACES] Sporadic "relation does not exist" errors with psqlODBC

Поиск
Список
Период
Сортировка

[INTERFACES] Sporadic "relation does not exist" errors with psqlODBC

От
Scott Beil
Дата:
Hi Folks,

Every once in a while I get this error:

ERROR: column "column_name" of relation "table_name" does not exist

Here are the facts:

- By every once in a while, I mean some days I get several, some days one, some days none. 
- 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.

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. 

Is producing a psqlodbc.log the only way to gather the required information? I'm afraid turning on logging will invoke the uncertainty principle (not to mention blow up my hard drive!)

Thanks,

Scott



Re: [INTERFACES] Sporadic "relation does not exist" errors with psqlODBC

От
Tom Lane
Дата:
Scott Beil <SBeil@800link.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
notbeen tested) 
> - Two identical applications are running simultaneously. One uses 09.06.0310, the other uses 09.00.0310. The one
using09.06.0310 exhibits the error, the one using 09.00.0310 does not. By the way, the app using 09.00.0310 that does
notproduce 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
occursunder 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