Archiv der Kategorie: Postgres

Postgresql: Timestamp bei Aktualisierung updaten (Trigger)

Die Deklaration einer Tabellenspalte mit default Current_Timestamp erzeugt noch kein Update des Timestamps bei einer Änderung in der Zeile.
Erst ein Trigger

CREATE OR REPLACE FUNCTION update_modified_column()
RETURNS TRIGGER AS $$
BEGIN
NEW.modified = now();
RETURN NEW;
END;
$$ language 'plpgsql';

CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON customer FOR EACH ROW EXECUTE PROCEDURE update_modified_column();

Postgres: Ändern Index (Serial/Sequence)

Mit ALTER SEQUENCE … lässt sich eine Sequenz ändern. Soll aber nur der Index auf einen neuen Wert gesetzt werden:

SELECT setval('name_index_id_seq',5000,True);

name_index_id_seq = Name der Sequenz

5000 = nächste ID die vergeben wird

True = Wert wird sofort geändert (man kann einen neuen Index auch angeben und erst mit ALTER SEQUENCE RESTART aktivieren)

Postgresql: pg_top installieren

Um nachzuvollziehen, wo die Resourcen der Postgresql Datenbank verbraucht werden ist das Paket „pgtop“ sehr hilfreich.

Vorher die Repos abgleichen:

Paket installieren:

Zum Aufrufen des Programms (als User postgres):

Als Ausgabe erhält man eine Darstellung wie folgt:
Weiterlesen

Shell: Swap auf Datenbankserver vermeiden

Datenbankserver ohne Swap zu betreiben KANN die Integrität der Daten gefährden. Aber ein Datenbankserver mit Swap WIRD erhebliche Performanceeinbußen bringen.

Wenn MariaDB (oder Postgresql) Swap belegt, ohne dass es einen erkennbaren Grund gibt (ausreichend Speicher vorhanden) kann die „Swappiness“ gesenkt werden. Dies ist immer noch sicherer als den Swap-Speicher komplett abzustellen (gerade bei einem Datenbankserver). Mit smem können gezielt die Swap-Verbraucher ermittelt werden.
Weiterlesen