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
