Martin Sarsale <[EMAIL PROTECTED]> writes:
> Im running psql (PostgreSQL) 7.3.2 here and since some weeks Im getting this error 
> when trying to dump all databases (to upgrade to pg 7.4.1)

> \connect XXX
> pg_dump: SQL command failed
> pg_dump: Error message from server: ERROR:  nodeRead: did not find '}' at end of 
> plan node
> pg_dump: The command was: select (select usename from pg_user where usesysid = 
> datdba) as dba, encoding, datpath from pg_database where datname = 'emepe3'
> pg_dumpall: pg_dump failed on emepe3, exiting

It would appear that the view rule for the pg_user view is corrupt, or
at least not quite the same format that the backend code is expecting.

Can you do "select * from pg_user" in any of your databases, or does it
fail the same way in all?  If it fails in each database then I'd suspect
some kind of version mismatch; if not then it's just corrupt in that
particular database.

We had a similar report last November which seemed to be related to a
glibc update --- see the thread starting here:
http://archives.postgresql.org/pgsql-general/2003-11/msg01102.php
The complainant lost interest after finding a workaround, so we
never did get a complete explanation of what happened, but I'm
suspicious there was some software incompatibility involved, not
data corruption per se.  I would like to find out the truth of the
matter.  If you are interested you could try manually creating an
equivalent of pg_user, viz

CREATE VIEW my_pg_user AS 
    SELECT 
        usename, 
        usesysid, 
        usecreatedb, 
        usesuper, 
        usecatupd, 
        '********'::text as passwd, 
        valuntil, 
        useconfig 
    FROM pg_shadow;

and then see if you can do "select * from my_pg_user", and if so,
what is the difference between the pg_rewrite entries for the two
views.  (See the above-referenced thread for more info.)

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 5: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faqs/FAQ.html

Reply via email to