PostgreSQL Playground: Cheatsheet für Tests und Fehlersuche
Die wichtigsten Befehle zum Prüfen des PostgreSQL Playgrounds: Dienste kontrollieren, nginx-Fehler lesen und Tabellen sowie Berechtigungen in psql untersuchen.
Befehle für Tests und Fehlersuche
Beim PostgreSQL Playground arbeiten nginx, PHP-FPM und PostgreSQL zusammen.
Dieses Cheatsheet sammelt die Befehle aus der Projektdokumentation, um die Dienste, die Datenbankverbindung und die Tabelle posts zu überprüfen.
1. Dienste kontrollieren
nginx
sudo systemctl status nginx
PostgreSQL
sudo systemctl status postgresql
PHP-FPM
sudo systemctl status php8.4-fpm
Das Projekt verwendet PHP 8.4. Bei einer anderen installierten PHP-Version muss der Dienstname angepasst werden.
2. nginx-Konfiguration prüfen
Nach Änderungen an der Webserver-Konfiguration wird zuerst ein Konfigurationstest durchgeführt:
sudo nginx -t
Anschliessend kann die Konfiguration neu geladen werden:
sudo systemctl reload nginx
3. nginx-Fehlerprotokoll öffnen
Für die Fehlersuche steht das nginx-Fehlerprotokoll zur Verfügung:
sudo tail -f /var/log/nginx/error.log
4. Mit PostgreSQL verbinden
Als PostgreSQL-Administrator
sudo -u postgres psql
Mit dem Anwendungsbenutzer
psql -h localhost -U psqlplayground -d psqlplayground
Diese Verbindung verwendet den Benutzer und die Datenbank des Playgrounds.
5. Tabellen untersuchen
Die folgenden Befehle werden innerhalb von psql ausgeführt.
Tabellen anzeigen
\dt
Aufbau der Tabelle posts anzeigen
\d posts
Berechtigungen der Tabelle posts anzeigen
\dp posts
Gespeicherte Beiträge abfragen
SELECT * FROM posts;
6. Tabellenberechtigungen vergeben
Falls die entsprechenden Berechtigungen fehlen, sieht die Projektkonfiguration folgende Freigabe für den Anwendungsbenutzer vor:
GRANT SELECT, INSERT, UPDATE, DELETE
ON TABLE posts TO psqlplayground;
Der Befehl gehört in eine Sitzung mit ausreichenden Berechtigungen.
Projektwerte im Überblick
- Datenbank: psqlplayground
- Anwendungsbenutzer: psqlplayground
- Tabelle: posts
- Webroot: /var/www/html/psql-playground
- Beispielhostname: postgres.local
- PHP-FPM-Socket: /run/php/php8.4-fpm.sock
Hinweise für die Weiterentwicklung
- Zugangsdaten nicht im Quellcode speichern.
- Für Benutzereingaben Prepared Statements verwenden.
- HTML-Ausgaben mit htmlspecialchars() maskieren.
- Regelmässige Datenbank-Backups einplanen.