Re: Live sort-of-'warehousing' database how-to?

Поиск
Список
Период
Сортировка
От Igor Neyman
Тема Re: Live sort-of-'warehousing' database how-to?
Дата
Msg-id F4C27E77F7A33E4CA98C19A9DC6722A205C1872B@EXCHANGE.corp.perceptron.com
обсуждение исходный текст
Ответ на Live sort-of-'warehousing' database how-to?  (Mario Splivalo <mario.splivalo@megafon.hr>)
Ответы Re: Live sort-of-'warehousing' database how-to?  (Mario Splivalo <mario.splivalo@megafon.hr>)
Список pgsql-admin

> -----Original Message-----
> From: Mario Splivalo [mailto:mario.splivalo@megafon.hr]
> Sent: Wednesday, March 31, 2010 10:20 AM
> To: pgsql-admin@postgresql.org
> Subject: Live sort-of-'warehousing' database how-to?
>
> Suppose I have 'stupid' database with just one tables, like this:
>
> CREATE TABLE messages (
>     message_id uuid NOT NULL PRIMARY KEY,
>     message_time_created timestamp with time zone NOT NULL,
>     message_phone_number character varying NOT NULL,
>     message_state type_some_state_enum NOT NULL,
>     message_value numeric(10,4)
> )
>
> Now, let's say that I end up with around 1.000.000 records
> each week. I actually need just last week or two worth of
> data for the whole system to function normaly.
>
> But, sometimes I do need to peek into 'messages' for some old
> message, let's say a year old.
>
> So I would like to keep 'running' messages on the 'main'
> server, and keep there a month worth of data. On the
> 'auxiliary' server I'd like to keep all the data. (Messages
> on the 'auxiliary' server are in the final state, no change
> to that data will ever be made).
>
> Is there a solution to achieve something like that. It is
> fairly easy to implement something like
>
> INSERT INTO auxilary.database.messages
> SELECT * FROM main.database.messagaes
>     WHERE message_id NOT IN (SELECT message_id FROM
> auxilary.database.messages....)
>
> using python/dblink or something like that. But, is there
> already a solution that would do something like that?
>
> Or is there a better way to achieve desired functionality?
>
>     Mike
>

Partition your MESSAGES table by week or month  (read on table
partitioning in PG docs).

Pg_dump "old" purtitions from "current" server, when they are not needed
any more.
Move backups of dumped partitions to your "auxilary" server, and
pg_restore them there.

Igor Neyman

В списке pgsql-admin по дате отправления:

Предыдущее
От: Greg Smith
Дата:
Сообщение: Re: Migrate postgres to newer hardware
Следующее
От: "Naomi Walker"
Дата:
Сообщение: Free Space after vacuuming