Make using TimescaleDB optional.
Some checks failed
Build Docker image / build (push) Has been cancelled
Some checks failed
Build Docker image / build (push) Has been cancelled
This commit is contained in:
parent
68e7f28f81
commit
7abe076fd2
4 changed files with 18 additions and 9 deletions
|
@ -28,6 +28,7 @@ services:
|
|||
MQTT_USERNAME: ${MQTT_USERNAME}
|
||||
MQTT_PASSWORD: ${MQTT_PASSWORD}
|
||||
PG_DB: ${PG_DB}
|
||||
TIMESCALEDB_ENABLE: ${TIMESCALEDB_ENABLED}
|
||||
LOG_LEVEL: ${LOG_LEVEL}
|
||||
depends_on:
|
||||
timescaledb:
|
||||
|
|
|
@ -8,6 +8,7 @@ services:
|
|||
MQTT_USERNAME: ${MQTT_USERNAME}
|
||||
MQTT_PASSWORD: ${MQTT_PASSWORD}
|
||||
PG_DB: ${PG_DB}
|
||||
TIMESCALEDB_ENABLED: ${TIMESCALEDB_ENABLED}
|
||||
LOG_LEVEL: ${LOG_LEVEL}
|
||||
volumes:
|
||||
- /etc/timezone:/etc/timezone:ro
|
||||
|
|
|
@ -4,5 +4,7 @@ MQTT_USERNAME=your_username
|
|||
MQTT_PASSWORD=your_password
|
||||
|
||||
PG_DB='host=localhost port=5432 user=postgres password=secret-replace dbname=p1 sslmode=disable'
|
||||
TIMESCALEDB_ENABLED=true
|
||||
|
||||
# LOG_LEVEL: DEBUG, INFO, WARN or ERROR. Standard: INFO
|
||||
LOG_LEVEL=INFO
|
23
main.go
23
main.go
|
@ -315,14 +315,6 @@ func connectToPostgreSQL(pgConnStr string) error {
|
|||
time.Sleep(5 * time.Second) // Retry after 5 seconds
|
||||
}
|
||||
|
||||
// Enable TimescaleDB
|
||||
_, err = db.Exec(`
|
||||
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
||||
`)
|
||||
if err != nil {
|
||||
log.Fatal("Error creating TimescaleDB extension:", err)
|
||||
}
|
||||
|
||||
// Create table if not exists
|
||||
_, err = db.Exec(`
|
||||
CREATE TABLE IF NOT EXISTS p1 (
|
||||
|
@ -349,11 +341,24 @@ func connectToPostgreSQL(pgConnStr string) error {
|
|||
returning_l2 INT,
|
||||
returning_l3 INT
|
||||
);
|
||||
SELECT create_hypertable('p1', 'timestamp', if_not_exists => TRUE);
|
||||
`)
|
||||
if err != nil {
|
||||
log.Fatal("Error creating table:", err)
|
||||
}
|
||||
|
||||
timescaleDBEnabled := os.Getenv("TIMESCALEDB_ENABLED")
|
||||
|
||||
if timescaleDBEnabled == "true" {
|
||||
// Enable TimescaleDB
|
||||
_, err = db.Exec(`
|
||||
CREATE EXTENSION IF NOT EXISTS timescaledb;
|
||||
SELECT create_hypertable('p1', 'timestamp', if_not_exists => TRUE);
|
||||
`)
|
||||
if err != nil {
|
||||
log.Fatal("Error creating TimescaleDB extension:", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue