Thread: nodeRead: did not find '}' at end of plan node
I'm trying to drop a view from my postgres database and getting the following error: ERROR: nodeRead: did not find '}' at end of plan node I'm not able to drop the view, create a dump file of the entire database, or create a dump file of another table in the database. Each time I get this error. What does this mean? I'm using Linux RedHat 8.0 and PostgreSQL version 7.2.3-5.80
tstump@regenstrief.org (Tim Stump) writes: > I'm trying to drop a view from my postgres database and getting the > following error: > ERROR: nodeRead: did not find '}' at end of plan node This suggests either that you have a corrupted entry in pg_rewrite, or that the database is somehow version-incompatible with the backend (ie, the backend is expecting a different parsetree-node layout than what is in the database entry for the view). Would you show us the output from select * from pg_rewrite where ev_class = (select oid from pg_class where relname = 'the-troublesome-view'); If you don't really care about determining the cause, you could just manually DELETE the view's row from pg_class, and then you should be able to dump. But it would be interesting to figure out how you got into this state. regards, tom lane
tgl@sss.pgh.pa.us (Tom Lane) wrote in message news:<11222.1045258379@sss.pgh.pa.us>... > tstump@regenstrief.org (Tim Stump) writes: > > I'm trying to drop a view from my postgres database and getting the > > following error: > > ERROR: nodeRead: did not find '}' at end of plan node > > This suggests either that you have a corrupted entry in pg_rewrite, > or that the database is somehow version-incompatible with the backend > (ie, the backend is expecting a different parsetree-node layout than > what is in the database entry for the view). > > Would you show us the output from > > select * from pg_rewrite where ev_class = (select oid from pg_class > where relname = 'the-troublesome-view'); > > If you don't really care about determining the cause, you could just > manually DELETE the view's row from pg_class, and then you should be > able to dump. But it would be interesting to figure out how you got > into this state. > > regards, tom lane > > ---------------------------(end of broadcast)--------------------------- > TIP 6: Have you searched our list archives? > > http://archives.postgresql.org Tom, Thanks for the information. I manually deleted the view from the pg_class table, but then I could not re-create the view (i.e., using the same name). There must be some other system table that stores information out there besides pg_class. At least I could create a dump file of the entire database. Then I dropped the database and restored from the dump file. After this, I was able to create the view just fine. Not sure if that is the optimal solution, but it worked. Thanks again for your help. --Tim
tstump@regenstrief.org (Tim Stump) writes: > Thanks for the information. I manually deleted the view from the > pg_class table, but then I could not re-create the view (i.e., using > the same name). There must be some other system table that stores > information out there besides pg_class. pg_type would have an entry named for the view, too. Can't recall anything else that would give trouble. > At least I could create a > dump file of the entire database. Then I dropped the database and > restored from the dump file. After this, I was able to create the > view just fine. Can you dump it now? If there's actually a software bug here, I'd expect the same view definition to lead to the same complaint. But if you can dump it now, then I'd lean towards the corrupted-catalog-entry theory. Not that that should make you any happier ... have you run memory and disk diagnostics lately? regards, tom lane
Tom, Thanks again. Yes, I was able to create a dump file at that point so I don't think it is a software bug. Besides, the view had been in use for about a year and a half. We're going to run some memory and disk diagnostics. --Tim Tom Lane wrote: > tstump@regenstrief.org (Tim Stump) writes: > > Thanks for the information. I manually deleted the view from the > > pg_class table, but then I could not re-create the view (i.e., using > > the same name). There must be some other system table that stores > > information out there besides pg_class. > > pg_type would have an entry named for the view, too. Can't recall > anything else that would give trouble. > > > At least I could create a > > dump file of the entire database. Then I dropped the database and > > restored from the dump file. After this, I was able to create the > > view just fine. > > Can you dump it now? If there's actually a software bug here, I'd > expect the same view definition to lead to the same complaint. > But if you can dump it now, then I'd lean towards the > corrupted-catalog-entry theory. Not that that should make you any > happier ... have you run memory and disk diagnostics lately? > > regards, tom lane