Search Postgresql Archives

about partitioning

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



dear all,
i created a master table and a sub table which inherits the main table.
and then i made a trigger and a function that want to keep the master table 
empty.
but the trigger didn't work anyway.when i inserted data into the table 
"news",both the master table
and the sub table were inserted.
why? i just want the empty master table,any good ideas?
lots of thanks for all.

here r DDls:
-------------------------------------------------------------------------
--master table£»
CREATE TABLE "public"."news" (
"id" SERIAL,
"title" VARCHAR(100) NOT NULL,
"content" VARCHAR NOT NULL,
"author" VARCHAR(50) NOT NULL,
"date"   DATE DEFAULT now(),
CONSTRAINT "news_pkey" PRIMARY KEY("id")
)WITHOUT OIDS;

--rule£»
CREATE RULE "news_current_partition" AS ON INSERT TO "public"."news"
DO INSTEAD (INSERT INTO news_001 (title, content, author) VALUES (new.title, 
new.content, new.author));

--trigger£»
CREATE TRIGGER "news_triggers" BEFORE INSERT
ON "public"."news" FOR EACH ROW
EXECUTE PROCEDURE "public"."deny_insert"();

--function£»
CREATE OR REPLACE FUNCTION "public"."deny_insert" () RETURNS trigger AS
$body$
BEGIN
RETURN NULL;
END;
$body$
LANGUAGE 'plpgsql' IMMUTABLE CALLED ON NULL INPUT SECURITY INVOKER;

--sub table£»
CREATE TABLE "public"."news_001" (
CONSTRAINT "news_001_date_check" CHECK ((date >= '2006-03-29'::date) AND 
(date < '2006-04-28'::date))
) INHERITS ("public"."news")
WITHOUT OIDS;

CREATE INDEX "news_001_index" ON "public"."news_001"
USING btree ("id");
------------------------------------------------------------------------------------------ 




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux