# Wie Sie PostgreSQL mit Ihrer Ruby on Rails-Anwendung unter Ubuntu 16.04 verwenden können

Erfahren Sie, wie Sie [PostgreSQL](https://www.ionos.at/digitalguide/server/knowhow/postgresql/ "PostgreSQL") mit Ihrer [Ruby on Rails](https://www.ionos.at/digitalguide/websites/web-entwicklung/ruby-on-rails-mit-wenig-code-zur-eigenen-web-app/ "Ruby on Rails: Mit wenig Code zur eigenen Web-App")-Anwendung anstelle der standardmäßigen SQLite-Datenbank verwenden können. SQLite ist ein einfach zu konfigurierendes, leichtes Produkt, das standardmäßig mit Ruby on Rails ausgeliefert wird. PostgreSQL ist jedoch eine robustere Lösung, die erweiterte Funktionen, Skalierung und Stabilität bietet, was es für Ihr Ruby on Rails-Projekt besser geeignet machen kann.

## Anforderungen

- Ein Cloud Server unter Linux (Ubuntu 16.04)
- PostgreSQL installiert und läuft.
- Ruby on Rails installiert und läuft.
- Eine grundlegende Vertrautheit mit Ruby on Rails.

Hinweis Alle Befehle in diesem Tutorial müssen als Rails-Benutzer ausgegeben werden. Dies ist das Benutzerkonto, mit dem Sie Ruby on Rails installiert und ausgeführt haben.

## Erstellen eines PostgreSQL-Benutzers

Erstellen Sie einen PostgreSQL-Benutzer, damit Ihre Ruby on Rails-Anwendung eine Verbindung zur PostgreSQL-Datenbank herstellen kann:

```none
sudo -u postgres createuser -s [username]
```

Hinweis Dies sollte derselbe Benutzername sein, mit dem Sie Ruby on Rails installiert und ausgeführt haben.

Um beispielsweise den PostgreSQL-Benutzernamen jdoe zu erstellen, lautet der Befehl:

```none
sudo -u postgres createuser -s jdoe
```

Um ein Passwort für diesen Benutzer festzulegen, melden Sie sich am PostgreSQL-Kommandozeilen-Client an:

```none
sudo -u postgres psql
```

Geben Sie an der PostgreSQL-Eingabeaufforderung den folgenden Befehl ein, um das Passwort festzulegen:

```none
\password [username]
```

Um beispielsweise das Passwort für jdoe festzulegen, lautet der Befehl:

```none
\password jdoe
```

Das Passwort eingeben und bestätigen. Verlassen Sie dann den PostgreSQL-Client:

```none
\q
```

## Konfigurieren der Rails-Anwendung

Der nächste Schritt ist die Aktivierung der PostgreSQL-Unterstützung in Ihrer Ruby on Rails-Anwendung.

### Erstellen der Anwendung

Erstellen Sie zunächst die Anwendung mit dem Flag -d postgresql:

```none
rails new [application name] -d postgresql
```

Beispielsweise lautet der Befehl zum Erstellen einer Anwendung mit dem Namen my-app:

```none
rails new my-app -d postgresql
```

Das Flag -d teilt Ruby on Rails mit, dass Sie PostgreSQL für diese Anwendung verwenden werden.

### Fügen Sie den PostgreSQL-Benutzernamen und das Passwort hinzu.

Als nächstes wechseln Sie in das Verzeichnis, das Ruby on Rails für die Anwendung erstellt hat:

```none
cd my-app
```

Bearbeiten Sie die Datei config/database.yml:

```none
nano config/database.yml
```

Scrollen Sie nach unten zu dem Abschnitt, der lautet:

```none
# The specified database role being used to connect to postgres.
# To create additional roles in postgres see `$ createuser --help`.
# When left blank, postgres will use the default role. This is
# the same name as the operating system user that initialized the database.
#username: my-app2
```

Löschen Sie das # in der letzten Zeile, um den Kommentar aufzuheben, und ändern Sie den Benutzernamen in den von Ihnen erstellten:

```none
# The specified database role being used to connect to postgres.
# To create additional roles in postgres see `$ createuser --help`.
# When left blank, postgres will use the default role. This is
# the same name as the operating system user that initialized the database.
username: jdoe
```

Löschen Sie im nächsten Abschnitt die #, um die letzte Zeile zu entfernen, und fügen Sie das Passwort für den jdoe-Benutzer hinzu:

```none
# The password associated with the postgres role (username).
password: XPmMxZf
```

Speichern und beenden Sie die Datei.

### Erstellen der neuen Anwendungsdatenbanken

Verwenden Sie den folgenden Rake-Befehl, um die Datenbanken für Ihre Anwendung zu erstellen:

```none
rake db:create
```

## Testen der Konfiguration

Um die Konfiguration zu testen, starten Sie einfach die rails-Anwendung und überprüfen Sie sie in einem Browser.

Verwenden Sie den Befehl aus dem Verzeichnis der Anwendung:

```none
bin/rails s --binding=0.0.0.0
```

Hinweis Wenn Sie den Server an 0.0.0.0.0.0 binden, können Sie die Anwendung mit der öffentlichen IP-Adresse Ihres Servers anzeigen.

Der Server sollte antworten:

```none
[user@localhost my-app]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
```

Wechseln Sie zu einem Browser und besuchen Sie “http://your-ip-address:3000”. Wenn deine IP-Adresse beispielsweise 198.162.0.1 lautet, gehst du zu http://198.162.0:3000.

Wenn alles in Ordnung ist und Rails in der Lage ist, sich mit PostgreSQL zu verbinden, sehen Sie die standardmäßige Rails-Grußseite.

[![Bild: Rails-Grußseite](https://www.ionos.at/digitalguide/fileadmin/_processed_/8/8/csm_rails-splash-page_ba2b63ac24.webp "Rails-Grußseite")](https://www.ionos.at/digitalguide/fileadmin/DigitalGuide/Screenshots_2020/rails-splash-page.jpg) Rails-Grußseite


This is a markdown version of: [https://www.ionos.at/digitalguide/server/knowhow/postgresql-mit-ruby-on-rails-unter-ubuntu-verwenden/](https://www.ionos.at/digitalguide/server/knowhow/postgresql-mit-ruby-on-rails-unter-ubuntu-verwenden/) for AI/LLM consumption.