Ich habe hier zwei pg-Dumps von einer pg-db, wohl auf linux, und diese
Dumps sollen jetzt auf eine pg-db die auf Windows Vista (Business N) läuft, überspielt werden.
Leider bekomme ich beim Versuch, dies zu tun, folgende Fehlermeldung:
pg_restore: [archiver(db)] could not execute query: ERROR: conversion between Latin1 and WIN1252 is not supported
Habt ihr eine Idee für einen Workaround?
Ich habe schon versucht eine anders codierte Datenbank anzulegen, das funktioniert jedoch leider nicht, weil cih das auf einem Win-System anscheinend nicht darf.
Bitte jetzt keine Diskussionen a la “Warum nimmst du nicht einfach Linux” oder so, das ist halt einfach eine Notwendigkeit, an der ich nichts ändern kann.
Wenn ich nur könnte
Aber Admins sind halt gerne etwas stur.
Egal, ich habe versucht, client_encoding auf LATIN1 zu setzen, was nach einem restart der DB zu einem Fatal error führt, der mir wiederum sagt, dass eine Umwandlung LATIN1 ↔ WIN1252 not supported ist.
Oder sollte ich da lieber WIN1252 eintragen oder was anderes?
Sorry für meine Unwissenheit, aber mit Postgres hab ich bisher noch nie gearbeitet…
Sorry, ich hatte das pg_restore bei Dir übersehen, also kannst Du da nicht am client_encoding drehen. Nun, Du wirst wohl in der Tat nicht drum herum kommen, die DB passend anzulegen.
Korrektur, ich habs doch geschafft.
Unter PostgreSQL: Documentation: Manuals: PostgreSQL 8.1: Character Set Support stehen die unterstützten Codierungen, und ich habe es einfach mal mit UTF-8 als “Urvater” aller Codierungen probiert. Wenn ich nun das Client Encoding auf UTF-8 setze und eine neue Datenbank mit UTF-8 Codierung anlege (unerwarteterweise wird das toleriert), dann kann ich die dumps laden.
Danke für eure Hilfe, auf client_encoding wäre ich nicht gekommen