# Historian using TimescaleDB w/ Postgres

**URL:** <https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148>\
**Category:** Ignition\
**Created:** [January 8, 2026, 11:25am UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148 "2026-01-08T11:25:29Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![matt6](https://avatars.discourse-cdn.com/v4/letter/m/87869e/32.png) [@matt6](https://forum.inductiveautomation.com/u/matt6)\
**Post date:** [January 8, 2026, 11:25am UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/1 "2026-01-08T11:25:29Z")

</div>

Looking for anyone who is using TimescaleDB with Postgres. I have it installed (and verified the extension is active in Postgres) but I don’t see any hypertables created so I’m questioning whether it was installed/configured correctly. Also, the DB seems to be growing more rapidly than what it did on FactoryTalk Historian with OSI PI. Since importing all 1750 tags yesterday afternoon at a polling rate of 1 second (with a max age of 5 seconds), the table is already 350MB. For comparison, the OSI PI archive file would be 1GB after 14 days of identical polling, so it seems I’m not getting compression.

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [January 8, 2026, 3:01pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/2 "2026-01-08T15:01:09Z")

</div>

This is a guide I put together for our company on how to set all this up properly. I have default in this set to compressing data after 1 week, but you can change it how you see fit.

> **[Using PostgreSQL and T... | Wiki](https://wiki.icstexas.com/books/ignition/page/using-postgresql-and-timescaledb-with-ignition)**
>
> Installing in Windows
> Follow the guide here to install PostgreSQL and TimescaleDB in Windows.
> Inst...

---

<div class="post-metadata">

**Author:** ![matt6](https://avatars.discourse-cdn.com/v4/letter/m/87869e/32.png) [@matt6](https://forum.inductiveautomation.com/u/matt6)\
**Post date:** [January 9, 2026, 3:29pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/3 "2026-01-09T15:29:24Z")

</div>

Thanks Michael.

When we enabled compression, it created a new table called sqlth\_3\_data leaving the sqlth\_1\_data table there, but now all the historical data is being written to the 3 table and in the sqlth\_te table, each tag is duplicated now with a new ID. This isn’t right, is it?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 9, 2026, 3:51pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/4 "2026-01-09T15:51:23Z")

</div>

Tags are expected to end up with multiple entries in `sqlt_te` as configurations change. Totally normal.

---

<div class="post-metadata">

**Author:** ![matt6](https://avatars.discourse-cdn.com/v4/letter/m/87869e/32.png) [@matt6](https://forum.inductiveautomation.com/u/matt6)\
**Post date:** [January 9, 2026, 4:27pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/5 "2026-01-09T16:27:07Z")

</div>

Usually when that happens, doesn’t the previous version get a timestamp in the “retired” column?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 9, 2026, 4:34pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/6 "2026-01-09T16:34:55Z")

</div>

It should, for the same driver ID. Did that change too? (Usually associated with a historian name change or gateway name change.)

---

<div class="post-metadata">

**Author:** ![Craig\_webber](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/craig_webber/32/62546_2.png) [@Craig\_webber](https://forum.inductiveautomation.com/u/Craig_webber)\
**Post date:** [January 9, 2026, 6:31pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/7 "2026-01-09T18:31:49Z")

</div>

Hi @michael.flagler thanks for sharing this, was just comparing it to our setup and noticed this section:

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/f/4/f48716cf6aed7967d3a65c63669f0372a1d3bd0b.png)  
where is this set? is it in this section:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/8/484c44c649843e01fb875f41de23a2b1349418a3.png)

---

<div class="post-metadata">

**Author:** ![michael.flagler](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/michael.flagler/32/26272_2.png) [@michael.flagler](https://forum.inductiveautomation.com/u/michael.flagler)\
**Post date:** [January 9, 2026, 6:34pm UTC](https://forum.inductiveautomation.com/t/historian-using-timescaledb-w-postgres/113148/8 "2026-01-09T18:34:27Z")

</div>

No, on your database connections there's a setting under the main configuration (not advanced) that is called Extra Connection Properties.
