Question About Baserow's PostgreSQL Table Creation

Hello,

I deployed Baserow and noticed that each time I create a new form or table, a new database_table_* table is generated in PostgreSQL.

As usage grows, won’t this lead to an excessive number of tables in the database? Could this design cause performance issues?

This is how baserow is organized (when you create new new table under the hood we make postgres database table to keep your data separate from other tables.

As official docs says don’t specify number for tables it points total amount of relations as 1,431,650,303 which is pretty big number.

As each table in postgres is separate file - under linux you can check how many tables theoretically you can get with i.e. cat /proc/sys/fs/file-max

From practical perspective I wouldn’t expect performance issues from tables count unless you have a a really big number of tables like 50k+

On baserow.io, we have hundreds of thousands of tables in one single PostgreSQL database because it’s a multi tenant system. It doesn’t cause any performance issues.