← Datenbanken
PO

Postgres

Aktiviere Postgres für eine App, und Railyard legt eine Datenbank und eine Rolle an und schreibt die Verbindungsdaten ein, bevor der nächste Build läuft. Hier ist genau, was du bekommst, was gesichert wird, und wie du von außen darauf zugreifst.

Was du bekommst

  • Postgres 17, im Image pgvector/pgvector:pg17, sodass die vector-Erweiterung direkt neben der normalen relationalen Engine steht.
  • Eine Datenbank und eine Rolle pro App (app_<id>), mit generiertem Passwort und den Standardrechten auf ihrem eigenen Schema, kein gemeinsamer Login.
  • Optionale Erweiterungen auf Anfrage: pgvector, PostGIS, pg_trgm, hstore, pg_stat_statements und weitere aus der unterstützten Liste, installiert ohne der App-Rolle dauerhaften Superuser-Zugriff zu geben.
  • Geplante Backups standardmäßig alle 24 Stunden, jedes davon durch Wiederherstellung in eine Testdatenbank bestätigt. Mindestens die letzten 7 bleiben immer erhalten, alles, was älter als 30 Tage ist und außerhalb dieser Menge liegt, wird gelöscht; beide Werte sind pro Datenbank konfigurierbar.
  • Point-in-Time-Recovery, sobald sie für den Server aktiviert ist: Wiederherstellung auf jeden Moment der letzten 7 Tage, nicht nur auf den Zeitstempel eines Backups.
  • Ein Standby auf einem zweiten Datenbankserver (Pro und Team), alle 5 Minuten geprüft, mit automatischem Failover, falls der Primärserver 3 Minuten lang nicht antwortet und der Standby ebenfalls den Kontakt verloren hat.

Wie du sie hinzufügst

  1. 1

    Postgres bei der App-Erstellung aktivieren

    Bei New app, oder später unter Edit → Add-ons, Postgres aktivieren und deployen. Railyard legt die Datenbank und die Rolle an und schreibt DATABASE_URL, DATABASE_HOST, DATABASE_PORT, DATABASE_NAME, DATABASE_USER und DATABASE_PASSWORD ein, bevor der Build läuft.

  2. 2

    Oder über die CLI hinzufügen

    railyard apps create <name> <git-url> --addons postgres macht dasselbe vom Terminal aus, zusammen mit der restlichen Einrichtung der App.

  3. 3

    Von deiner eigenen Maschine verbinden

    Öffne Trusted addresses auf der Datenbank-Karte und erlaube deine IP. Railyard öffnet einen TCP-Proxy für genau diese Adresse; psql, TablePlus oder jeder andere Postgres-Client kann sich dann mit demselben Passwort verbinden, und die Karte gibt dir den genauen Befehl zum Einfügen.

Ein Beispiel per Klick

Der offizielle FastAPI-Starter kombiniert ein React-Frontend und JWT-Auth mit einer bereits angebundenen Postgres-Datenbank, ein funktionierendes Beispiel für das Add-on innerhalb einer echten App statt einer leeren Datenbank.

FastAPI full-stack template deployen Free-Plan, keine Karte.

Oder eine eigenständige Instanz deployen deployt eine eigenständige Postgres-Instanz ohne alles andere, falls das alles ist, was du brauchst.

FAQ

Was kostet Postgres auf Railyard?
Es gibt keinen separaten Posten. Postgres läuft auf dem Server, den du bereits bezahlst, im Rahmen deines Plans. Ein dedizierter Datenbankserver ist ein eigener Server zum normalen Preis, und ein Standby für automatisches Failover braucht Pro oder Team.
Wie werden Backups aufbewahrt, und kann ich selbst eines wiederherstellen?
Jede Datenbank auf einem Datenbankserver wird nach einem Zeitplan gesichert, standardmäßig alle 24 Stunden, und jedes Backup wird in eine Testdatenbank wiederhergestellt, um zu bestätigen, dass es wirklich gut ist, bevor es als verifiziert markiert wird. Die Wiederherstellung in die laufende App ist ein Klick von der Datenbank-Karte aus, und Point-in-Time-Recovery fügt die Wiederherstellung auf jeden Moment innerhalb der letzten 7 Tage hinzu, sobald sie aktiviert ist.
Wie verbinde ich mich von außen, mit psql oder einer GUI wie TablePlus?
Öffne Trusted addresses auf der Datenbank-Karte und füge deine IP hinzu. Railyard öffnet einen TCP-Proxy nur für diese eine Adresse; jede andere Adresse bleibt blockiert, und das Passwort ist weiterhin nötig. Die Karte zeigt dir den genauen Connection String zum Einfügen.
Wie migriere ich eine bestehende Postgres-Datenbank?
Richte die App unter Resources → Use an outside service auf die externe URL, während du die Daten überträgst, oder führe pg_dump und pg_restore direkt gegen die generierte DATABASE_URL aus. Move off Heroku Postgres without losing data führt durch eine vollständige Umstellung.

Tutorials, die sie nutzen

Allgemeine Dokumentation