SQL Tabellenname mit Umlaut - Wie kann ich Tabelle löschen

felis-leone

Cadet 3rd Year
Registriert
Jan. 2007
Beiträge
48
Liebe Community,

ich habe in einer Postgresql Datenbank zwei Tabellen die einen Umlaut im Tabellennamen haben. Wie kann ich diese Tabellen löschen? Im PgAdmin sehe ich die Tabellen zwar, aber ohne Namen. Wenn ich drauf klicke bekomme ich eine Fehlermeldung, dass kein Tabellenname vorhanden ist, löschen (dropen) der Tabellen funktioniert auch nicht

Wenn ich mir mittels SQL Befehl: SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = 'public'
alle Tabellen anzeigen lasse, ist der table_name leer.

Kann mir jemand helfen?
 
Ich hab zwar keine Ahnung von postgresql, aber:

Haben die Tabellen vllt Indizes?
Kennst du den ursprünglichen Tabellennamen? Mal mit dem ASCII-Code des Umlauts probiert (wenn bekannt)?

Grüße
 
Vielen Dank für die Tips!
Die Tabellen haben keine Indizes.
Der Umlaut im Tabellennamen ist ein ü

Ich bekomme folgende Fehlermeldung (der Name der Tabelle ist fett gedruckt):
pg_dump: [archiver (db)] query failed: FEHLER: ungültige Byte-Sequenz für Kodierung »UTF8«: 0xe3 0xbc 0x74
pg_dump: [archiver (db)] query was: LOCK TABLE public."mappe_sj_gdmmã¼tter" IN ACCESS SHARE MODE

Ich habe schon verschiedene Kodierungen für das "ü" probiert aber leider immer ohne Erfolg. Hat jemand noch einen Tip?
 
Backup der anderen Tabellen, dann die komplette Datenbank oder die Dateien auf der Festplatte löschen und Tabellen mit Backup wieder in eine neu erstellte Datenbank einfügen. Ist wohl die einfachste Lösung.
 
Vielen Dank! Meine Idee war auch schon sämtliche anderen Tabellen zu sichern und es neu einzuspielen. Allerdings kann ich bei pg_dump die Fehlerhaften Tabellen nicht abwählen (sie erscheinen nicht in der Liste, wohl weil der Name nicht korrekt ist). Daher fällt diese Option leider flach :( Hat jemand noch einen Tip?
 
pg_dump kann auch SQL-Dateien erstellen. Dort kannst du die fehlerhaften Tabellen von Hand rauslöschen oder umbenennen.
 
Vielen Dank für den Tip!
Mein Problem ist, dass pg_dump gar nicht läuft, sprich zwischendrin mit obiger Fehlermeldung abbricht.
Fällt jemand noch etwas ein?
 
Dass die Fehlermeldung von pg_dump kommt hatte ich überlesen.
Evtl. funktionert eine "brute Force" Methode: Öffne die DB-Datei in einem guten Editor (z.B. Notepad++) oder besser einem Hex-Editor, suche nach dem Tabellennamen und ersetzt die "falschen" Zeichen (aber so, dass der Name immer noch eine identische Anzahl an Zeichen enthält).
Keine Ahnung ob das funktioniert, Backups sind auf jeden Fall Pflicht.
 
Zurück
Oben