PASLOG - SQL Datenstruktur

<< Click to Display Table of Contents >>

Navigation:  PASLOG - Loggen >

PASLOG - SQL Datenstruktur

SQL-Tabellenstruktur

Die Datenbank besteht aus einer Tabelle, die partitioniert ist über den Zeitstempel ("MsgClientTs") der LOG-Meldungen.

Der Aufbau im Client:

 

    static string CreateDbTableName(string tableName)

    {

        return

            "CREATE TABLE IF NOT EXISTS " + tableName + " (" +

            "msgText          text," +

            "msgLevel         int not null," +

            "msgLevelInfo     text," +

            "msgClientNr      int," +

            "msgClientTS      timestamptz not null," +

            "msgAppNr         int," +

            "msgImportTS      timestamptz not null," +

            "msgData          jsonb," +

            "msgTopic         text," +

            "msgSubTopic      text," +

            "msgIntVal        bigint," +

            "appStackName     text," +

            "appLocation      text," +

            "appName          text," +

            "appProcessID     int," +

            "appThreadName    text," +

            "userName         text," +

            "userSessionID    text," +

            "userConnectionID text," +

            "customerID       text," +

            "msgDebug         boolean not null" +

            ")";

    }

 

 

Und hier der Code zur Erzeugung der Tabellen (damit sind die rel. Strukturen klar):

 

 

var sqlCreateMasterTable = CreateDbTableName("paslog") + " PARTITION BY RANGE (msgClientTS);";

 

                var cmd = new NpgsqlCommand(

                    sqlCreateMasterTable,

                    connection,

                    transaction);

 

                var sqlCreateMasterTableIndex = "CREATE INDEX IF NOT EXISTS insertidxx ON PASLOG (msgClientTS); ";

                var indexCreation2 = new NpgsqlCommand(

                    sqlCreateMasterTableIndex,

                    connection,

                    transaction);