3. relation limit - possibility to set session limit for maximum size of relations. Any relation cannot be extended over this limit in session, when this value is higher than zero. Motivation - we use lot of queries like CREATE TABLE AS SELECT .. , and some very big results decreased a disk free space too much. It was high risk in our multi user environment. Motivation is similar like temp_files_limit.
I'd think the size of the relation you were creating would be difficult to measure. Also, would this apply to REINDEX/VACUUM FULL/ALTER? Or just CREATE TABLE AS/SELECT INTO?
Also I think this would probably only make sense for TEMPORARY tables - otherwise you can get this sort of thing going on:
- you create a table and you have set a relation size limit - you commit and keep working - I add a whole lot of rows to your new table (taking it over the limit) - you go to add some more rows to this table...
you cannot to across session limit and is not important if you do inserts more times or once.
This patch is very simple - it is only one safeguard against too low space on disc in very dynamic multi user enironment