Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert sind; Die von diesem Forum gesetzten Cookies düfen nur auf dieser Website verwendet werden und stellen kein Sicherheitsrisiko dar. Cookies auf diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Bekanntmachungen
Fehler bei Erstellung der PostgreSQL DB
#1
Hallo,

wenn ich mit dem NMPGSetup Tool die PG Datenbank erzeugen möchte, kommt folgender Fehler im Log:

[07.10.2015 17:17:45 | GDATASRV]#--> Fehler: Datenbank konnte nicht erstellt werden#ERROR: 22023: new collation (de_DE.UTF-cool is incompatible with the collation of the template database (en_US.UTF-cool#CreateDB#MainWindow#ErrorTypeInfo

Der DB-Benutzer wird fehlerfrei erstellt.

Der PostgreSQL Server ist auf Linux und in Version 9.1.18
Ich habe aber schon mehrere der exakt selben Versionen fehlerfrei installieren können...

Was kann das sein?

vg
Tobias
Zitieren
#2
Habe den Fehler selbst gefunden, musste eine neue template DB erstellen mit Codierung de_DE.UTF-8
Zitieren
#3
Hallo Tobias,

jetzt wollte ich gerade einen für Laien verständlichen Workaround schicken, ist ja nun nicht mehr nötig. Und Laie bist du auf diesem Gebiet ganz offensichtlich auch nicht.

Gruß
Stephan
RSS-Feed mit aktuellen Informationen über Updates, Änderungen in der Programmbedienung und anderen wichtigen Mitteilungen unter http://www.notenmanager.net/feeds/Notenmanager.xml
Zitieren
#4
Sollte jemand anders auch das Problem haben, hier eine kurze Step by Step Anleitung.
Ursache ist, dass PostgreSQL auf Englisch installiert wurde und die template Datenbank mit Zeichencode us_US.UTF-8 erstellt wurde. Dies lässt sich nicht ohne Weiteres umstellen.
Abhilfe schafft, eine neue template Datenbank anzulegen, die dann richtig mit de_DE.UTF-8 codiert ist.

Folgendes funktioniert auf einem SuSE Linux System (SLES 11), sollte aber auch bei anderen Distributionen klappen:

------------------------------------------------------
v01:/ # su postgres
postgres@v01:/> psql
psql (9.1.18)
Type "help" for help.

postgres=# update pg_database set datallowconn = TRUE where datname = 'template0';
UPDATE 1

postgres=# \c template0
You are now connected to database "template0".

template0=# update pg_database set datistemplate = FALSE where datname = 'template1';
UPDATE 1

template0=# drop database template1;
DROP DATABASE

template0=# create database template1 with template = template0 encoding = 'UTF-8' LC_CTYPE = 'de_DE.UTF-8' LC_COLLATE = 'de_DE.UTF-8';
CREATE DATABASE

template0=# update pg_database set datistemplate = TRUE where datname = 'template1';
UPDATE 1

template0=# \c template1
You are now connected to database "template1".

template1=# update pg_database set datallowconn = FALSE where datname = 'template0';
UPDATE 1

template1=# \q
postgres@v01:/>
------------------------------------------------------

Danach ist die neue Datenbank "template1" als Template-Datenbank gekennzeichnet und die Umstellung des Notenmanagers sollte kein Problem mehr sein.

vg
Tobias
Zitieren
#5
Dann häng ich auch noch etwas dran.


Wenn Postgres eine neue Datenbank erstellt wird standardmäßig template1 als Vorlage herangezogen. Wenn eine "fremdsprachige" Postgres-Installation durchgeführt wurde ist in template1 dann auch ein - für den Notenmanager - unbrauchbare Codierung eingestellt, die aber nicht mehr geändert werden kann.

Variante 1: template1 neu erstelle wie von Tobias oben erklärt.

Unter Umständen ist der Weg aber nicht akzeptabel, weil die Codierung für andere Programme eben genau so gebraucht wird (und neue Datenbanken erstellt werden müssen oder ...). Dann geht

Variante 2:
  • NMPGSetup laufen lassen bis zum Programmfehler. Bis dahin wurden dann schon einmal Benutzer und Benutzerrolle angelegt.
  • Mit PGAdmin folgenden SQL-Befehl ausführen:


    CREATE DATABASE bsnmXXXX                          With OWNER = nmsvXXXX                                  ENCODING = 'UTF8'                                 TABLESPACE = pg_default                                  LC_COLLATE = 'de_DE.UTF-8'                                  LC_CTYPE = 'de_DE.UTF-8'                                  CONNECTION LIMIT = -1                                 TEMPLATE template0;
  • Dabei muss XXXX durch die vierstellige Schulnummer ersetzt werden. Durch diesen Befehl wird jetzt nicht template1 sondern template0 als Vorlage genommen und dabei ist das Ändern der Codierung dann erlaubt.
  • NMPGSetup noch einmal starten und laufen lassen. Wichtig: auf jeden Fall wieder das gleiche Passwort angeben!
  • Wenn der Hinweis kommt, dass die Datenbank schon existiert unbedingt mit "Nein" für nicht überschreiben anklicken. Dann wird mit der oben erstellten Datenbank weiter gearbeitet und alles ist gut.
Gruß
Stephan
RSS-Feed mit aktuellen Informationen über Updates, Änderungen in der Programmbedienung und anderen wichtigen Mitteilungen unter http://www.notenmanager.net/feeds/Notenmanager.xml
Zitieren


Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  PostgreSQL: Kein Zugriff bei Scram-Verschlüsselung ChristophT 10 943 12.09.2023, 21:37
Letzter Beitrag: ChristophT
  Installation mit PostgreSQL und Variante B MichaelP 9 3.662 05.07.2022, 11:17
Letzter Beitrag: NM-Himself
  Upgrade PostgreSQL Maillot_Jaune 4 2.917 08.11.2021, 18:39
Letzter Beitrag: Maillot_Jaune
  Nutzung Notenmanger statt postgresql auch mit mysql möglich? _pete 1 1.507 16.09.2021, 17:23
Letzter Beitrag: NM-Himself

Gehe zu:


Deutsche Übersetzung: MyBB.de, Powered by MyBB, © 2002-2024 MyBB Group.