Hi all,

I’m migrating a database from 9.2.4 to 9.3.0 and encountering an issue with
an XML field failing to restore.

I’m using pg_dump 9.3.0 as follows (with 9.2.4 on 5433 and 9.3.0 on 5432).
I have verified my paths, it’s definitely using the 9.3.0 binaries. Both
source and target are using UTF8 encoding.


pg_dump -p 5433 content_xml_test | psql content_xml_test -p 5432 –v
ON_ERROR_STOP=1
<snipped>
CREATE SEQUENCE
Time: 0.870 ms
ALTER TABLE
Time: 0.199 ms
ALTER SEQUENCE
Time: 0.380 ms
ALTER TABLE
Time: 0.931 ms
Time: 10.883 ms

ERROR:  invalid XML content
DETAIL:  line 1: StartTag: invalid element name
<!DOCTYPE Catalog SYSTEM "../../../../../../../../test.dtd">
 ^
CONTEXT:  COPY xml_test, line 13, column document: "<!DOCTYPE Catalog SYSTEM
"../../../../../../../../test.dtd">



However, if I do the following:


ALTER DATABASE content_xml_test SET XMLOPTION TO DOCUMENT;

ERROR:  invalid XML document
DETAIL:  line 1: Start tag expected, '<' not found
1046710
^
CONTEXT:  COPY test_lookup, line 1, column external_ref: "{1046710,1046711}"
Time: 14.828 ms


This is even more interesting, since the external_ref column is a totally
different field, and a different type.  I suspect the failure is still
valid, but it’s reporting the wrong field name as being the culprit.


I suspect this might be resolved in a newer point release of 9.3, however I
don’t have the luxury on this particular host right now.

Any suggestions how I might convince 9.3.0 to accept the dump from 9.2.4?


Cheers,

Tim


Reply via email to