Exportieren Sie ein CREATE-Skript für eine Datenbank

71

Angenommen, ich habe eine Datenbank in pgAdmin erstellt, möchte aber eine CREATE-SQL-Datei exportieren.

Wie würde ich vorgehen, um den Dump zu generieren?

serv-bot 22
quelle
@ MilenA.Radev Link gibt 404.
Florian Castelain

Antworten:

60

So generieren Sie ein SQL-Skript, mit dem die Tabellen so erstellt werden, wie sie in einer bestimmten Datenbank vorhanden sind:

pg_dump --schema-only --no-owner the_database > create_the_tables.sql

Auf diese Weise erhalten Sie eine Reihe von Anweisungen zum Erstellen von Tabellen. Um zu sehen, wie tragbar es war, habe ich Folgendes versucht:

bvm$ pg_dump -s --no-owner devdb | sqlite3 so_ans.db

Und dann:

bvm$ sqlite3 so_ans.db .schema
CREATE TABLE courses (
    id integer NOT NULL,
    name text,
    created_by integer,
    jc text
);

Irgendwie cool.

unmontiert
quelle
1
Gibt dies alle Objekte, Trigger, Prozeduren usw. aus?
Raffian
2
"pg_dump -U postgres --schema-only - no-owner documents> create_the_tables.sql", wenn der Benutzer postgres ist und Sie das Windows-Betriebssystem verwenden. Andernfalls wird standardmäßig der Name Ihres Windows-Benutzerkontos verwendet.
Peeter Kokk
5
Die Frage war, wie man pgAdmin verwendet, nicht pg_dump.
Farrukh Najmi
145

Hier erfahren Sie, wie Sie mit pgAdmin ein Schemaskript erstellen, das mit einem PostgreSql-Datenbankschema-Vergleichstool wie apgdiff verwendet werden kann . Diese Anweisungen gelten für pgAdmin3.

  1. Klicken Sie in pgAdmin mit der rechten Maustaste auf die Datenbank und klicken Sie auf Sichern.
  2. Geben Sie einen geeigneten Pfad und Dateinamen ein (dh /some/path/my_script.sql).
  3. Wählen Sie in der Format-Dropdown-Liste "Einfach" als Format aus.
  4. Gehen Sie zu den Dump- Optionen Nr. 1 Registerkarte und aktivieren Sie "Nur Schema".
  5. Klicken Sie dann auf Sichern. Klicken Sie dann auf Fertig.

Hinweis: Ja, mir ist klar, dass pgAdmin pg_dump hinter den Kulissen verwendet, um das Skript zu erstellen. Die Frage betraf jedoch pgAdmin. Dies ist also die GUI-Methode.

Nate Cook
quelle
Ist das aktuell? Es gibt keine Sicherungsoption im Kontextmenü, wenn Sie mit der rechten Maustaste auf eine Datenbank klicken. Es gibt eine Sicherungsoption im Menü "Tools", die jedoch immer deaktiviert ist, unabhängig davon, was ich ausgewählt habe (Datenbank, Schema, einzelne Tabellen usw.). Dies ist mit pgAdmin 1.18.1 unter Linux.
Kat
Es stellte sich heraus, dass ich nur den Postgres-Binärpfad angeben musste (wobei pg_dump ist). Dies erfolgt in den Optionen von pgAdmin (Datei> Optionen> Binärpfade und legen den PG-Bin-Pfad fest). Dies liegt wahrscheinlich daran, dass zum Zeitpunkt der Installation von pgAdmin kein eigenständiger Postgres-Client installiert war.
Kat
Dies sollte die akzeptierte Antwort gewesen sein, zwei Jahre nachdem der NON pgadmin gegeben wurde. Sie erhalten also meine Gegenstimme als gültige Antwort auf die Frage des OP
Angry 84
3
Drei Jahre später immer noch hilfreich
Kesem David
2
4 Jahre und Zählen.
lucid_dreamer
23

pgAdmin hat jedoch die Möglichkeit, das zu tun, was Sie wollen:

Klicken Sie mit der rechten Maustaste auf die Datenbank, die Sie exportieren möchten

Wählen Sie Backup aus dem Einblendmenü

Wählen Sie "Format" Plain.

Wählen Sie "Nur Option" Nur Schema

Tanveer Ali
quelle
3

Sie können dies durch phpPgAdmin erreichen, genau wie phpMyAdmin für MySQL.

Melden Sie sich bei phpPgAdmin an, wählen Sie die Datenbank aus und wählen Sie dann Exportieren.

Anurag
quelle
-2

Zumindest in PgAdmin III 1.22.1 können Sie das Skript CREATE ausführen: 1) Klicken Sie mit der rechten Maustaste auf den Tabellennamen. 2) "Skripte" -> "Skript erstellen". Es gibt Optionen zum Abrufen von SELECT, DELETE usw.

frisch
quelle