Thread: Database fixed size
Hey,
Is there anyway to limit a database size?
For example, I need to create a database for user X and I don't want it to use more than 5 GB.
On Wed, Sep 28, 2016 at 1:39 PM, Adir Shaban <adirshaban1995@gmail.com> wrote: > Hey, > > Is there anyway to limit a database size? Nope. check this https://www.postgresql.org/message-id/619537.42270.qm%40web53708.mail.re2.yahoo.com thread. Regards, Amul
Adir Shaban wrote: > Is there anyway to limit a database size? > For example, I need to create a database for user X and I don't want it to use more than 5 GB. You can create a tablespace on a device with limited size. Then you can create the database on that tablespace. Yours, Laurenz Albe
Albe Laurenz <laurenz.albe@wien.gv.at> writes: > Adir Shaban wrote: >> Is there anyway to limit a database size? >> For example, I need to create a database for user X and I don't want it to use more than 5 GB. > You can create a tablespace on a device with limited size. > Then you can create the database on that tablespace. Note the reference to tablespace. It's unwise to just put the whole cluster on a tiny device (or equivalently, attempt to solve this with OS-level disk quotas applied to the whole installation). The reason is that PG gets very unhappy if it runs out of WAL space. Hitting a limit on table size per se behaves a bit more sanely, though even there you can get into trouble --- for instance, in some situations VACUUM will try to allocate additional disk space, making recovery harder. regards, tom lane
So how did heroku limit the database size per user?
I thought about creating triggers on insert and updates but that will lead to bad performance
On Wed, Sep 28, 2016, 15:31 Tom Lane <tgl@sss.pgh.pa.us> wrote:
Albe Laurenz <laurenz.albe@wien.gv.at> writes:
> Adir Shaban wrote:
>> Is there anyway to limit a database size?
>> For example, I need to create a database for user X and I don't want it to use more than 5 GB.
> You can create a tablespace on a device with limited size.
> Then you can create the database on that tablespace.
Note the reference to tablespace. It's unwise to just put the whole
cluster on a tiny device (or equivalently, attempt to solve this with
OS-level disk quotas applied to the whole installation). The reason is
that PG gets very unhappy if it runs out of WAL space. Hitting a limit
on table size per se behaves a bit more sanely, though even there you
can get into trouble --- for instance, in some situations VACUUM will
try to allocate additional disk space, making recovery harder.
regards, tom lane