dsmrreader / dsmr-reader

DSMR-telegram reader & data visualizer for hobbyists. Free for non-commercial use.
https://dsmr-reader.readthedocs.io
Other
459 stars 95 forks source link

Postgesql error🙋 #1862

Closed brugk000 closed 1 year ago

brugk000 commented 1 year ago

Description

Ik krijg deze foutmelding: 2023-05-31 09:02:36.815 CEST [73062] ERROR: nextval: reached maximum value of sequence "dsmr_mqtt_message_id_seq" (2147483647)

DSMR-reader version

docker tatest

DSMR-reader platform

Docker (e.g. Xirixiz)

Debug info dump

No response

brugk000 commented 1 year ago

Ik ben wat verder in de foutmeldingen gedoken en denk dat het te maken heeft met het MAXvalue van de in de fout genoemde sequence. Heb nu mijn mqtt verbinding uitgevinkt en kijk of dat misschien een oplossing biedt

dennissiemensma commented 1 year ago

Bedankt voor je melding. Je bent de eerste die hier tegenaan loopt en dat zou betekenen dat je al ruim 2 miljard MQTT berichten via DSMR-reader hebt verstuurd. Ik denk dat de fix voor nu is de tabel leeggooien en de sequence (ID teller) weer te resetten naar 1. Ik heb alleen niet zo 1-2-3 de betreffende queries bij de hand voor je. Daar zou ik thuis naar moeten zoeken en proberen.

brugk000 commented 1 year ago

Is gelukt. pgAdmin4 gebruikt om de database te benaderen. Tabel leeggemaakt en de teller op 1 gezet. Zal kijken of dit de oplossing is

dennissiemensma commented 1 year ago

Ik neem aan dat het gelukt is?

Gebruik je trouwens MQTT in DSMR-reader met een per-veld topic? Want dat zou wel deels verklaren dat je aan de limiet komt, al is 2+ miljard berichten echt heel heel veel

brugk000 commented 1 year ago

De DSMR integratie in Home Assistant werkt met split mqtt topics. Dat zijn er idd veel

dennissiemensma commented 1 year ago

Wellicht dat ik dan DSMR-reader moet overzetten naar UUID's ipv numerieke ID's. Dat is wel meer best practice, maar helaas ook niet heel triviaal om "even" te doen. Wellicht ooit.

brugk000 commented 1 year ago

Snap ik. Ik ken nu de oplossing dus ik kan weer verder. In ieder geval bedankt voor het meedenken en voor de ontwikkeling van dit mooie product.

786534786 commented 1 year ago

Ik heb nu ook dit issue. Het zou enorm helpen als iemand de queries heeft om de betreffende tabel leeg te maken en de sequence naar 1 te zetten. Bedankt alvast.

Nevermind sql statement is volgens mij:

TRUNCATE dsmrreader.dsmr_mqtt_message RESTART IDENTITY;

dennissiemensma commented 1 year ago

Is het gelukt @786534786?

786534786 commented 1 year ago

Is het gelukt @786534786?

Ja met statement zoals toegevoegd in mijn post. Wellicht heeft iemand anders er ook nog iets aan.

brugk000 commented 1 year ago

Bedankt voor de query. Ik deed het nogal omslachtig via pgAdmin4.

brugk000 commented 1 year ago

Terug van vakantie en de query geprobeerd in een sql window in pgAdmin4. Deze moest in uitbreiden met het schema in de database: TRUNCATE dsmrreader.public.dsmr_mqtt_message RESTART IDENTITY;

davidvf commented 7 months ago

I just ran into this as well... Below the oneliner i used to fix the error in a docker environment.

sudo docker exec -t <POSTGRES CONTAINER NAME> psql --host=127.0.0.1 --port=5432 --dbname=dsmrreader --username=dsmrreader -c 'TRUNCATE dsmrreader.public.dsmr_mqtt_message RESTART IDENTITY'