Thread: relation "pg_user" does not exist

relation "pg_user" does not exist

From
"Rick Roman"
Date:
I am running PostgreSQL 7.4.7 on Fedora Core 3. I get a lot of
warnings from pgAdmin III:

relation "pg_user" does not exist

but it doesn't seem to prevent me from doing most operations. More
seriously, I cannot execute a backup. I get the following message:

*****************************************
/usr/bin/pg_dump -i -h localhost -p 5432 -U postgres -F c -b -v -f
"testbackupfile" rickdb
pg_dump: saving encoding
pg_dump: saving database definition
pg_dump: SQL command failed
pg_dump: Error message from server: ERROR:  relation "pg_user" does
not exist
pg_dump: The command was: SELECT (SELECT usename FROM pg_user WHERE
usesysid = datdba) as dba, pg_encoding_to_char(encoding) as encoding,
datpath FROM pg_database WHERE datname = 'rickdb'
pg_dump: *** aborted because of error

Process returned exit code 1.
******************************************

Indeed, if I log in as -U postgres -d template1 and select * from
pg_user, the view does not exist. Anybody have an idea why this view
was not created on install and what I can do to correct the situation?

Re: relation "pg_user" does not exist

From
Tom Lane
Date:
"Rick Roman" <rick@cotse.net> writes:
> I am running PostgreSQL 7.4.7 on Fedora Core 3. I get a lot of
> warnings from pgAdmin III:

> relation "pg_user" does not exist

You've probably been bit by the problems with SELinux disabling parts of
the initdb script.  You'll need to re-initdb after installing the latest
RPMs (postgresql 7.4.7-3.FC3.1, not sure which selinux-policy-targeted
is current).  Alternatively, you can shut off SELinux enforcement while
running the older initdb.

            regards, tom lane

Re: relation "pg_user" does not exist

From
"Rick Roman"
Date:
> "Rick Roman" <rick@cotse.net> writes:
>> I am running PostgreSQL 7.4.7 on Fedora Core 3. I get a lot of
>> warnings from pgAdmin III:
>
>> relation "pg_user" does not exist
>
> You've probably been bit by the problems with SELinux disabling parts
> of
> the initdb script.  You'll need to re-initdb after installing the
> latest
> RPMs (postgresql 7.4.7-3.FC3.1, not sure which selinux-policy-targeted
> is current).  Alternatively, you can shut off SELinux enforcement
> while
> running the older initdb.
>
>             regards, tom lane
>
It looks like 7.4.7 is what's currently in distribution on up2date, so
I tried running initdb with SE Linux off with my current 7.4.7. This
worked fine except that, if I turn SE Linux back on, the Postgres
server will no longer start up.

I guess I'll just leave SE Linux off until 7.4.7-3 is available. It's
just a dev box anyway. Thanks for your help!

Re: relation "pg_user" does not exist

From
Tom Lane
Date:
"Rick Roman" <rick@cotse.net> writes:
>> You'll need to re-initdb after installing the latest
>> RPMs (postgresql 7.4.7-3.FC3.1, not sure which selinux-policy-targeted
>> is current).

> It looks like 7.4.7 is what's currently in distribution on up2date,

Dunno what your up2date tool is looking at, but 7.4.7-3.FC3.1 was
pushed to the Fedora download servers on 22-Feb.  Look for instance at
http://download.fedora.redhat.com/pub/fedora/linux/core/updates/3/i386/

Personally I use "yum" not up2date to track Fedora 3 package updates.
I am not sure that anyone is maintaining an up2date feed for Fedora.

            regards, tom lane