Willkommen im kivitendo Forum! Hier erweitern und teilen AnwenderInnen und EntwicklerInnen ihr Wissen.

Teste kivitendo!

kivitendo Demo

kivitendo Demo mit Schweizer Kontenplan und neuem Layout

Unterstützt kivitendo mit der Basis-Subskription!

0 Punkte

ich habe im alten Forum von lx-office und in google nichts dazu gefunden. Ich habe sogar das lx-office Buch gekauft, da steht leider auch nichts von der Rücksicherung der Datenbanken. Eigentlich sollte ich dem Autor mal eine Email senden. Da ich Schwierigkeiten habe, frage ich hier nach. Viel kompliziert muss es doch gar nicht sein.

bezieht sich auf eine Antwort auf: Wie Datenbankdump mit phpPgAdmin wiederherstellen
von (2.0k Punkte)

2 Antworten

0 Punkte

Ich habe zwar die Kivitendo DB noch nie gesichert, sollte aber doch genau so wie mit jeder anderen PostgresSQL-Datenbank gehen?

http://www.postgresql.org/docs/8.2/static/backup-dump.html

von
0 Punkte

Ein Weg:

Auf der Konsole:

psql -U -W template0
template0=> CREATE DATABASE neuedb;
template0=> \c neuedb
neuedb=> \i pfad/zu/datensicherung.sql
neuedb=> \q

Das sollte es gewesen sein.

von

Hi, wenn ich antworten möchte. Muss ich auf Kommentar gehen oder auf Frage stellen?

beim ersten Befehl bekomme ich das hier leider gemeldet:

psql: FATAL: Ident-Authentifizierung f?r Benutzer >>-W<< fehlgeschlagen

Auf "antworten". "Frage stellen" stellt eine völlig neue Frage, das ist definitiv nicht das, was hier dauernd genutzt werden soll, wenn es um ein und dasselbe Problem geht.

Zu PostgreSQL: hinter -U fehlt in Holgers Antwort leider der Benutzername; also so etwas wie psql -U postgres .... Wenn das ebenfalls mit einer Authentifizierungsfehlermeldung fehlschlägt, dann halt psql -U postgres -h localhost ... und wenn das auch nicht geht, dann kannst du noch versuchen, zuerst zum Linux-User postgres zu werden (mit sudo und/oder su) und dann erneut psql ... ganz ohne -U.

Falls dir das alles nichts sagt, dann empfehle ich die Lektüre der PostgreSQL-Dokumentation zum Thema Benutzerauthentifizierung. Wir sind kein PostgreSQL-Support-Forum.

leider verstehe ich das nicht. Muss das so lauten:

psql -U -W Benutzername template0 ?
Von was soll das der Benutzername sein? Von der Datenbank, oder vom Betriebssystem?
Für was steht ...?

Ok, es ist an der Zeit, dass du die Dokumentation zu dem Befehl psql im Speziellen und zu PostgreSQLs Authentifizierung im Allgemeinen liest. Ich kann sie hier auch reinkopieren, aber das ist leicht zwecklos. Du scheinst keinerlei Ahnung davon zu haben, wie PostgreSQLs Benutzerverwaltung funktioniert, was prinzipiell nicht schlimm ist, aber es gibt so viele verschiedene Wege, diese zu konfigurieren, dass es nicht ganz trivial für uns als Außenstehende ist, den exakten und korrekten Befehl für psql zu erraten.

Was unter Debian/Ubuntu funktionieren sollte, ist zuerst zum Linux-Benutzer postgres zu werden. Das geht z.B. mit sudo su - postgres -- unter der Annahme, dass du gerade ein normaler User bist, der sudo auch wirklich einsetzen darf. Und dann als postgres halt psql ausführen, was sogar ohne Parameter in dem Moment funktionieren sollte. Könnte. Je nachdem, wie PostgreSQL konfiguriert ist. Wie gesagt. Da gibt's Tonnen von Möglichkeiten.

Dann hast du eine SQL-Shell, in der du eine DB anlegen und aus einem SQL-Dump zurückspielen kannst.

Lies die PostgreSQL-Doku zum Thema Authentifizierung.

Hallo ich wollte das hier auf Seite 218 vom Handbuch machen:

Sollte es es nun einmal nötig sein die Datenbank wieder aus diesen Daten zu
restaurieren oder wollen Sie damit eine Kopie auf einem anderen Rechner, z.B.
einem Laptop, installieren, gehen Sie wie folgt vor. Die Beispiele gehen davon
aus, das der db-User ’lxoffice’ über ausreichende Rechte verfügt.
Melden Sie sich auf einer Kommandozeile an.
Löschen Sie eine bestehende Instanz mit den gewünschten Namen:
dropdb -U lxoffice -W livedaten
Jetzt legen Sie die neue, leere Instanz an. Achten Sie aber auf die richtige Zeichen-
kodierung:
createdb -U lxoffice -W livedaten - -owner=lxoffice
\
- -encoding=LATIN9 - -template=template1
und nun spielen Sie nur noch die Daten wieder ein:
psql -U lxoffice -W livedaten < live.sql

createdb hat geklappt. Nur das einspielen nicht.

Ich bekomme das hier gemeldet:

psql -U lxoffice lxdb2010 < 120511-dump-lxdb2010.sql
bash: 120511-dump-lxdb2010.sql: Keine Berechtigung

obwohl ich vorher

sudo -s
su postgres

gemacht habe. Warum sagt der mir "Keine Berechtigung"?

obwohl ich vorher

sudo -s su postgres

gemacht habe. Warum sagt der mir "Keine Berechtigung"?

;-) wenn Du -U lxoffice angibst verbindest Du Dich auch als db-user lxoffice (ist ja auch gewollt), der su postfix ist an dieser Stelle fuer den Fuss ....

  • Entweder gibst Du nicht das richtige Passwort fuer den Datenbankuser lxoffice an
  • oder Deine pg_hba.conf stimmt noch nicht
  • oder Die Meldung bezieht sich auf die Leseberechtigung des Dumps und nicht auf die Schreibberechtigung in der Datenbank.

Kannst Du Dich den mit der Datenbank verbinden?
psql -h 127.0.0.1 -U lxoffice -W livedaten
wenn das nicht geht -> Passwort und/oder pg_hba.conf fixen
wenn das geht und ohne -h 127.0.0.1 geht es nicht -> pg_hba.conf fixen, oder immer -h mit angeben

Wenn Die Verbindung zur Datenbank geht, der Dump laesst sich aber nicht einspielen, stelle sicher, dass der Dump fuer den Linux user der den Befehl

psql -U lxoffice -W livedaten < live.sql

ausfuert, lesbar ist.

Also ich bekomme das hier. Das sieht doch gut aus, oder?

psql -h 127.0.0.1 -U lxoffice -W lxdb2010
Passwort für Benutzer lxoffice:
psql (8.4.11)
SSL-Verbindung (Verschlüsselungsmethode: DHE-RSA-AES256-SHA, Bits: 256)
Geben Sie »help« für Hilfe ein.
lxdb2010=>

ohne -h 127.0.0.1 bekomme ich das hier:

psql -U lxoffice -W lxdb2010
Passwort für Benutzer lxoffice:
psql (8.4.11)
Geben Sie »help« für Hilfe ein.
lxdb2010=>

Ich habe mal die Berechtigungen für Eigentümer, Gruppe und sonstige auf lesen und Schreiben gemacht.

Bei der Rücksicherung:

psql -U lxoffice lxdb2010 < 120511-dump-lxdb2010.sql

habe ich das hier bekommen:

http://pastebin.kubuntu-de.org/363

Ist das soweit in Ordnung?

Hier bekomme ich diese Meldung? Ich weiss nicht ob das soweit schlimm ist. Das gute ist, dass ich jetzt lx-office starten kann und alles wieder da ist ;-)

psql -U lxoffice lxerp_auth < 120511-dump-lxerp_auth.sql
Passwort für Benutzer lxoffice:
SET
SET
SET
SET
SET
SET
CREATE SCHEMA
ALTER SCHEMA
FEHLER: Sprache »plpgsql« existiert bereits
ALTER LANGUAGE
SET
FEHLER: keine Berechtigung für Sprache c
ALTER FUNCTION
SET
CREATE SEQUENCE
ALTER TABLE

setval

  1

(1 Zeile)

SET
SET
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE SEQUENCE
ALTER TABLE

setval

  4

(1 Zeile)

CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
ALTER TABLE
WARNUNG: es konnten keine Privilegien für »public« entzogen werden
REVOKE
WARNUNG: es konnten keine Privilegien für »public« entzogen werden
REVOKE
WARNUNG: es wurden keine Privilegien für »public« gewährt
GRANT
WARNUNG: es wurden keine Privilegien für »public« gewährt
GRANT

Kann man auch, wie oben beschrieben, die Datenbank Backups, die man auf 2.6.3 gemacht hat, ohne Probleme auf 2.7 zurück spielen?

Ähnliche Fragen

0 Punkte
0 Antworten
Gefragt 24, Mär 2022 von Lullaby (120 Punkte)
0 Punkte
2 Antworten
0 Punkte
2 Antworten
...