partitioning

11 views
Skip to first unread message

Martin Janota

unread,
Apr 12, 2022, 4:04:02 AM4/12/22
to PostgreSQL-cz
Ahoj,

lze v postgresu nejakym způsobem  vytvořit tabulku s partitioningem podle sloupce, který není obsažen v této tabulce.

Mám tabulku hodnot měření:

hodnota:
   id integer pk
   mereni_id  int fk mereni (id)
   hodnota float

Tabulku mereni:
mereni
id integer pk
misto_id int fk misto (id)
... 

Tabulku mist
misto
id intgerer pk
...

A chtěl bych vytvořit parttitioning tabulky hodnota tak, aby v každé partition tabulce byla data pouze z jednoho mista.
Jde to bez toho, ze bych tahal misto_id do této tabulky?

Díky
Martin

Pavel Stehule

unread,
Apr 12, 2022, 4:12:26 AM4/12/22
to PostgreSQL-cz
Ahoj

út 12. 4. 2022 v 10:04 odesílatel Martin Janota <janota...@gmail.com> napsal:
Dost pochybuju, že by to šlo. Řádek partišny musí být datově kompatibilní s řádkem rodičovské tabulky. Jinak by se musely transformovat řádky při čtení, a to je dost náročné na CPU.

Pavel
 

Díky
Martin

--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny „PostgreSQL-cz“ ve Skupinách Google.
Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Chcete-li tuto diskusi zobrazit na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAD4%3DHgB03nsNzR6JQiszskruywRUnMeZWf%2BJSWcupMypyrk1rA%40mail.gmail.com.

Martin Janota

unread,
Apr 12, 2022, 4:17:27 AM4/12/22
to PostgreSQL-cz
Coz o to, rodicovska tabulka a partisna by datove kompatibilni byly, ale ani v jedne z nich by nebylo to misto_id.

Muselo by jit partisnovat na zaklade vysledku nejake query.

Martin

út 12. 4. 2022 v 10:12 odesílatel Pavel Stehule <pavel....@gmail.com> napsal:

Pavel Stehule

unread,
Apr 12, 2022, 4:20:53 AM4/12/22
to PostgreSQL-cz


út 12. 4. 2022 v 10:17 odesílatel Martin Janota <janota...@gmail.com> napsal:
Coz o to, rodicovska tabulka a partisna by datove kompatibilni byly, ale ani v jedne z nich by nebylo to misto_id.

Muselo by jit partisnovat na zaklade vysledku nejake query.

to určitě nejde. Jak pak zajistíte stabilitu?

Podobně jako v indexu můžete použít jen immutable výraz nebo v defaultu tabulek nemůžete sáhnout mimo řádek.

 

Michal Páleník

unread,
Apr 12, 2022, 4:27:09 AM4/12/22
to postgr...@googlegroups.com
On Tue, Apr 12, 2022 at 10:11:48AM +0200, Pavel Stehule wrote:
> Ahoj
>
> út 12. 4. 2022 v 10:04 odesílatel Martin Janota <janota...@gmail.com>
> napsal:
>
> > Ahoj,
> >
> > lze v postgresu nejakym způsobem vytvořit tabulku s partitioningem podle
> > sloupce, který není obsažen v této tabulce.
> >
> > Mám tabulku hodnot měření:
> >
> > *hodnota:*
> > id integer pk
> > mereni_id int fk mereni (id)
> > hodnota float
> >
> > Tabulku mereni:
> > *mereni*
> > id integer pk
> > misto_id int fk misto (id)
> > ...
> >
> > *Tabulku mist*
> > misto
> > id intgerer pk
> > ...
> >
> > A chtěl bych vytvořit parttitioning tabulky hodnota tak, aby v
> > každé partition tabulce byla data pouze z jednoho mista.
> > Jde to bez toho, ze bych tahal misto_id do této tabulky?
> >
>
> Dost pochybuju, že by to šlo. Řádek partišny musí být datově kompatibilní s
> řádkem rodičovské tabulky. Jinak by se musely transformovat řádky při
> čtení, a to je dost náročné na CPU.

ale ide urobiť view kde bude (virtuálny) stĺpec misto_id

>
> Pavel
>
>
> >
> > Díky
> > Martin
> >
> > --
> > Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny
> > „PostgreSQL-cz“ ve Skupinách Google.
> > Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny,
> > zašlete e-mail na adresu postgresql-c...@googlegroups.com.
> > Chcete-li tuto diskusi zobrazit na webu, navštivte
> > https://groups.google.com/d/msgid/postgresql-cz/CAD4%3DHgB03nsNzR6JQiszskruywRUnMeZWf%2BJSWcupMypyrk1rA%40mail.gmail.com
> > <https://groups.google.com/d/msgid/postgresql-cz/CAD4%3DHgB03nsNzR6JQiszskruywRUnMeZWf%2BJSWcupMypyrk1rA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> > .
> >
>
> --
> Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
> Chcete-li zrušit odběr skupiny a přestat dostávat e‑maily ze skupiny, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
> Chcete-li zobrazit tuto diskusi na webu, navštivte https://groups.google.com/d/msgid/postgresql-cz/CAFj8pRBjGL4hxDwrHBW4s2SJd9kP6xHR4TBiv_QLDFM1af3S_Q%40mail.gmail.com.

--
Michal Páleník
www.oma.sk
Reply all
Reply to author
Forward
0 new messages