Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Auslesen des 'Comment' einer Datenbank (bzw. aendern/setzen der 'Description')

  1. #1
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard Auslesen des 'Comment' einer Datenbank (bzw. aendern/setzen der 'Description')

    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

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von Reallo Beitrag anzeigen
    Hi,

    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).
    pg_shdescription zum lesen und COMMENT ON DATABASE foo IS 'read the doc, dude'.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard

    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

  4. #4
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    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

  5. #5
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard

    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 :)

  6. #6
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard @ads

    Hi,
    ich mach es momentan so dass ich eine Tabelle 'changelog' angelegt habe wo alle Aenderungen hinein geschrieben werden ([datum][version][affected][description]).

  7. #7
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    Zitat Zitat von Reallo Beitrag anzeigen
    wenn ich in die Tabelle pg_shdescription hinein schreibe
    Sprich mir nach: "Ich will in keine Systemtabellen schreiben, solange ich keine Ahnung habe, was ich damit anrichte. Das verspreche ich!"

    Andernfalls kannst du damit deine gesamte Datenbank - den gesamten Cluster - kaputt machen.
    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

  8. #8
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard

    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

  9. #9
    Reallo ist offline Neuer Benutzer
    Registriert seit
    18.03.2010
    Beiträge
    13

    Standard

    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

  10. #10
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.020

    Standard

    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

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum