Re: Welchen 'Data type' nehme ich hier?
Guenther Boelter <[email protected]>
| Newsgroups | gmane.comp.db.postgresql.german |
|---|---|
| Message-ID | <[email protected]> |
On 02/10/2013 04:23 PM, Andreas Kretschmer wrote: > Guenther Boelter <[email protected]> wrote: > >> Moin, >> >> ich habe mal wieder ein kleineres Problem im Rahmen der Umstellung von >> MySQL auf PostgreSQL: >> >> Welchen 'data type' nehme ich sinnvollerweise fuer >> >> A:) PDF-Dateien (ca. 25 KB gross) >> >> B:) XML-Dateien (ca. 10-20 KB gross) >> >> Die PDF-Dateien habe ich zunaechst mal als BYTEA gespeichert, die >> XML-Dateien als TEXT. > > Dass sollte okay sein. Es gibt auch einen speziellen XML-Datentyp: > http://www.postgresql.org/docs/current/interactive/datatype-xml.html > > Ob dieser besser als TEXT ist mußt Du entscheiden, der XML-Datentyp hat > halt noch z.B. Konsistenzprüfungen und so. > > >> >> Bei den PDF-Dateien konnte ich es bisher noch nicht pruefen, aber bei >> den XML-Dateien scheint PostgreSQL die enthaltenen '\n' in '\012' >> unzuwandeln. Letzt sich Letzeres irgendwie verhindern? > > Unwahrscheinlich. PostgreSQL vergreift sich nicht an den Daten. > Im übrigen ist '\n' oktal '\012'. Evtl. ist was bei Konvertierungen > zwischen Windows / Linux kapott gegangen. > > > Andreas Moin Andreas, kurzes Feedback zu dem Problem mit dem '\n' bzw. '\012': Es ist tatsaechlich ein Fehler in der Library den MySQL einfach ignoriert hat. PostgreSQL dagegen gibt folgende Warnung aus: WARNING: nonstandard use of \\ in a string literal LINE 1: EXECUTE qpsqlpstmt_1 ('<?xml version="1.0" encoding="UTF-8"?... ^ HINT: Use the escape string syntax for backslashes, e.g., E'\\'. Dafuer musste ich allerdings auch erst den Debugger anwerfen. Gruss Guenther -- DavaoSOFT, the home of ERPel ERPel, das deutsche Warenwirtschaftssystem fuer LINUX http://www.davaosoft.com