Hi,
vorerst einmal ein 'Hallo' an alle hier
Nachdem wir unsere Datenbanken stetig erweitern (weil noch in Entwicklung) und es durchaus vorkommen kann, dass in verschiedenen Locations unterschiedliche Versionen rennen, hat sich meinereiner gedacht, dass es doch recht praktisch waere, wenn ich die ganzen Update-Skripts buendle und in dem einen Skript dann nach der DB-Version frage und nur dementsprechend die Abfragen ausfuehren lasse.
Momentan halte ich die Versionen dadurch auseinander, dass ich ins 'Comment'-Feld der Datenbank einfach die Version hinein schreibe (z.B v.1.0.8).
Allerdings habe ich trotz Googeln und Abgrasen der systeminternen Tabellen keinerlei Ahnung, wie bzw. wo das Comment abgespeichert wird.
Vielmehr hat sich durch das Suchen eine neue Frage aufgeworfen, da ich mit 'psql \l+' ploetzlich sehe, dass die DB als 'Description' "v1.0.3" hat, obwohl ich mich nicht entsinnen koennte, das jemals explizit angegeben zu haben.
Hier nun meine Frage:
Kann man das 'Comment'-Feld der Datenbank irgendwie auslesen? Bzw. wie lese/setze ich die 'Description' (am Besten waere es ohne psql-commandozeile).
Mit bestem Dank im Vorraus
Gerald
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
thx fuer die schnelle Antwort (fuer die 'Description').
Trotzdem will ich das Comment nicht schreiben, ich will es LESEN
In den doc's werde ich nur auf die psql \d commands verwiesen.
Gerald
psql mit den Optionen -e und -E starten und schauen, was der macht.
Um sich nicht auf die Datenbank verlassen zu müssen: ich führe immer eine Tabelle db_updates mit, in der jedes einzelne Update vermerkt wird. Auf die Art und Weise kann ich auch Updates außer der Reihe einspielen und bin nicht zwingend auf die Reihenfolge angewiesen (unter der Voraussetzung, dass die Updates unabhängig voneinander sind). Außerdem vermerke ich in der Tabelle den Zeitpunkt des Updates sowie in der Regel einen Kommentar.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
hmm,
habs gerade ausprobiert, wenn ich in die Tabelle pg_shdescription hinein schreibe, dann aendert er eh auch das 'Comment'-Feld. Was mich jetzt allerdings etwas verwirrt ist, dass pgAdmin vorhin '1.0.8' angezeigt hat, bei psql \l+ aber '1.0.3' aufschien??? War etwas verwirrend fuer mich.
Danke, Andreas. (Wusste ja nicht, dass Comment = Description ist)
Geändert von Reallo (18.03.2010 um 19:18 Uhr) Grund: ich bin ein noob :)
Hi,
ich mach es momentan so dass ich eine Tabelle 'changelog' angelegt habe wo alle Aenderungen hinein geschrieben werden ([datum][version][affected][description]).
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
das mit dem hinein schreiben war auch eher zum 'testzweck' und nicht in der richtigen Datenbank. Normalerweise aendere ich das Comment ueber pgAdmin (Dev-DB) oder 'comment on database...' (update-script)
Wie gesagt, was mich ziemlich irritiert hat war, dass pgAdmin 'v1.0.8' angezeigt hat und psql \l+ v1.0.3 (bei der Dev-DB). Diese Version gibt es aber seit ein paar Monaten nicht mehr![]()
Hi,
nochmals ein paar Fragen zu dem Thema
Habe folgendes 'Problem':
Die Datenbank, mit der ich entwickle heisst z.B 'Data'. Die Datenbanken bei unseren Kunden heissen auch 'Data'.
Wenn es jetzt ein Problem mit einer Datenbank bei einem Kunden gibt, das nicht vor Ort geloest werden kann, mache ich ein Backup von dieser Datenbank und spiele es mir auf meinen Rechner, die db benenne ich aber nicht mehr 'Data' sondern nach dem Namen von dem Kunden, da ich meist mehrere Datenbanken zugleich ansehe (das soll jetzt nicht heissen das die DB so buggy ist).
Das Problem das ich jetzt aber habe ist, dass die Comments von den backups nicht in der DB vom Kunden gesetzt werden, sondern in meiner 'Data'.
Hier nun die Fragen:
Kann man dem restore-tool irgendwie beibringen, dass es statt COMMENT ON DATABASE "Data" = 'wasauchimmer' z.B. ein COMMENT ON DATABASE current_database() = 'wasauchimmer' macht? Ist diese Verhaltensweise etwas, das man den pg-Entwicklern mitteilen sollte? Und gibts da vielleicht noch mehrere solcher 'statischen' Links auf 'Data'?
Habe sicherheitshalber eine 2. Serverinstanz installiert wo meine 'Data' hoffentlich geschuetzter lagert.
Gruss aus Miami & schoenes WoE
lg
Gerald
Also ändern kannst du das nicht.
Was du als Workaround nutzen könntest: dump das im Custom Format und spiele alle Änderungen bis auf dieses eine Comment ein. Das extrahierst du manuell und bearbeitest es nach. Diese Schritte lassen sich bequem automatisieren.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören
Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler
PostgreSQL Service & Support
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen