Tom Jenkins <tjenkins@devis.com> writes:
> that is what gets dumped via pg_dump. however if we take that statement
> and paste it into psql (as one long line) or through command line (ie
> psql dbname < inusecountrycode.schema) we get an error:
> 'ERROR: parser: parse error at or near "SELECT"'
> if i manually change the definition to put parenthesis around each
> select statement, then psql has no problem.
Yeah. This is a known bug in PG 7.2.1 (in the backend, actually, not
in pg_dump). [checks CVS logs...] It's fixed as of 7.2.2:
2002-06-15 14:38 tgl
* src/backend/utils/adt/ruleutils.c (REL7_2_STABLE): Back-patch 7.3
fix to fully parenthesize UNION/EXCEPT/INTERSECT queries in
ruleutils output. The previous partial parenthesization was a hack
to get around grammar restrictions that have since been fixed; and
as Sam O'Connor pointed out, there were cases where it didn't work.
You really should be running 7.2.4 in any case --- there are some nasty
bugs fixed in the later 7.2 releases.
regards, tom lane