Re: Logger in Tabelle und/oder auf cli

From: "Thiemo Kellner, NHC Barhufpflege" <thiemo(at)gelassene-pferde(dot)biz>
To: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Logger in Tabelle und/oder auf cli
Date: 2016-03-09 09:12:53
Message-ID: 20160309101253.49913yhhpu73jgis@www.gelassene-pferde.biz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Interessante Ansätze, danke.

Zitat von "Gunnar \"Nick\" Bluth" <gunnar(dot)bluth(dot)extern(at)elster(dot)de>:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Am 09.03.2016 um 09:39 schrieb Thiemo Kellner, NHC Barhufpflege:
>> Danilo, danke für Deine Antwort. Raise schreibt auch ins Serverlog,
>> was ich nicht möchte, um es nicht zu verschmutzen. Abgesehen davon
>> habe ich keine Kontrolle, was alles geschrieben wird, abgesehen von
>> der Meldung selbst. Am meisten vermisse ich da, dass der Erzeuger,
>> zum Beispiel die Function, aus der der Eintrag kommt, nicht erfasst
>> wird.
>
> Unter der Annahme, dass du möglichst flexibel bleiben willst, denke
> ich spontan an LISTEN/NOTIFY und einen externen oder internen
> Consumer, der die geschickten Nachrichten async abgreift und dann
> dahin schickt, wo du sie willst. Das kann dann halt eine Datei, eine
> Tabelle (auch auf einer anderen DB) oder was auch immer sein. Die 8GB
> oder so default-queue-size sollten ja reichen? ;-)
>
> Das Format musst du dann latürnich selber festlegen... und den Caller
> mit reinschreiben, denn den findet man nicht so einfach (vgl.
> http://stackoverflow.com/questions/12611596/getting-name-of-the-current-function-inside-of-the-function-with-plpgsql)
>
>
>> Mit meiner Arbeit mit Oracle habe ich es sehr schätzen gelernt,
>> dass der von mir erwähnte Logger in eine Tabelle schreibt. Zur
>> Entwicklung war die Kommandozeilenausgabe sehr praktisch, im
>> Betrieb aber konnte diese Häufig nicht genutzt werden, zum
>> Beispiel, weil der Aufruf innerhalb von PowerCenter erfolgte.
>
> Es spricht ja nichts dagegen, sich einen Wrapper zu schreiben, der
> alles auf minimalem Loglevel _auch_ loggt _und_ in eine Tabelle
> schreibt (am Besten per FDW, sonst verschwinden deine Nachrichten,
> wenn die Transaktion wegen eines Fehlers abbricht; nicht das, was du
> beim Entwickeln haben willst!). In PROD hast du dann ja einen höheren
> Wert in "log_min_messages".
>
>
>> PL/Python zu verwenden bin ich zögerlich, weil zu dessen Nutzung
>> erhebliche Privilegien erforderlich sind. PL/TCL möchte ich nicht
>
> Na ja, deine Logging-Prozedur würdest du ja selber schreiben... dann
> "SECURITY DEFINER" drauf und gut ist.
>
>
> <snip>
>
>
>>> Am 08.03.2016 um 19:36 schrieb Thiemo Kellner, NHC Barhufpflege:
>>>> @Andreas und Hans
>>>>
>>>> Ich möchte NICHT die Änderungen von Daten in Tabellen
>>>> protokollieren sondern aus einer der PL-Sprachen Informationen
>>>> auf die Kommandozeile und/oder in eine Logging-Tabelle
>>>> schreiben. Folgend ein Ausschnitt aus einem Oracle-Package. Die
>>>> Procedure-Aufrufe TRACE, DEBUG, INFO, WARN, ERROR, FATAL ist
>>>> das worum es mir geht.
>>>>
>>>> function GET_CHAR_DIFF_CLASSES( P_STRING_A
>>>> varchar2, P_STRING_B varchar2,
>>>> P_LOG_LEVEL PKG_PLNSQL_LOGGER.GT_LOG_LEVEL := 'INFO',
>>>> P_DO_LOG_2_DBMS_OUTPUT boolean := false,
>>>> P_DO_CACHE_OVERRIDE boolean := false,
>>>> P_DO_TRUNCATE_LOG_TABLE boolean := false ) return
>>>> GT_CHARACTER_POSITIONS is
>
> Wenn dir solcher Code gefällt, solltest du weniger Scheu vor Neuem
> zeigen (pun intended ;-).
>
> Just my 2p,
> - --
> Gunnar "Nick" Bluth
> DBA ELSTER
>
> Tel: +49 911/991-4665
> Mobil: +49 172/8853339
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v2.0.22 (GNU/Linux)
>
> iQIcBAEBAgAGBQJW3+YaAAoJEDh0MJ2tR5CnykUP/3384M3caIBqSr3QX9vDdacv
> mxtrM9IOXtx9A1Wmn35ZyN0DF0cqorr/iViHmVLdurUfeQcwbSWvoB1rEw+IjxA2
> ke9hN7Zae5+DbUfi5lJdoVu+WsvbAArcbo/0QK7QB2RMbXAMXku+NOAAVqqpeIAb
> dmqZ24Nz3BEdLa/UlvswTwBh2JSqL6y15CD+0dJUyy+PH/I4RYPD6Ju+R9EAvZXD
> Uyp6+eZXbPJWLHvH/xgfR7XZrqYMshh1llpTMiU3eur5TgGUH9IJ6zH900V6j5fh
> LP23M/kH5mfusA5F0UbOkVUrly5NkObUetBsXk9m52LKr7q2UF3txzZINRd7a7La
> ZI41jgBeMmKTeuASjvbByZvSrs7EGCEQiwbNdQEd6OTLW/mEf1DlzTO/xnYKrCez
> 6MstTNoUAPVXIwXTC6Ba0vJ3Fflv2iVUwQ7W8sUYaHNuWGlqkT5ZZdmJh/k0t+7x
> oWA90onhSqBS7rUkfn+N3PA96cVWnlkGoQUShSc62Q4EDE2LISFYqxSna/f2BG76
> JqcaspoTIBg0ZxnLO9o76UTrUgvHXBSeNrMjLa67eGuXHIGA5CzUHewmag4CASjM
> 5D2Cz71ng/wX47ZF2K5NyOPMPMlWHmcJaCve3pUkVRgh/s6pO6BIWd96pxpdrc/K
> vMyDWtr06xfj0MQro19X
> =S/UG
> -----END PGP SIGNATURE-----
>
>
> --
> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>

--
Auf Gelassene Pferde kann man bauen!
+49 (0)1578-772 37 37
+41 (0)78 947 36 21
sip: thiemo(dot)kellner(at)iptel(dot)org
http://www.gelassene-pferde.biz
Mitglied bei http://www.keep-it-natural.org
Öffentlicher PGP-Schlüssel:
http://pgp.mit.edu/pks/lookup?op=get&search=0x8F70EFD2D972CBEF

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Thiemo Kellner, NHC Barhufpflege 2016-03-11 13:31:44 Re: Logger in Tabelle und/oder auf cli
Previous Message Gunnar "Nick" Bluth 2016-03-09 09:00:10 Re: Logger in Tabelle und/oder auf cli