this question atıfta, ben örneğin, yılın verileri ile tablolar oluşturma, her yıl tabloları çoğaltmak için bir şey gibi karar verdim:
orders_2008
orders_2009
orders_2010
etc...
Eh, muhtemelen hız sorunu orders_history ve order_actual gibi her element için sadece 2 tablolar ile çözülebilir olduğunu biliyorum, ama ben işleyici kod yazdılar, bir kez .. sadece birçok tablolar hiçbir fark olacağını düşündüm.
Those tables will have even some child with foreign key; for example the orders_2008 will have the child items_2008:
CREATE TABLE orders_2008 (
id serial NOT NULL,
code character(5),
customer text
);
ALTER TABLE ONLY orders_2008
ADD CONSTRAINT orders_2008_pkey PRIMARY KEY (id);
CREATE TABLE items_2008 (
id serial NOT NULL,
order_id integer,
item_name text,
price money
);
ALTER TABLE ONLY items_2008
ADD CONSTRAINT items_2008_pkey PRIMARY KEY (id);
ALTER TABLE ONLY items_2008
ADD CONSTRAINT "$1" FOREIGN KEY (order_id) REFERENCES orders_2008(id) ON DELETE CASCADE;
Yani, benim sorun: Bir tablo bağımlılıkları tutarak, elbette, ne bu tabloları çoğaltmak için en iyi yolu her 1 Ocak olduğunu düşünüyorum musunuz?
A PHP/Python script that, query after query, rebuild the structure for the new year (called by a cron job)? Can the PostgreSQL's functions be used in that way? If yes, how (an little example will be nice)
Aslında ben ilk yolu (yapısını içeren bir. Sql dosyası ve yapısını yeniden inşa cronjob tarafından yüklenen bir php / python komut dosyası) için gidiyorum, ama bu en iyi yol olup olmadığını merak ediyorum.
edit: Ben pgsql işlevi GİBİ tablo oluşturmak gördüm, ama Foreigns tuşlarına ikinci kez ilave edilmelidir .. yoksa o eski bir tot referencied yeni tablolar devam edecektir.