DBLog mit PostgreSQL 9.6 auf QNAP-NAS

Begonnen von t.huber, 22 Januar 2017, 02:12:40

Vorheriges Thema - Nächstes Thema

t.huber

Hallo Experten,

hier mal soweit mein Erfahrungsbericht.
Ich war/bin willig auf DBLog umzustellen.
Wegen steigender Filelog-Größen und um meine SD-Karte im Raspi vor einem Schreib-Tod zu bewahren.

Da ich ein QNAP-NAS habe habe ich natürlich das angebotene und vordefinierte PostgreSQL 9.6 im AppCenter installiert.
WebGUI (phpPGAdmin) läuft.
Schon beim nächsten Schritt wäre ich fast verzweifelt.
Beim Ausführen des db_create_postgresql.sql.
Wo gebe ich das sch.. Script ein damit es ausgeführt wird ?
psql reagiert nicht.
OK nach einigen Stunden googlen war ich etwas schlauer.
OPKG nachinstalliert.
psql gesucht und gefunden.
psql zur $PATH hinzugefügt mit "export PATH=/share/CACHEDEV1_DATA/.qpkg/PostgreSQL96"
Endlich diese "SQL-Shell" erreicht.

Als ich die
Zitat\i db_create_postgresql.sql
ausführe hagelt es Fehlermeldungen:
psql:/tmp/db_create_postgresql.sql:40: ERROR:  syntax error at or near "<!"
LINE 1: <!DOCTYPE html>
        ^
psql:/tmp/db_create_postgresql.sql:44: ERROR:  syntax error at or near "_paq"
LINE 1: _paq.push(['trackPageView', document.title, {
        ^
psql:/tmp/db_create_postgresql.sql:45: ERROR:  syntax error at or near "_paq"
LINE 1: _paq.push(['enableLinkTracking']);
        ^
psql:/tmp/db_create_postgresql.sql:52: ERROR:  syntax error at or near "function"
LINE 1: (function() {
         ^
psql:/tmp/db_create_postgresql.sql:59: ERROR:  syntax error at or near "</"
LINE 1: </script>
        ^
psql:/tmp/db_create_postgresql.sql:123: ERROR:  syntax error at or near "//"
LINE 1: //fix any <img> or .png_bg background-images </script>
        ^
psql:/tmp/db_create_postgresql.sql:126: ERROR:  syntax error at or near "function"
LINE 1: function _add_tracking(prefix, tracking_id) {
        ^
psql:/tmp/db_create_postgresql.sql:128: ERROR:  syntax error at or near "ga"
LINE 1: ga(prefix+'.set', 'dimension9', 'fhem');
        ^
psql:/tmp/db_create_postgresql.sql:129: ERROR:  syntax error at or near "ga"
LINE 1: ga(prefix+'.set', 'dimension10', 'svn');
        ^
psql:/tmp/db_create_postgresql.sql:131: ERROR:  syntax error at or near "ga"
LINE 1: ga(prefix+'.set', 'dimension13', 'Logged Out');
        ^
psql:/tmp/db_create_postgresql.sql:132: ERROR:  syntax error at or near "ga"
LINE 1: ga(prefix+'.send', 'pageview');
        ^
psql:/tmp/db_create_postgresql.sql:134: ERROR:  syntax error at or near "}"
LINE 1: }
        ^
psql:/tmp/db_create_postgresql.sql:135: ERROR:  syntax error at or near "_add_tracking"
LINE 1: _add_tracking('sfnt2', 'UA-36130941-1');
        ^
psql:/tmp/db_create_postgresql.sql:352: ERROR:  syntax error at or near "</"
LINE 1: </script>
        ^
psql:/tmp/db_create_postgresql.sql:410: ERROR:  syntax error at or near "</"
LINE 1: </div>
        ^
psql:/tmp/db_create_postgresql.sql:411: ERROR:  syntax error at or near "Maximize"
LINE 1: Maximize</a>
        ^
psql:/tmp/db_create_postgresql.sql:412: ERROR:  syntax error at or near "Restore"
LINE 1: Restore</a>
        ^
psql:/tmp/db_create_postgresql.sql:509: ERROR:  syntax error at or near "History"
LINE 1: History</a>
        ^
psql:/tmp/db_create_postgresql.sql:510: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:510: ERROR:  syntax error at or near "UTF8"
LINE 1: UTF8'
        ^
psql:/tmp/db_create_postgresql.sql:510: ERROR:  syntax error at or near "</"
LINE 1: </span><span class="p">;
        ^
psql:/tmp/db_create_postgresql.sql:511: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:512: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:513: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:514: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:520: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:523: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:529: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:529: ERROR:  syntax error at or near "standard"
LINE 1: standard fhem schema'
        ^
psql:/tmp/db_create_postgresql.sql:529: ERROR:  syntax error at or near "</"
LINE 1: </span><span class="p">;
        ^
psql:/tmp/db_create_postgresql.sql:532: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:534: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:534: ERROR:  syntax error at or near "&#"
LINE 1: '
        ^
psql:/tmp/db_create_postgresql.sql:534: ERROR:  syntax error at or near "</"
LINE 1: </span><span class="p">;
        ^
psql:/tmp/db_create_postgresql.sql:536: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:550: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:553: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:567: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:570: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:576: ERROR:  syntax error at or near "</"
LINE 1: </span>
        ^
psql:/tmp/db_create_postgresql.sql:576: ERROR:  syntax error at or near "Search_Idx"
LINE 1: Search_Idx&quot;
        ^
psql:/tmp/db_create_postgresql.sql:632: ERROR:  syntax error at or near "</"
LINE 1: </span> <span class="k">ON</span> <span class="n">history</s...
        ^
psql:/tmp/db_create_postgresql.sql:758: ERROR:  syntax error at or near "2017"
LINE 1: 2017 Slashdot Media. All Rights Reserved.<br />
        ^
psql:/tmp/db_create_postgresql.sql:792: ERROR:  syntax error at or near "</"
LINE 1: </script>
        ^
psql:/tmp/db_create_postgresql.sql:819: ERROR:  syntax error at or near "</"
LINE 1: </script>
        ^
psql:/tmp/db_create_postgresql.sql:822: ERROR:  syntax error at or near "</"
LINE 1: </script>


Dann hab ich gemerkt dass ich es irgendwie geschafft habe die HTML-Version des Files herunterzuladen ...  :-\

Mit dem echten SQL-File geht es vorwärts aber leider mit Fehlermeldungen:
SET
SET
SET
SET
SET
SET
CREATE SCHEMA
psql:/tmp/db_create_postgresql.sql:19: ERROR:  role "fhem" does not exist
COMMENT
SET
SET
SET
CREATE TABLE
psql:/tmp/db_create_postgresql.sql:49: ERROR:  role "fhem" does not exist
CREATE TABLE
psql:/tmp/db_create_postgresql.sql:66: ERROR:  role "fhem" does not exist
CREATE INDEX


Nach zig gescheiterten Versuchen einen User bzw. eine Rolle zu erstellen (z.B. mit "sudo -u postgres createuser --superuser fhem")
scheiterte ich an: "admin is not in the sudoers file.  This incident will be reported."

Geschafft hab ich es dann mit dem einfachen Weg über die phpPgAdmin-GUI (Server>PostgreSQL>Rollen>Rolle anlegen)

Was ein K(r)ampf bisher.
Morgen bzw. Heute probier ich dann mal Fhem mit dieser Datenbank zu connecten.
Mir graust es jetzt schon ...

rudolfkoenig

ZitatWegen steigender Filelog-Größen und um meine SD-Karte im Raspi vor einem Schreib-Tod zu bewahren.
Bevor hier FUD verbreitet wird: gibt es irgendwo Zahlen oder begruendete Hinweise, dass DbLog schonender mit der SD-Karte umgeht, als FileLog? FileLog synct seit 3.5 Jahren nicht mehr, damit ist Linux ueberlassen, wann die Dateien auf die Platte geschrieben werden, und das kann man feintunen. Ich habe 3+ Jahre mein FHEM auf einen billigen USB-Stick betrieben, ausgefallen ist aber das Mainboard.

Ich will nicht gegen DbLog wettern oder fuer FileLog werben, will aber auch nicht, dass Geruechte entstehen.

t.huber

Danke für die Klarstellung.
Es ist natürlich auch eher ein Gefühl/Angst/Vorahnung von mir.
Aber ich kenne die Problematik vom volkszähler und da liest man regelmäßig dass SD-Karten wegen vieler kleiner Schreibzugriffe vom logfile den Geist aufgeben.
Und von dem was ich gefühlt so mitbekomme sind auch SD-Karten vielfach öfters von Ausfällen betroffen als USB-Sticks.

Und für solche Sachen hab ich ja eigentlich ein NAS.

Oder ich könnte natürlich versuchen FHEM auf mein QNAP-NAS umzuziehen.
Aber vor der Arbeit hab ich etwas Angst.
Außerdem muss/möchte ich den Pi öfter mal neustarten und das geht ja sehr fix.
Ein NAS-Neustart dauert immer eine Ewigkeit. (>5min)
Deswegen finde ich FHEM auf dem Pi gut aufgehoben.
Vielleicht ist es aber auch gefährliches Halbwissen.
Ich lass mich da gerne eines besseren belehren.  ::)

Eine Alternative wäre noch nur die Filelogs auf dem NAS zu schreiben.
Geht das ?
In der command-ref hab ich dazu keinen expliziten Hinweis gefunden.

rudolfkoenig

ZitatEine Alternative wäre noch nur die Filelogs auf dem NAS zu schreiben.
Geht das ?
NAS auf dem PI mounten, und FileLog Parameter anpassen.

t.huber

Danke für die schnelle Antwort !

Mir ist gerade aufgefallen ich hätte mir die ganze Arbeit mit PostgreSQL sparen können.
MySQL ist ja auf dem QNAP-NAS schon vorinstalliert und nur noch nicht aktiviert.  ::)
Shame on Me ...
Es schon ein fester Bestandteil der Firmware und dadurch unter Apps mit einer Suche nach "SQL" nicht zu finden.
Ich dachte mir schon warum QNAP eher PostgreSQL unterstützt als MySQL.

JoeALLb

Vielleicht ist für dich de rneue async=1-Modus von DbLog interessant...
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

t.huber

Muss ich mir gleich mal durchlesen was der bewirkt.

Seit gestern Mittag läuft DBlog einwandfrei. Seit dem bin ich beim Fein-Tunen.
Ein paar völlig unnötige Meldungen muss ich noch ausschalten.
Wenn ich gerade mal Zeit hab.

Die SVG-Graphen hab ich soweit schon alle umgesetzt. Auch welche die ich mit DBInclude dazunehmen musste.