Egal, ob ich den Tabellenname in Anführungszeichen setze oder nicht, ich bekomme immer nur die Meldung:
pg_dump: Keine passenden Tabellen gefunden
Erst wenn ich den Tabellennamen weglasse, wird die komplette Datenbank in die Datei geschrieben, sowohl Struktur der Tabellen als auch Daten. Wie schaffe ich es, nur eine einzige Tabelle auszulesen?
Liegt diese Tabelle im search_path des aufrufenden Users? Falls nein: gebe das Schema mit an, also schema.tabelle. Oder: verwendet die Tabelle im Namen Großbuchstaben? Dann quote den Namen anständig.
Wo kann ich das mit dem search_path denn sehen bzw. einstellen? Also, es ist jedenfalls ein anderer User, der den pg_dump aufruft. Deshalb gebe ich ja den User der DB mit -U an. Wie schon gesagt, für die ganze Datenbank hat das geklappt, nur für die einzelne Tabelle nicht.
In dem Tabellennamen ist ein Grossbuchstabe drin. Der Name ist “Stamm”. Ich hab jetzt bei dem pg_dump auch mal das Schema mit angegeben, und auch alles in Anführungszeichen geschrieben:
Und das nächste Mal lernen wir, dass SQL eigentlich alle Bezeichner groß geschrieben haben möchte. Und das PostgreSQL eigentlich alle Bezeichner klein geschrieben haben möchte.
Alles andere verursacht nur unnötig Aufwand und Probleme, weil man wirklich jeden Namen quoten muss.