Problem bei der Erstellung von DB-Tabellen

Hallo Zusammen,

ich erhalte beim Starten eines CM-Systems die unten aufgeführte Fehlermeldung. Das CMS erstellt beim Starten die DB-Tabellen.

Wie kann ich die folgende Aussage kontrollieren ?

"... Or maybe your database account is too privileged and writes to the dbo / public schema ?"

Ich verstehe nicht, warum die folgende Meldung angezeigt wird, nachdem bereits Tabellen erstellt wurden:

"....schema creation failed, created tables not found."

Ich verwende den Standard ‘postgres’ Benutzer.
Ich habe zunächst innerhalb des PostgreSQL Terminals das Passwort gesetzt.

ALTER USER postgres WITH PASSWORD 'secret';

Anschließend habe ich das Unix-Passwort für ‘postgres’ gesetzt.

sudo passwd -d postgres
sudo su postgres -c passwd

Beide Passwörter stimmen miteinander überein.

Die Datenbank habe ich folgendermaßen erstellt.

sudo -u postgres createdb -O postgres cm

Anbei noch ein paar Screenshots von der Datenbank innerhalb der Anwendung ‘pgAdmin III’.

Ich würde mich über jede Antwort freuen
Angelika


Die gesamte Error Liste:
nopaste.com (beta)


Ausschnitt:

...
...
...
[Tue Aug 25 14:34:44 CEST] Debug: cap.server.store.pool: ConnectionPool: ddl transaction executed, invalidating all prepared statements
[Tue Aug 25 14:34:44 CEST] Debug: cap.server.store: DBStatements: creating prepared statement: getProperty(SELECT content FROM System WHERE property = ?)
[Tue Aug 25 14:34:44 CEST] Debug: cap.server.store: DBStatements: creating prepared statement: setProperty(INSERT INTO System (content, property) VALUES (?, ?))
[Tue Aug 25 14:34:44 CEST] Info: cap.server.store: SchemaValidator: processing feature 'patch5.1' version 3
[Tue Aug 25 14:34:44 CEST] Debug: cap.server.store.pool: ConnectionPool: ddl transaction executed, invalidating all prepared statements
[Tue Aug 25 14:34:44 CEST] Debug: cap.server.store: schema feature versions: {patch4.2=2, patch5.1=3, Version=53, patch4.1=2, patch3.3=1}
[Tue Aug 25 14:34:44 CEST] Emergency: cap.server.store: SchemaValidator: schema creation failed, created tables not found.  Please check uppercase/lowercase spelling of the database user name. Or maybe your database account is too privileged and writes to the dbo / public schema ?
[Tue Aug 25 14:34:44 CEST] Emergency: cap.server.store: SQLStore: error validating schema: SchemaValidator: schema creation failed, created tables not found
SchemaValidator: schema creation failed, created tables not found
java.lang.Exception: SchemaValidator: schema creation failed, created tables not found
        at hox.corem.server.sql.SchemaValidator.validateBuiltinSchema(SchemaValidator.java:148)
        at hox.corem.server.sql.SchemaValidator.validateSchema(SchemaValidator.java:67)
        at hox.corem.server.sql.SQLStore.<init>(SQLStore.java:245)
        at hox.corem.server.RepositoryImpl.<init>(RepositoryImpl.java:3522)
        at hox.corem.server.Server$RepositoryService.start(Server.java:1151)
        at hox.corem.server.Service.startup(Service.java:112)
        at hox.corem.server.Server$4.runAction(Server.java:1727)
        at hox.corem.server.Server$RunLevelHandler.startup(Server.java:1794)
        at hox.corem.server.Server.doSwitch(Server.java:872)
        at hox.corem.server.Server.doSwitch(Server.java:892)
        at hox.corem.server.Server.runInitProcess(Server.java:1003)
        at hox.corem.server.Server.start(Server.java:261)
        at hox.corem.server.Main.main(Main.java:49)

[Tue Aug 25 14:34:44 CEST] Emergency: corem: SQLStore: error validating schema: SchemaValidator: schema creation failed, created tables not found
SchemaValidator: schema creation failed, created tables not found
java.lang.Exception: SchemaValidator: schema creation failed, created tables not found
        at hox.corem.server.sql.SchemaValidator.validateBuiltinSchema(SchemaValidator.java:148)
        at hox.corem.server.sql.SchemaValidator.validateSchema(SchemaValidator.java:67)
        at hox.corem.server.sql.SQLStore.<init>(SQLStore.java:245)
        at hox.corem.server.RepositoryImpl.<init>(RepositoryImpl.java:3522)
        at hox.corem.server.Server$RepositoryService.start(Server.java:1151)
        at hox.corem.server.Service.startup(Service.java:112)
        at hox.corem.server.Server$4.runAction(Server.java:1727)
        at hox.corem.server.Server$RunLevelHandler.startup(Server.java:1794)
        at hox.corem.server.Server.doSwitch(Server.java:872)
        at hox.corem.server.Server.doSwitch(Server.java:892)
        at hox.corem.server.Server.runInitProcess(Server.java:1003)
        at hox.corem.server.Server.start(Server.java:261)
        at hox.corem.server.Main.main(Main.java:49)

[Tue Aug 25 14:34:44 CEST] Info: cap.server: Server: Content Server shut down

Vielleicht möchte dir das CMS sagen, dass du einen unprivilegierten Account verwenden sollst?

Ich werde einen neuen Benutzer anlegen und das Ganze nochmal testen. Kann mir jedoch nicht vorstellen, dass das die Ursache ist !

Ich bezog mich auf diese Meldung:

Du hast zwar umfangreiche Details gepostet, allerdings fehlt ein Auszug aus dem Logfile der Datenbank - dort sollten die eigentlichen Fehlermeldungen auftauchen. Kannst du das noch bitte posten?

Hallo ads,

anbei die Ausgabe der Logdatei ( /var/log/postgresql/postgresql-8.3-main.log )

http://nopaste.com/p/axcQrJT16

Ich habe einen neuen Benutzer mit der dem Namen cmuser angelegt. cmuser hat keine Admin Rechte und wurde folgendermaßen angelegt:

sudo -u postgres createuser -D -A -P cmuser

Mit cmuser erhalte ich leider die gleiche Meldung.

Gruß
Angelika

So, der Installer versucht, eine Tabelle “System” anzulegen, die es anscheinend schon gibt.

Warum? Keine Ahnung … außerdem ist das ein blöder Name, weil sich das schnell mit irgendwelchen reservierten Schlüsselwörtern überschneiden kann.


Ach, noch etwas. Lösch das Paste besser schnell wieder, dort steht dein Passwort in einer Fehlermeldung im Klartext drin. Aber das solltest du nun sowieso ändern, wer weiß, wieviele Leute das schon gelesen haben.

Ich habe die Datenbank gelöscht und neu angelegt. Nach dem Starten des CM-Systems erhalte ich die folgende CMS-Log-Ausgabe:

nopaste.com (beta)

Aso, das Passwort wird nur lokal verwendet.

Ja, gut, das stimmt nicht ganz. Die Fehlermeldung wird dadurch verursacht, dass eine Tabelle “System” bereits vorhanden ist und noch mal angelegt werden soll. Allerdings - wie gesagt - weiß ich nicht, warum dem so ist. Das ist ein Fehler in der Anwendung selbst, den man nicht ohne weiteres beheben kann.

Vielleicht solltest du mal mit dem Hersteller Kontakt aufnehmen.

Probiere es mal wie folgt:

Du benötigst folgende User:

  • 1 User, der Rechte zum Erstellen von Datenbanken hat - kein Superuser. Ich nenne ihn hier mal “angelika”
  • Für jede deiner Datenbanken ein User, der keine besondere Priveligierung braucht.

Nun legst du alle benötigten Datenbanken neu an (drop die fehlerhaft befüllten alle), alle bekommen als Eigentümer “angelika”.

In jeder Datenbank erstellst du ein neues Schema zusätzlich zum public-Schema mit dem gleichen Namen des zur Datenbank gehörigen users. Als Eigentümer dieses Schemas gibst du den Benutzer an, der genauso heißt wie die Datenbank.

Kompliziert erklärt, im Grunde genommen folgendes:
Datenbank “skmanagement” erstellen mit “angelika” als Eigentümer. Im dieser Datenbank ein neues Schema “skmanagement” erstellen mit dem Eigentümer “skmanagement”.
Dies entsprechened für alle anderen benötigten Datenbanken ausführen.

Viel Erfolg und Spaß mit dem CMS!

Hallo just_one_answer,

das war die Lösung !!! :slight_smile:

Vielen vielen Dank
Angelika

Wer baut denn so etwas umständliches?

Und könnt ihr beide daraus mal eine FAQ hier für das Forum für dieses Produkt zusammenschreiben?

Danke