Hello dspam-users,
has anyone tried to partition token and signature tables?
Looks like this can be done without changing pgsql driver:
CREATE TABLE dspam_signature_data (
uid smallint,
signature varchar(128),
data bytea,
length int,
created_on date
) WITHOUT OIDS;
Create "private" siganature table for every user:
# uid = 2
CREATE TABLE dspam_signature_data_uid2 (
UNIQUE (uid, signature),
CHECK (uid = 2::smallint)
) INHERITS dspam_signature_data WITHOUT OIDS;
CREATE RULE uid2_signatures AS
ON INSERT TO dspam_signature_data
WHERE uid = 2::smallint
DO INSTEAD
INSERT INTO dspam_signature_data_uid2 VALUES (NEW.*);
When doing queries:
SET constraint_exclusion = on;