Degenerate a single SQL table into multiple domaines tables <p><strong>In short:</strong> I have a client who wish to be able to add domain tables, without adding SQL tables.</p> <p>I am working with an application in wich data are organized and made available with a postgresql <em>catalogue</em>. What I mean by <em>catalogue</em> is that the database hold the path to the actual data file(s) as well as some metadata.</p> <p>Adding a new table means that the (Java class of the) client application has to be updated. This is a costly process for the client, who want us to find a way to let him add new kind of data in the catalogue, without having to change the schema.</p> <p>I don't have many more specificities about the db itself and it's configuration as I'm usualy mostly a client of the said db.</p> <p><strong>My idea:</strong> to solve this was to have a generic table with the most often used columns (like date, comment etc.) and a column containing a <em>domain key</em>. The <em>domain key</em> would be used by the client application to request the kind of generic data is needed (and would have no meaning whatsoever to the db provider). Adding metadata could be done with a companion file within the catalogue and further filtering would have to be done on the client side.</p> <p><strong>Question:</strong> as I am by no mean an SQL expert, I would like to know if it is an acceptable solution, and what limitation I could be facing ? I'm thinking of performance, data volume etc. Or maybe a different approach, is advisable ?</p> <p>Regarding expected volume, for a single domain data type, it could be arround 30 new entry per day.</p>