Re: nodeRead: did not find '}' at end of plan node - Mailing list pgsql-admin

From Tom Lane
Subject Re: nodeRead: did not find '}' at end of plan node
Date
Msg-id 8062.1079388429@sss.pgh.pa.us
Whole thread Raw
In response to nodeRead: did not find '}' at end of plan node  (Martin Sarsale <lists@runa.sytes.net>)
Responses Re: nodeRead: did not find '}' at end of plan node
List pgsql-admin
Martin Sarsale <lists@runa.sytes.net> writes:
> Im running psql (PostgreSQL) 7.3.2 here and since some weeks Im getting this error when trying to dump all databases
(toupgrade 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_databasewhere 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

pgsql-admin by date:

Previous
From: "Campano, Troy"
Date:
Subject: Re: POrtability of ODBC and DBArtisan connection information
Next
From: Erwin Brandstetter
Date:
Subject: Re: Hardware for a database server