Skip to content

TylonHH/export_import_uncoded_db

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

PostgreSQL Datenbank-Umzug

Diese Anleitung beschreibt, wie eine PostgreSQL-Datenbank von einem Server (z. B. Netcup* oder Railyway) zu einem neuen Ziel (z. B. Netcup)* migriert wird.
Die Verbindung erfolgt sicher über SSH-Tunneling, ohne Ports nach außen zu öffnen. Hier am Beispiel des Trading Bot von uncoded*.


Voraussetzungen

Halte Folgendes bereit, bevor du beginnst:

  • Zugangsdaten zum Quell-Server
    • IP-Adresse (z. B. aus dem Netcup-Interface)
    • SSH-Zugang (z. B. root-Benutzer und Passwort)
  • Docker-Zugriff auf dem Quell-Server
    (z. B. mit docker ps, docker exec)
  • Zugangsdaten zum Ziel-System
    • Host, Port, Benutzer, Passwort
  • Software lokal installiert
    • PuTTY oder PowerShell (für SSH)
    • pgAdmin (für Export und Import)
  • Root- oder Admin-Passwort des Servers
  • Optional: Admin-Zugang zu CapRover (falls Apps pausiert werden müssen)

1. Interne IP des Datenbankcontainers ermitteln

  1. Per SSH auf den Server verbinden:

    ssh root@<server-ip>
    
  2. Container-Name herausfinden:

    docker ps | grep postgres
  3. In den Container wechseln:

    docker exec -it <containername> bash
  4. Interne IP anzeigen:

    hostname -I

    Beispielausgabe: 172.18.0.5 → Die zweite IP rechts ist die relevante.


2. SSH-Tunnel zur internen Datenbank aufbauen

In PowerShell auf deinem lokalen Rechner:

ssh -L 5433:172.18.0.5:5432 root@<SERVER_IP> -v
  • 5433 = lokaler Port (z. B. 5434, falls 5433 schon belegt)
  • 172.18.0.5 = interne IP des Containers
  • 5432 = Standardport von PostgreSQL
  • Verbindung offen lassen (mit STRG + D kann man später trennen)

Jetzt läuft der Datenverkehr lokal über Port 5433 sicher zum Container.


3. Verbindung in pgAdmin einrichten

Quell-Server (Netcup* oder CapRover)

  • Host: localhost
  • Port: 5433
  • Maintenance DB: postgres
  • Username: postgres

Ziel-Server (Railway o. Ä.)

  • Verbindungsdaten laut Screenshot oder Anbieterangabe
grafik Daten aus Public Network ermitteln.

4. Vorbereitungen in CapRover

  • TOS sollte auf false stehen.
  • Apps wie Trading und Telegram sollten auf Instanz 0 gesetzt sein.

5. Datenbank exportieren (Backup)

  1. In pgAdmin rechtsklick auf uncoded_dbBackup

  2. General

    • Name: backup.sql
    • Format: Plain
  3. Data Options

    • Alle Sections aktivieren
  4. Query Options

    • INSERT aktivieren
    • CREATE DATABASE aktivieren
  5. Backup starten und speichern


6. Alte Datenbank am Ziel löschen und neu anlegen

  1. In pgAdmin zweite Verbindung (Ziel-DB) öffnen

  2. Rechtsklick auf postgresQuery Tool

  3. Aktive Verbindungen trennen:

    SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = 'uncoded_db';
  4. Datenbank löschen:

    DROP DATABASE uncoded_db;
  5. Neu anlegen:

    CREATE DATABASE uncoded_db WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'en_US.utf8'

7. Backup importieren

  1. In der Übersicht auf die neue uncoded_db rechtsklicken → Query Tool

  2. Die zuvor gesicherte SQL-Datei öffnen und einfügen

  3. Folgende Zeilen ggf. entfernen oder mit -- auskommentieren:

    SET transaction_timeout = 0;      -- (kommt oft doppelt vor)
    \connect uncoded_db
    CREATE DATABASE uncoded_db WITH TEMPLATE = template0 ENCODING = 'UTF8' LOCALE_PROVIDER = libc LOCALE = 'en_US.utf8';
  4. Ausführen und warten, bis alle Tabellen erstellt sind


8. Prüfung und Abschluss

  • In pgAdmin unter Schemas > Tables prüfen, ob Tabellen vorhanden sind (z. B. activeorders)
  • Eine Tabelle öffnen, um sicherzustellen, dass Daten geladen wurden
  • Danach Apps auf CapRover wieder aktivieren

9. Optional: Verbindung trennen

Wenn alles geprüft ist, PowerShell-Verbindung mit STRG + D beenden. Die lokale Portweiterleitung wird dadurch geschlossen.


Unterstützung

Du möchtest dich für diese Anleitung bedanken?

Buy Me A Coffee

Die mit Sternchen (*) gekennzeichneten Links sind sogenannte Affiliate-Links

Weitere Projekte

Weitere Repositories findest du hier: https://github.com/TylonHH

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published