每个用户都有自己的架构。
我想限制指定大小的每个架构。在阅读手册时,我发现它似乎没有这样的限制。可能吗?
drop schema jacob_001 cascade;
/*drop schema jacob cascade;*/
create schema jacob_001;
/*create schema jacob;*/
/*使用缺省的schema*/
set search_path to jacob_001;
create table messages(
id integer,
message text,
culture_location varchar(6),
primary key (id,culture_location)
);
create table media_types(
/*code char(2) primary key,*/
id integer primary key,
description text
/*message_code int*/
);
答案 0 :(得分:3)
Per Craig的评论,您无法在数据库级别强制实施配额。
引用:
http://wiki.postgresql.org/wiki/Schema_Size
CREATE OR REPLACE FUNCTION pg_schema_size(text)
returns bigint
AS $$
SELECT sum(pg_relation_size(
quote_ident(schemaname) || '.' || quote_ident(tablename)
))::bigint
FROM pg_tables
WHERE schemaname = $1
$$ LANGUAGE sql;
用法:
select pg_size_pretty(pg_schema_size('public'));