Skip site navigation (1) Skip section navigation (2)

Obscure problem due to high system OID or privileges?

From: "Jan-Peter Seifert" <Jan-Peter(dot)Seifert(at)gmx(dot)de>
To: pgsql-admin(at)postgresql(dot)org
Subject: Obscure problem due to high system OID or privileges?
Date: 2011-01-03 14:16:02
Message-ID: 20110103141602.204670@gmx.net (view raw or flat)
Thread:
Lists: pgsql-admin
Hello,

we have a strange problem with a server instance:

PostgreSQL 8.2.11 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

It's one of several clones (server/system) where one of our applications cannot work with a specific database restored from a dump of a database on a 8.2.18 server and created with the server's binaries. Recreating the database with template0 again and doing a new restore didn't help. There are no error messages during backup/restore.

The same database/app works fine on the other clones.

The same app works fine after we put the database on a different instance. So it seems to be a specific problem with this server instance. Other databases on this instance seem to work fine though.

During 'start up' the application does a couple of SELECTs on pg_catalog:
.
.
.
SELECT COUNT(*) FROM pg_attribute JOIN pg_type ON pg_attribute.atttypid=pg_type.oid LEFT OUTER JOIN pg_attrdef ON (  pg_attribute.attnum=pg_attrdef.adnum   AND pg_attribute.attrelid=pg_attrdef.adrelid ) WHERE pg_attribute.attrelid = 2147483647 AND pg_attribute.attnum >= 0 AND pg_attribute.attisdropped = 'false'
.
.
.

It seems that the application doesn't find some rows. There are no error messages in the server's log though.

The only two obvious differences we found are:

1. The superuser 'nutzer' used for the session had been given two roles ('nutzerrolle' and 'nutzeradmin') in the problematic server instance:

CREATE ROLE nutzerrolle
  NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE;

CREATE ROLE nutzeradmin
  SUPERUSER INHERIT CREATEDB CREATEROLE;
UPDATE pg_authid SET rolcatupdate=true WHERE OID=9413195::oid;

CREATE ROLE nutzer LOGIN
  ENCRYPTED PASSWORD 'xxxx'
  SUPERUSER INHERIT CREATEDB CREATEROLE;
UPDATE pg_authid SET rolcatupdate=true WHERE OID=2147483647::oid;

Removing these group memberships didn't help though. Recreating the user didn't help neither.

2. Very high system OIDs - e.g. pg_attribute.attrelid max 3318384368 where another server had max 94363332. The application connects via psqlODBC (8.4.200). 

Is this maybe a known problem?

Could you tell me, please?

Thank you very much,

Peter
-- 
NEU: FreePhone - kostenlos mobil telefonieren und surfen!			
Jetzt informieren: http://www.gmx.net/de/go/freephone

Responses

pgsql-admin by date

Next:From: Tom LaneDate: 2011-01-03 16:05:30
Subject: Re: Obscure problem due to high system OID or privileges?
Previous:From: Kevin GrittnerDate: 2011-01-03 11:19:06
Subject: Re: hanging query

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group