Exportieren
- Anmelden
- Navigieren Sie zum Tab "Exportieren"
- Klicken Sie auf das Optionsfeld "Struktur und Daten"
- Klicken Sie auf das Optionsfeld "Herunterladen"
- Klicken Sie auf die Schaltfläche "Exportieren" und speichern Sie es auf Ihrem lokalen Computer.
Importieren
- Navigieren Sie zu http://www.pgadmin.org/, um pgAdmin III herunterzuladen (eines der besseren kostenlosen Postgres-GUI-Tools)
- Installieren
- Verwenden Sie es für alle Ihre Postgres-Anforderungen.
In Bezug auf Berechtigungen öffnen Sie einfach den Datenbank-Dump (es ist Klartext) und suchen Sie nach den Zeilen, in denen versucht wird, den aktuellen Benutzer zu ändern oder den Eigentümer einer Tabelle festzulegen. Führen Sie dann einfach eine Suche/Ersetzung durch und ersetzen Sie den ursprünglichen Eigentümer durch Ihren neuen Benutzernamen. Sie müssen sich überhaupt keine Gedanken über das Erteilen/Ändern von Berechtigungen machen :D
Früher mussten wir dies die ganze Zeit tun, wenn wir von der Entwicklung zur Produktion übergingen, der ursprüngliche Datenbank-/Tabellenbesitzer war der Entwickler und wir mussten das auf das Kundenkonto ändern, sobald wir startbereit waren.
Wir haben immer von der Konsole aus mit pg_dump
gearbeitet und andere verwandte Befehlszeilentools, aber ich gehe davon aus, dass diese den Optionen zugeordnet sind, die Sie in der Weboberfläche haben.
Der phpPgAdmin-Export verwendet pg_dump. Sie können das nachlesen, wenn Sie wissen möchten, was es tut.
Sie können es auch als SQL anstelle von COPY exportieren. COPY ist für Postgres und Sie benötigen SQL, wenn Sie versuchen möchten, eine andere Datenbank zu verwenden. Es ist auch einfacher zu verstehen, wenn Sie an unterschiedliche Datenbanken gewöhnt sind.
Was Sie mit „Structure and Data“ erhalten, ist eine SQL-Datei, die mit der Datenbanktabellenstruktur beginnt, dann alle Daten, dann Constraints und Keys.
Wie Sascha angemerkt hat, haben Sie möglicherweise Probleme mit den Berechtigungen. Ich fand es immer einfacher, die Berechtigungszeilen einfach zu löschen oder sie auszukommentieren, da dies nur für eine Entwicklungsdatenbank gilt. Entfernen/kommentieren/ändern Sie die Zeilen mit „EIGENTÜMER“. Wie
ALTER TABLE schema.table OWNER TO pguser;
Jede CREATE TABLE-Anweisung hat eines davon, um den Tabelleneigentümer festzulegen.
IMPORTIEREN
Wenn Sie SQL-Fehler haben (was ich ziemlich oft gesehen habe, abhängig von den Daten. Zeichenfolgen mit ungeraden Zeichen können ein Problem sein), ist es möglicherweise einfacher, die Datei aufzuteilen und zuerst die Struktur herauszukopieren und diese als Standard auszuführen SQL-Abfrage. Beginnen Sie dann mit den Daten und importieren Sie sie tabellenweise. Es macht es viel einfacher, den Fehler zu finden, wenn Sie es in Teile schneiden. Besonders wenn es um die sehr wenig hilfreichen Fehlermeldungen geht.
Ja, es ist eine Menge Kopier- und Einfügearbeit, aber es erledigt die Arbeit und wird wahrscheinlich weniger Zeit in Anspruch nehmen, als es in MySQL zu portieren und dann das PHP ändern zu müssen, um eine Verbindung herzustellen und Daten von MySQL anstelle von Postgres zu erhalten.
PhpPgAdmin und pgadminIII können beide SQL-Anweisungen ausführen.
pgAdminIII -> Datenbank auswählen -> Schaltfläche „Beliebige SQL-Abfragen ausführen“ auswählen. PhpPgAdmin -> Datenbank auswählen -> den „SQL“-Link auswählen.
Ehrlich gesagt ist dies die am wenigsten irritierende Art, Datenbanken zu verschieben, die ich gefunden habe. Es dauert länger, aber nur, wenn keine Fehler auftreten.