Wie einen UTF8 Dump erstellen

Hallo zusammen,

ich habe mich bei euch registriert, da ich mich seit gestern mit einem Problem quäle.

Ich möchte einen Dump meiner Tabellen in UTF8 erzeugen.
Dies versuche ich mit folgender Befehlszeile:

pg_dump -Fp -a -E UTF8 --inserts blubb > blubb.backup

Als Ergebnis erhalte ich jedoch eine ASCII Datei.
Wenn ich hingegen nur eine bestimmte Tabelle dumpe, wo ich weiß, dass die Umlaute beinhaltet:

pg_dump -Fp -a -E UTF8 --table=account --inserts blubb> blubb.backup

liegt diese ohne Probleme in UTF8 vor.

Für mich also nicht ganz nachvollziehbar :confused:

Kann es sein, dass pg_dump nur utf8 macht, wenn die Tabelle auch Umlaute besitzt ?!

Schonmal vielen Dank für eure Hilfe.

Versteh Dein Problem nicht:

test=# create database cyborg;
CREATE DATABASE
Time: 641,699 ms
test=# \c cyborg
You are now connected to database "cyborg" as user "kretschmer".
cyborg=# create table test(t text);
CREATE TABLE
Time: 39,922 ms
cyborg=*# insert into test values ('äöü');
INSERT 0 1
Time: 0,474 ms
cyborg=*# commit;
COMMIT
Time: 0,466 ms
cyborg=# \q
kretschmer@tux:~$ pg_dump -Fp -a -E UTF8 --inserts cyborg
--
-- PostgreSQL database dump
--

SET statement_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;

SET search_path = public, pg_catalog;

--
-- Data for Name: test; Type: TABLE DATA; Schema: public; Owner: kretschmer
--

INSERT INTO test VALUES ('äöü');


--
-- PostgreSQL database dump complete
--

kretschmer@tux:~$ pg_dump -Fp -a -E UTF8 --inserts cyborg > cyborg.dump
kretschmer@tux:~$ file cyborg.dump
cyborg.dump: UTF-8 Unicode text
kretschmer@tux:~$

Andreas

Danke für deine Antwort.
Anstatt ‘äöü’ füge mal bitte ‘abc’ ein und schau nochmal, ob sich der dump um utf8 handelt.

Schau doch mal hier UTF-8 unter Eigenschaften, 2. Punkt.

Andreas

Das mag sein, hilft mir jedoch leider bei meinem Problem nicht so wirklich.
Fakt ist, dass ich meine Datenbank bestehend aus mehreren ascii und utf8 tabellen nicht zu einem utf8 dump bekomme.

Die resultierende Dumpdatei ist ascii und alle Umlaute werden nicht richtig angezeigt.

Das klang bisher anders, im letzten Post von Dir stand aou.

Die resultierende Dumpdatei ist ascii und alle Umlaute werden nicht richtig angezeigt.

Wo nicht richtig angezeigt?
Klappt ein Import des Dumps in eine leere DB?

Andreas

In der Datei schon nicht richtig angezeigt.
Und in der DB dann auch nicht :frowning:

Also, da es auf anderen als Deiner Installatin funktioniert, liegt der Vardacht sehr nah, daß bei Dir was falsch ist.

  • welches OS
  • welche PG-Version
  • bitte ein reproduzierbares Beipsiel liefern
  • was nutzt Du zur Anzeige des Dumps und was zur Anzeige der Daten in der DB

Andreas

Ich wollte grad dein Beispiel von oben ausführen.
Bekomm es aber nicht einmal hin über Putty Umlaute in der psql Konsole einzugeben -.-

Dann ist wohl PuTTY Dein Problem, das sendet dann wohl auch eine falsche CLIENT_ENCODING an den Server oder so …

Andreas

Ich denke eher, dass es ein Debian-Bug ist.
#608442 - use libreadline instead of libedit for psql - Debian Bug report logs

Die haben das gleiche Problem.