Zweiten Cluster

Hallo,

Ich versuche einen zweite Datenbank auf einer neuen Partition zu erzeugen. Die “main” funktioniert und ist in Verwendung und das RAID ist ziemlich voll. Nun kommen ganz neue Datensätze und dafür soll es eine zweite DB geben. Ich habe also neue Festplatten eingebaut und ein RAID erzeugt. Ich habe dann versuch eine DB “second” anzulegen. Das scheint auch alles zu funktionieren, nur bekomme ich keinen Zugriff darauf. In den Dokus habe ich nichts gefunden was mir hilft, oder ich interpretiere etwas falsch.

Was ich gemacht habe:
user “postgressecond” angelgt
Verzeichnis /media/Database/postgresql/9.6/second/ angelegt und postgressecond zugewiesen.
Verzeichnis /var/log/postgressecond/ angelegt und postgressecond zugewiesen. (logrotate mache ich später wenn alles läuft)

root@Server1:/home/postgressecond# pg_createcluster -u postgressecond -d /media/Database/postgresql/9.6/second/ -l /var/log/postgressecond/postgresql-9.6-second.log -p 5433 -s /var/run/postgresql --start-conf auto --start 9.6 second
Creating new cluster 9.6/second ...
  config /etc/postgresql/9.6/second
  data   /media/Database/postgresql/9.6/second/
  locale de_DE.UTF-8
  socket /var/run/postgresql
  port   5433
Redirecting start request to systemctl

root@Server1:/home/postgressecond# pg_lsclusters
Ver Cluster Port Status Owner          Data directory                         Log file
9.6 main    5432 online postgres       /media/sonstiges/postgresql/9.6/main   /var/log/postgresql/postgresql-9.6-main.log
9.6 second  5433 online postgressecond /media/Database/postgresql/9.6/second/ /var/log/postgressecond/postgresql-9.6-second.log

root@Server1:/home/postgressecond# su - postgressecond

postgressecond@Server1:~$ createdb postgressecond
createdb: Erzeugen der Datenbank ist fehlgeschlagen: FEHLER:  keine Berechtigung, um Datenbank zu erzeugen

das sagt das log:

root@Server1:/home/postgressecond# cat /var/log/postgressecond/postgresql-9.6-second.log
2016-11-08 13:39:16.984 CET [11330] LOG:  Datenbanksystem wurde am 2016-11-08 13:39:16 CET heruntergefahren
2016-11-08 13:39:16.987 CET [11330] LOG:  MultiXact-Member-Wraparound-Schutz ist jetzt aktiviert
2016-11-08 13:39:16.989 CET [11334] LOG:  Autovacuum-Launcher startet
2016-11-08 13:39:16.989 CET [11329] LOG:  Datenbanksystem ist bereit, um Verbindungen anzunehmen
2016-11-08 13:39:17.466 CET [11336] [unbekannt]@[unbekannt] LOG:  unvollständiges Startpaket

Ich sitze da jetzt etwas fest. Was habe ich falsch gemacht?

Dein CREATEDB verbindet sich zum Default-Port, also 5432. Dein neuer Cluster hört aber auf 5433.

Außerdem scheint mir der ganze Weg unsinnig. Auf die Art bekommst Du eine völlig neue Instanz, das hilft dir aber nicht, neue Datensätze in der originalen DB anzulegen. Vermulich suchst Du eher einen euen Tablespace.

Ich habe mal vor Jahren mal mit so etwas herrumexperementiert.Dabei ging es um eine verteilte Postgres DB die über mehrere Rechner hinweg anwachsen können sollte. Dafür habe ich das Contribmodule pgproxy und Postgres Partition inheritance genutzt. Das hat auch funktioniert, nur ist halt ein Teil deiner DB Inkonsistent wenn ein zugehöriger DB-Server nicht erreichbar ist. Du musst immer sicherstellen das alle Postgres DB-Server erreichbar sind oder Du bekommst richtige Probleme. Ist halt auch mit dem Backup usw. nicht so einfach bei einer verteilten DB.