> 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.
I've only 2 databases t(template1 and another one) and it didn't worked in any of them
Also, I couldn't create the alternate view, I get the same error:
xxx:~# psql -U postgres template1
ERROR: nodeRead: did not find '}' at end of plan node
Welcome to psql 7.3.2, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help on internal slash commands
\g or terminate with semicolon to execute query
\q to quit
template1=>
template1=> CREATE VIEW my_pg_user AS
template1-> SELECT
template1-> usename,
template1-> usesysid,
template1-> usecreatedb,
template1-> usesuper,
template1-> usecatupd,
template1-> '********'::text as passwd,
template1-> valuntil,
template1-> useconfig
template1-> FROM pg_shadow;
ERROR: current transaction is aborted, queries ignored until end of transaction block
Im running debian stable/testing, postgresql 7.3.2 with a "connect by prior" patch.
Thanks in advance
On Mon, 15 Mar 2004 17:07:09 -0500
Tom Lane <tgl@sss.pgh.pa.us> wrote:
> 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(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
frompg_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
>
--
you can find my public PGP/GPG key at http://www.n3rds.com.ar/files/martin_sarsale.key