Ergebnis 1 bis 8 von 8

Thema: Locking deaktivieren?

  1. #1
    svent ist offline Neuer Benutzer
    Registriert seit
    19.02.2009
    Beiträge
    3

    Standard Locking deaktivieren?

    Hallo,

    aus bestimmten Gründen muss ich Postgres dazu bekommen nur im Einbenutzer-Betrieb (eine Remote-Verbindung) zu laufen (evt. max_connections=1) und kein Locking durchzuführen.
    Hat jemand einen Tipp, wie ich Postrges dazubringen kann auf Locking zu verzichten (setzen von Sperren+Überprüfen von gesetzten Sperren)?
    Gibt es evt. builtin-Features und falls nicht, welche Stellen im Code sollte ich mir anschauen?

    Danke
    Sven

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

    Standard

    Zitat Zitat von svent Beitrag anzeigen
    Hallo,

    aus bestimmten Gründen muss ich Postgres dazu bekommen nur im Einbenutzer-Betrieb (eine Remote-Verbindung) zu laufen (evt. max_connections=1)
    Sollte so gehen, ungetestet. Was bleibt, sind lokale Anmeldungen, und vermutlich belegen Dinge wie Autovacuum auch eine Verbindung, bin ich mir aber grad nicht sicher. Wozu brauchst Du das?

    und kein Locking durchzuführen.
    Versteh ich nicht ganz, setz halt keine.


    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
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Bei einem UPDATE werden auch LOCKs gesetzt, selbst ein SELECT setzt einen LOCK auf die Daten, die gelesen wurden (damit jemand anderes die nicht zwischenzeitlich löscht).

    Ganz verhindern kann man das nicht.


    Bleibt die Frage offen, was der Originalposter vorhat - ein paar mehr Details wären (wie üblich) hilfreich.
    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

  4. #4
    svent ist offline Neuer Benutzer
    Registriert seit
    19.02.2009
    Beiträge
    3

    Standard

    Wie ads schon sagte, werden bei den Operationen automatisch Sperren gesetzt und dabei auch jedes Mal nach bereits gesetzten Sperren geprüft. Da ich diesen Overhead im Single-User-Betrieb nicht benötige, würde ich den gern eleminieren.
    Aus welchen Gründen ist uninteressant. Mich interessiert halt, wie man das realisieren kann, ob es dazu von Postgres Möglichkeiten gibt - was ich nicht glaube.

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

    Standard

    Richtig, das geht nicht.

    Eine Datenbank im Single-User Betrieb zu betreiben ist (in den meisten Fällen) auch nicht das, was du möchtest. Wer kümmert sich um Maintenance (aka VACUUM, Backup)? Dafür brauchst du wiederum Locking.
    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

  6. #6
    svent ist offline Neuer Benutzer
    Registriert seit
    19.02.2009
    Beiträge
    3

    Standard

    Das mein Vorhaben nicht dem eigentlichen Zweck und dem Standard-Betrieb von DBMSes entspricht ist mir wohl bekannt, ebenso die Arbeitsweise derer.
    Ich wollte eigentlich nur wissen, ob jemandem eine Möglichkeit bekannt ist, bevor ich das selbst realisiere.
    Um alle von dir aufgezählten Belange würde ich mich dann selbst kümmern.

    Trotzdem danke...

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

    Standard

    Darf ich trotzdem fragen was du erreichen möchtest?
    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
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Zitat Zitat von ads Beitrag anzeigen
    Bei einem UPDATE werden auch LOCKs gesetzt, selbst ein SELECT setzt einen LOCK auf die Daten, die gelesen wurden (damit jemand anderes die nicht zwischenzeitlich löscht).
    Um meine eigene Aussage zu verdeutlichen: mit dem "zwischenzeitlich löschen" meinte ich ein "DROP DATABASE" und ähnliche, nicht transaktionssichere Aktionen. Ein simples DELETE wird bereits von MVCC erledigt und benötigt kein LOCKing.
    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

Ähnliche Themen

  1. SQL output deaktivieren
    Von drooper im Forum Konfiguration
    Antworten: 7
    Letzter Beitrag: 12.11.2009, 13:46
  2. Locking ROW EXCLUSIVE
    Von marc9022 im Forum Programmierung
    Antworten: 21
    Letzter Beitrag: 29.07.2008, 14:46
  3. Row Level Locking
    Von zbenjamin im Forum SQL
    Antworten: 18
    Letzter Beitrag: 27.04.2006, 10:33
  4. welches locking brauche ich?
    Von gnoerz im Forum SQL
    Antworten: 12
    Letzter Beitrag: 09.02.2006, 21:06
  5. Trigger Deaktivieren
    Von henrik im Forum Trigger und Funktionen
    Antworten: 5
    Letzter Beitrag: 08.02.2006, 11:24

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