On 02/10/2013 04:23 PM, Andreas Kretschmer wrote:
> Guenther Boelter
<gboelter@gmail.com> 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