Re: nodeRead: did not find '}' at end of plan node

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Martin Sarsale <lists(at)runa(dot)sytes(dot)net>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: nodeRead: did not find '}' at end of plan node
Date: 2004-03-15 22:07:09
Message-ID: 8062.1079388429@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Martin Sarsale <lists(at)runa(dot)sytes(dot)net> 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

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Thomas Leung 2004-03-16 04:02:24 create function problem
Previous Message Campano, Troy 2004-03-15 21:42:56 Re: POrtability of ODBC and DBArtisan connection information