Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

SQL: Datenbankname aus Shell-Skript heraus ändern (psql)

Alles rund um die Systemverwaltung, die Administration und Konfiguration Eures Linuxsystems

Moderator: Moderatoren

Antworten
Pfefferoni
Newbie
Newbie
Beiträge: 22
Registriert: 14. Feb 2005, 15:38
Wohnort: München
Kontaktdaten:

SQL: Datenbankname aus Shell-Skript heraus ändern (psql)

Beitrag von Pfefferoni » 22. Jan 2007, 14:48

Hallo zusammen,

zunächst eine Schilderung der Sachverhalts:

Ich hab lokal eine Datenbank laufen die ich nun vierteljährlich mit einer externen XML-Datenbank aktualisieren will. Da das wegen der größe sehr lange dauert, will ich das mit Skript und cronjob automatisieren, so dass ich nur noch ein Minimum manuell machen muss.
Da die Datenbank dauerhaft verfügbar sein muss, lege ich zum aktualisieren eine zweite Datenbank an, die ich erstmal fülle und bearbeite, ... . Abschließend will ich die laufende sichern und die neue zur Laufenden machen, indem ich sie umbenenne in den Namen der ersten. (Theoretisch könnte ich auch die Bezeichnungen im zugehörigen Interface ändern, was ich aber nicht so ideal fände, weil es ein mehraufwand ist).

Nun die Frage:

Wie kann ich mit einem Befehl, der dann im entsprechenden Skript steht, den Namen der Datenbank ändern (bsp. von "xyz" zu "abc")?

Ich verwende PostgreSQL (Version 7.4.7 glaub ich)

Danke schonmal vorneweg und verzeiht bitte, falls es schonmal da war oder höchst trivial ist: Ich war mit Google und Forensuche noch nicht wirklich erfolgreich :-(

Werbung:
abgdf
Guru
Guru
Beiträge: 3073
Registriert: 13. Apr 2004, 21:15

Beitrag von abgdf » 22. Jan 2007, 18:45

Hmm, unter

http://www.linux-club.de/ftopic49585.html

steht was zu "Namen einer Tabelle ändern".
Vielleicht geht das analog auch mit

ALTER DATABASE x RENAME y;

oder so. Aber erst mal mit leerer Datenbank probieren :P.

Gruß

Edit:
Ja, so in etwa:
http://archives.postgresql.org/pgsql-bu ... g00065.php

Pfefferoni
Newbie
Newbie
Beiträge: 22
Registriert: 14. Feb 2005, 15:38
Wohnort: München
Kontaktdaten:

Beitrag von Pfefferoni » 22. Jan 2007, 19:21

thx, das mit ALTER TABLE hatte ich auch schon gesehen, war mir aber nicht sicher, ob das auf ne Datenbank übertragbar ist. Richtige Syntax ist in psql:

Code: Alles auswählen

psql irgendeine_db -U username -c "ALTER DATABASE db1 RENAME TO db2"
wobei "irgendeine_db" nicht identisch mit "db1" sein darf (Man darf logischerweise nicht die DB umbenennen auf der man gerade arbeitet).

Mit dem Quelltext von phpPgAdmin hab ich noch rausgekriegt, dass dieser SQL-Befehl nur ab der version 7.4. funktioniert.

Analog kann man den Besitzer mit "OWNER TO" anstelle von "RENAME TO" ändern (ab Version 8 )

MfG

abgdf
Guru
Guru
Beiträge: 3073
Registriert: 13. Apr 2004, 21:15

Beitrag von abgdf » 22. Jan 2007, 19:48

Na also ! :P

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste