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

Re: cannot read pg_class without having selected a database / is this a bug?

From: Tomas Vondra <tv(at)fuzzy(dot)cz>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: cannot read pg_class without having selected a database / is this a bug?
Date: 2011-12-03 23:02:20
Message-ID: 4EDAAA7C.9090501@fuzzy.cz (view raw or flat)
Thread:
Lists: pgsql-hackers
On 3.12.2011 23:37, Robert Haas wrote:
> 2011/12/3 Tomas Vondra <tv(at)fuzzy(dot)cz>:
>> psql: FATAL:  cannot read pg_class without having selected a database
>>
>> I've found this happens because the extension defines a client auth hook
>> that reads pg_stat_activity. The really interesting thing is that this
>> happens only when I start several backends 'at the same time' right
>> after the cluster is started. From that time, everything works just fine.
> 
> I'm surprised this ever works.  To read pg_stat_activity, you need a
> relcache entry for it.  And how will you build one without selecting a
> database?

What do you mean by selecting a database?

I do select a database when executing a psql, but I guess you mean
something that initializes the relcache entry and that's probably
executed after the auth hook.

That might explain why it fails at first and then works just fine,
although it's a bit strange. Wouldn't that mean you can't access any
catalogs from the auth hook?

Tomas

In response to

Responses

pgsql-hackers by date

Next:From: Anders SteinleinDate: 2011-12-03 23:07:20
Subject: WARNING: pgstat wait timeout
Previous:From: Robert HaasDate: 2011-12-03 22:37:07
Subject: Re: cannot read pg_class without having selected a database / is this a bug?

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