> Assuming that you are running Postgres on a linux system, you could do
> the following:
> 
> 1) Create a partition with quotas enabled (via standard linux OS
> procedures).  The postgres user is the user for which quotas should be
> enforced since postgresql always runs under the postgres uid.
> 
> 2) Create a postgres tablespace using the newly created partition: 
> 
> psql> CREATE TABLESPACE dbspace LOCATION '/data/dbs';
> 
> 3) Create the database on that tablespace:
> 
> psql> CREATE DATABASE sales OWNER salesapp TABLESPACE dbspace;
> 
> I have not tried this myself.
> 
> As a side note, I'd say that limiting the size of a database to an
> arbitrary amount is problematic.  Should a user actually exhaust the
> disk quota, Postgres will be unable to commit the transaction.
> Furthermore, it is difficult to recover from such a situation without
> major effort.

These links supplement the above comments:
http://www.postgresql.org/docs/8.1/interactive/disk-full.html
http://www.postgresql.org/docs/8.1/interactive/manage-ag-tablespaces.html

Regards,

Richard Broersma Jr.

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to