Hallo,
wie gehe ich den grundsätzlich vor (bin Einsteiger), wenn ich in einem Client-Server Szenario ein Update und Veränderungen an den Tabellen vornehmen.
Folgende Frage stellt sich mir:
1. Wer ist mit der Datenbank verbunden, und wie kann ich die Verbindung trennen und nicht mehr zulassen, bis das Update fertig ist?
Bin mir sicher,dass diese Frage im Forum schon beantwortet wurde, habe aber nichts passendes gefunden. Also wäre es nett, wenn ihr mit Tipps und Links antwortet.
Bubblegum
Was für Veränderungen? Daten updaten, oder Tabellenstruktur ändern?
Die gute Nachricht: in PG läuft alles in einer Transaktion.
Wer verbunden ist, steht in pg_stat_activity, die Spalte procpid enthält die PID des Prozesses dazu, welche Du mit pg_cancel_backend killen kannst.1. Wer ist mit der Datenbank verbunden, und wie kann ich die Verbindung trennen und nicht mehr zulassen, bis das Update fertig ist?
Verhindern, daß sich andere anmelden? Man könnte dies über die pg_hba.conf und/oder max_connections machen.
Aber der Aufwand ist einklich gar nicht nötig. Wenn Du z.B. ein ALTER TABLE machst, dann wartet das so lange brav, bis es sicher durchgeführt werden kann, also keine offenen Transaktionen die alte Struktur erwarten.
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
@akretschmer
Danke für die Antworten, dass bringt mich ein Stück weiter.
Das Problem ist, dass gerade wenn ich ALTER TABLE Aktionen mache, und ein Client noch mit einer Softwareversion zugreift, die die alte Datenbankstrukur erwartet stürzt die Anwendung ab. Diese will ich im Vorfeld verhindern, indem ich alle raus kicke, die auf die Datenbank zugreifen, und dann exklusiv das DB-Update durchführe. Oder wie machst du das?
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
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
Danke! Aber was ist den ein pg_hba.conf (ich nehmen an eine Tabelle)? Aber wo finde ich die? Und wie mache ich das, dass die keinen außer mir rein lässt? Sorry, aber ich binEinsteiger.
Du bist Einsteiger, möchtest aber gleich tief in die Administration und Entwicklung einsteigen?
Wer garantiert dir, dass du keine fahrlässigen Fehler einbaust?
Wäre es nicht praktischer, erst mal einige Grundlagen aufzubauen?
Die Datei(!) pg_hba.conf befindet sich im Datenverzeichnis der Datenbank.
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
Autsch.
Ergänzend zu ads: PostgreSQL: Documentation: Manuals: PostgreSQL 8.4: Client Authentication
Und noch etwas: die Doku, also die Online-Doku oben, die hat auch eine Suchfunktion. Wenn man da den Begriff "pg_hba.conf" eintippt und danach sucht, ist der erste Treffer der oben stehene Link. Setz Dir 'ne Bookmark auf die Doku, das wird ab sofort Deine Lieblingsseite.
Andreas
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Nur PostgreSQL Einsteiger. In Sachen Softwareentwicklung würde ich mich da eher nicht als Einsteiger sondern eher als Einstein.bezeichnen. Habe vorher fast 20 Jahre mit Btrieve und SQL-Base gearbeitet. Habe extra PostgreSQL als SQL - Datenbank gewählt, da die Administration recht einfach und Wartungsfreundlich sein soll. Habe auch schon meine neue Anwendung auf PostgreSQL umgestellt (läuft auf Windows, Mac OSX und iPhone). Fast alles ohne Probleme. Die Updatealgorithmen (aktueller Post) und eine Limitierung der User - Anzahl (würde ich gerne mit PostgreSQL machen, wenn es sich dafür eignet) fehlt mir noch. Wieder zum Thema. Ich habe jetzt natürlich 100 folge Fragen, wie z.B. wie finde ich den Pfad für die "pg_hba.conf" Datei. Wie siehts mit den Zugriffsrechten aus? Etc. also werde ich wieder mal 24h alles zusammen suchen.
@Andreas
Habe die Doku. Trotzdem danke!
Geändert von Bubblegum (25.02.2010 um 16:26 Uhr)
--
https://www.xing.com/profile/Andreas_Kretschmer7ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
Links: Tobias Bauer - IT- und Funkdienstleistungen - Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen - Funkforum
Lesezeichen