PostgreSQL Datenbank mit Synology Container

GlassOne

Aktiver Benutzer
Beiträge
28
Hallo,
ich möchte auf meiner DiskStation wiki.js installieren und benötige dafür eine PostgreSQL Datenbank.
Ich in der Contatiner App der DiskStation bei der Registrierung bereits "bitnami/postgresql" Geladen und ein Image erstellt.

Anschließend habe ich einen Container erstellt mit Port-Einstellungen, Ordner, Umgebungsvariablen usw.
Der Container startet auch und es gibt keine Abbrüche, grüner Punkt.

Mit dem Start des Containers wird wohl keine Datenbank erzeugt und durch den Start von
wiki.js wird wohl auch keine Datenbank erzeugt das wiki.js sagt "Invaild DB Type"

Wenn postgreSQL keine Datenbank erzeugt und wiki.js nichts erstellt, ist klar das die Datenbank fehlt.
Macht ja auch Sinn da die Datenbank Verzeichnisse leer sind.

Ich habe vorher noch nie mit PostgreSQL gearbeitet sondern nur mit MariaDB und phpMyAdmin.
Ich tue mich schwer eine Datenbank für "wikidb" zu erzeugen.

Ich habe versucht auf der DiskStation im Container postgres mit dem Befehl Terminal öffnen
und dem darauffolgenden Fenster einen Dantenbankbenutzer und und eine Datenbank an zu legen was
alles ziemlich problematisch für mich war. Ich das Gefühl dass auch das Terminal nicht gut funktioniert.

Ich bin kein Linux Anwender und weis bei Linux nicht viel.

ich vermute das ProstgreSQL wie bei MySQL und MongoDB man sich in das Datenbank System einloggen muss
um eine Datenbank mit Datenbankbefehlen zu erzeugen.

Jedoch fehlen mir da die Kenntnisse und weis auch nicht wie die vor eingestellten Benutzer und passwörter sind.

Es wäre super wenn mir jemand dabei helfen könnte.

Vielen Dank
 
Werbung:
kannst Du mit psql auf die Default-Datenbank zugreifen? Dann kannst Du dort mit CREATE DATABASE eine DB anlegen. Du wirst dann aber noch passende User und passende Einträge in der pg_hba.conf brauchen.
 
ich habe aktuell keine konfigurationsdateien in den Verzeichnissen von postresql.
Ich habe mich mit Windows "CMD" über ssh in die DiskStation eingeloggt.
Versucht hatte ich mich in postgreSQL ein zu loggen.
Ich weis aber nicht ob es irgendwo eine Beispieldatenbank innerhalb eines Containers gibt denn in den verzeichnissen ist nichts?

Wird mit postgresql immer automatisch eine beispieldatenbank installiert?
Mit den deklarierten Zugangsdaten im postgre container über umgebungsvariablen müsste ich mich doch in das Datenbanksystem
anmelden können selbst wenn keine Datenbank vorhanden ist?
 
In einer Standard Linuxinstallation heißt der "superuser" postgres und darf sich nur anmelden wenn der aktuelle Linux Benutzer auch so heißt - dann aber ohne Passwort. Also z.B. mit:
Code:
$ sudo -u postgres psql
psql (16.4)
Type "help" for help.

postgres=#
[/icode]

oder 

[code]
$ sudo su - postgres
postgres$ psql
psql (16.4)
Type "help" for help.

postgres=#
 
admin@DS-1819:/$ psql -U postgres
psql: FATAL: Peer authentication failed for user "postgres"

das ist nicht wirklich toll weil die Benutzerverwaltung der DiskStation es aus sicherheitsgründen nicht erlaubt
einen Beutzer "postgres" an zu legen?

ich komme einfach nicht in das Datenbanksystem :(
 
wie sieht deine pg_hba.conf Datei aus?

pg_hba.webp

diese Zeile bestimmt, dass local alle im Datenbanksystem angelegten Benutzer, egal welches Passwort, sich verbinden können.
Postgres ist der Default-Superuser, also auch dieser.
 
ich habe keine Konfigurationsdateien.
Da auch keine automatisch erstellt wurden, hatte ich angenommen das die hinterlegten Daten im Container
unter Umgebungsvariablen alles ausreichend sei.
 
Ja als admin.
Ich hatte versucht einen Benutzer "postgres" an zu legen aber aus Sicherheitsgründen lies das System es nicht zu?
Synology - DSM 7
 
Normalerweise wird der postgres User bei der Installation automatisch angelegt. Aber es klingt so, als wärst Du nicht "im" Container sondern arbeitest auf dem Host System. Wie genau der Container aufgesetzt wurde, weiß ich ja nicht, aber wenn Du eine Kommandozeile im Container aufmachst, dann kannst Du von dort aus weitermachen. Wenn Du podman verwendest, dann wäre es etwas in der Art:
Code:
podman exec --user root <containerid> /bin/sh
 
Werbung:
Wieso fängt man auf einem NAS an Postgresql zu lernen?

Docker arbeitet anders wie ein klassischer DB Server. Hier möchte man sich nicht Lokal einloggen und die DB erstellen sondern dies z.B. über das Deployment (via Environment Variablen).

Ich würde mir auf meinem Lokalen Rechner oder einer VM Postgres Installieren und damit einmal anfangen. Dann ggf. Docker und dort eine DB aufsetzen und dann auf dem NAS.
 
Zurück
Oben