Темпоральные данные в PostgreSQL

Lists: pgsql-ru-general
From: Pavel Drankov <titantins(at)gmail(dot)com>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Темпоральные данные в PostgreSQL
Date: 2017-09-23 10:50:23
Message-ID: CAO5GBXdzYbK9WbJOGnJ5cFZoDfxjrXzTfw4qS6=v6B1xu7gFQA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Привет всем,

Я хотел бы узнать, какие возможности имеются в PostgreSQL для работы с
темпоральными данными. Хотелось бы получить некий обзор или место в
документации, где про это можно прочесть.

Best wishes,
Pavel


From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: Pavel Drankov <titantins(at)gmail(dot)com>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-23 17:51:23
Message-ID: CANNMO++jj2iz65rz=JvrG-05X+3Et5KSF+zGmrY6U0D_qAPWJA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

В ядрес спецсредств для темпоральных данных как таковых нет, но есть много
всяких работ/проектов "вокруг"

https://wiki.postgresql.org/images/6/64/Fosdem20150130PostgresqlTemporal.pdf

https://pgxn.org/dist/temporal_tables/

http://clarkdave.net/2015/02/historical-records-with-postgresql-and-temporal-tables-and-sql-2011/

https://github.com/jeff-davis/PostgreSQL-Temporal

https://blog.dbi-services.com/temporal-tables-with-postgresql/

https://gist.github.com/vjt/2563820

https://www.pgcon.org/2009/schedule/events/151.en.html

https://av.tib.eu/media/19033

https://hdombrovskaya.files.wordpress.com/2016/09/bi_temporal_pg_open_2016.pdf
https://codeandtalk.com/v/postgresopen-2016/postgres-open-2016-slaughter-dombrovskaya
https://medium.com/postgres-professional/%D0%B3%D0%B5%D0%BD%D1%80%D0%B8%D1%8D%D1%82%D1%82%D0%B0-%D0%B4%D0%BE%D0%BC%D0%B1%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F-%D0%B8%D0%B7-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8-enova-%D0%B2%D1%8B%D1%81%D1%82%D1%83%D0%BF%D0%B8%D0%BB%D0%B0-%D0%BD%D0%B0-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%BC-%D1%81%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80%D0%B5-%D0%B2-postgres-professional-%D1%81-%D0%B4-b68f007576f7

2017-09-23 3:50 GMT-07:00 Pavel Drankov <titantins(at)gmail(dot)com>:

> Привет всем,
>
> Я хотел бы узнать, какие возможности имеются в PostgreSQL для работы с
> темпоральными данными. Хотелось бы получить некий обзор или место в
> документации, где про это можно прочесть.
>
> Best wishes,
> Pavel
>


From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: Pavel Drankov <titantins(at)gmail(dot)com>
Cc: pgsql-ru-general <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-23 17:54:34
Message-ID: CANNMO+KmDO8tCdgxKKt3xLoCHLMS2N7iixtsnnu-DRXcrHonLA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Забыл, есть ещё вот такая штука https://github.com/timescale/timescaledb,
https://blog.timescale.com/when-boring-is-awesome-building-a-scalable-time-series-database-on-postgresql-2900ea453ee2
-- сейчас активно развивается

2017-09-23 10:51 GMT-07:00 Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>:

> В ядрес спецсредств для темпоральных данных как таковых нет, но есть много
> всяких работ/проектов "вокруг"
>
> https://wiki.postgresql.org/images/6/64/Fosdem20150130PostgresqlTempor
> al.pdf
>
> https://pgxn.org/dist/temporal_tables/
>
> http://clarkdave.net/2015/02/historical-records-with-
> postgresql-and-temporal-tables-and-sql-2011/
>
> https://github.com/jeff-davis/PostgreSQL-Temporal
>
> https://blog.dbi-services.com/temporal-tables-with-postgresql/
>
> https://gist.github.com/vjt/2563820
>
> https://www.pgcon.org/2009/schedule/events/151.en.html
>
> https://av.tib.eu/media/19033
>
> https://hdombrovskaya.files.wordpress.com/2016/09/bi_
> temporal_pg_open_2016.pdf
> https://codeandtalk.com/v/postgresopen-2016/postgres-open-2016-slaughter-
> dombrovskaya
> https://medium.com/postgres-professional/%D0%B3%D0%B5%D0%
> BD%D1%80%D0%B8%D1%8D%D1%82%D1%82%D0%B0-%D0%B4%D0%BE%D0%BC%
> D0%B1%D1%80%D0%BE%D0%B2%D1%81%D0%BA%D0%B0%D1%8F-%D0%B8%D0%
> B7-%D0%BA%D0%BE%D0%BC%D0%BF%D0%B0%D0%BD%D0%B8%D0%B8-enova-
> %D0%B2%D1%8B%D1%81%D1%82%D1%83%D0%BF%D0%B8%D0%BB%D0%B0-%
> D0%BD%D0%B0-%D0%BE%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%
> BC-%D1%81%D0%B5%D0%BC%D0%B8%D0%BD%D0%B0%D1%80%D0%B5-%D0%
> B2-postgres-professional-%D1%81-%D0%B4-b68f007576f7
>
> 2017-09-23 3:50 GMT-07:00 Pavel Drankov <titantins(at)gmail(dot)com>:
>
>> Привет всем,
>>
>> Я хотел бы узнать, какие возможности имеются в PostgreSQL для работы с
>> темпоральными данными. Хотелось бы получить некий обзор или место в
>> документации, где про это можно прочесть.
>>
>> Best wishes,
>> Pavel
>>
>
>


From: Михаил <m(dot)nasedkin(at)gmail(dot)com>
To: Pavel Drankov <titantins(at)gmail(dot)com>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 06:48:20
Message-ID: CALSKcLTPfWMw7TY9HPS73TX+ZKeTSxTWXH+EHthqy3X4J7wW0g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Добавлю, но полностью не уверен.

К категории работы с временными данными отношу, также, Materialized
views in PostgreSQL
/docs/current/static/rules-materializedviews.html
.

Были случаи, когда нужно на время фиксировать некие наборы данных и
возникали мысли скидывать их во временные таблицы, но потом узнал про
материализованные представления и многое упростилось. Сохраняю такие
представления во временную схему, но как угодно. Слава ПГ!

23.09.2017, Pavel Drankov<titantins(at)gmail(dot)com> написал(а):
> Привет всем,
>
> Я хотел бы узнать, какие возможности имеются в PostgreSQL для работы с
> темпоральными данными. Хотелось бы получить некий обзор или место в
> документации, где про это можно прочесть.
>
> Best wishes,
> Pavel
>

--
---
С уважением,
Михаил Наседкин


From: Pavel Drankov <titantins(at)gmail(dot)com>
To: Михаил <m(dot)nasedkin(at)gmail(dot)com>
Cc: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 07:30:51
Message-ID: CAO5GBXcXY0s5sz4h_BGD79b1Zn5mwJzqagSKX=gE7Rovq4kRBw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Большое спасибо за информацию!

Best wishes,
Pavel

2017-09-27 9:48 GMT+03:00 Михаил <m(dot)nasedkin(at)gmail(dot)com>:

> Добавлю, но полностью не уверен.
>
> К категории работы с временными данными отношу, также, Materialized
> views in PostgreSQL
> /docs/current/static/rules-
> materializedviews.html
> .
>
> Были случаи, когда нужно на время фиксировать некие наборы данных и
> возникали мысли скидывать их во временные таблицы, но потом узнал про
> материализованные представления и многое упростилось. Сохраняю такие
> представления во временную схему, но как угодно. Слава ПГ!
>
> 23.09.2017, Pavel Drankov<titantins(at)gmail(dot)com> написал(а):
> > Привет всем,
> >
> > Я хотел бы узнать, какие возможности имеются в PostgreSQL для работы с
> > темпоральными данными. Хотелось бы получить некий обзор или место в
> > документации, где про это можно прочесть.
> >
> > Best wishes,
> > Pavel
> >
>
>
> --
> ---
> С уважением,
> Михаил Наседкин
>


From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 08:02:28
Message-ID: 20170927080228.agfw34vl6gcjxbzg@vdsl.uvw.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

> К категории работы с временными данными отношу, также, Materialized
> views in PostgreSQL
> /docs/current/static/rules-materializedviews.html
> .

> Были случаи, когда нужно на время фиксировать некие наборы данных и
> возникали мысли скидывать их во временные таблицы, но потом узнал про
> материализованные представления и многое упростилось. Сохраняю такие
> представления во временную схему, но как угодно. Слава ПГ!

я с этим механизмом не работал еще, но очень интересно.

скажите: вот например имеется таблица 1-10 млн записей и таблица
скажем 2000 записей.

создаем материализованное представление, со скажем GROUP BY или там
просто что-то по 10 млн и по 2000.

Вопрос: процесс создания будет блокировать БД или нет?
для CREATE INDEX придумали CONCURRENTLY без которого на реальном
продакшене вообще никуда уже не сунуться,
а вот с материализованными представлениями как дела обстоят в этом
смысле?

вижу что есть REFRESH MATERIALIZED VIEW CONCURRENTLY, но не вижу
CREATE: оно будет блокать БД, правильно понимаю?
--

. ''`. Dmitry E. Oboukhov <unera(at)debian(dot)org>
: :’ :
`. `~’ GPG key: 4096R/08EEA756 2014-08-30
`- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756


From: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 11:04:15
Message-ID: 23e9d6b1-4030-a466-dfee-df969f64e47e@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: Postg사설 토토 사이트SQL

On 27.09.2017 11:02, Dmitry E. Oboukhov wrote:
> вижу что есть REFRESH MATERIALIZED VIEW CONCURRENTLY, но не вижу
> CREATE: оно будет блокать БД, правильно понимаю?
Без CONCURRENTLY будет блокировать запросы к мат. представлению, которых
не должно быть до CREATE.

В любом случае, можно:
CREATE MATERIALIZED VIEW ... WITH NO DATA;
REFRESH MATERIALIZED VIEW CONCURRENTLY;

-----
Pavel Luzanov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 11:06:40
Message-ID: 20170927110640.ydvwgbpy2clkn6fj@vdsl.uvw.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

>> вижу что есть REFRESH MATERIALIZED VIEW CONCURRENTLY, но не вижу
>> CREATE: оно будет блокать БД, правильно понимаю?
> Без CONCURRENTLY будет блокировать запросы к мат. представлению, которых не
> должно быть до CREATE.

> В любом случае, можно:
> CREATE MATERIALIZED VIEW ... WITH NO DATA;
> REFRESH MATERIALIZED VIEW CONCURRENTLY;

ага, понял. надо будет попробовать поиграть с этим механизмом :)
--

. ''`. Dmitry E. Oboukhov <unera(at)debian(dot)org>
: :’ :
`. `~’ GPG key: 4096R/08EEA756 2014-08-30
`- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756


From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
Cc: "pgsql-ru-general(at)postgresql(dot)org" <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 13:40:22
Message-ID: CANNMO+LWSiidvQcdb5sshqs=qvO4eN8B3oUoOVNBP7vNBp0obw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

On Wednesday, September 27, 2017, Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
wrote:

> On 27.09.2017 11:02, Dmitry E. Oboukhov wrote:
>
>> вижу что есть REFRESH MATERIALIZED VIEW CONCURRENTLY, но не вижу
>> CREATE: оно будет блокать БД, правильно понимаю?
>>
> Без CONCURRENTLY будет блокировать запросы к мат. представлению, которых
> не должно быть до CREATE.
>
> В любом случае, можно:
> CREATE MATERIALIZED VIEW ... WITH NO DATA;
> REFRESH MATERIALIZED VIEW CONCURRENTLY;
>

Паша, так, конечно, не заработает. Кое-чего не хватает ;)


From: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
To: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
Cc: "pgsql-ru-general(at)postgresql(dot)org" <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 14:15:58
Message-ID: be3b20e7-6bd2-bd5d-c2ef-c077034a1d98@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general


On 27.09.2017 16:40, Nikolay Samokhvalov wrote:
>
>
> В любом случае, можно:
> CREATE MATERIALIZED VIEW ... WITH NO DATA;
> REFRESH MATERIALIZED VIEW CONCURRENTLY;
>
>
> Паша, так, конечно, не заработает. Кое-чего не хватает ;)
Был неправ, вспылил))
Действительно не сработает:
postgres=# create materialized view m as select * from t with no data;
SELECT 0
postgres=# refresh materialized view CONCURRENTLY m;
ERROR:  CONCURRENTLY cannot be used when the materialized view is not
populated

-----
Pavel Luzanov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


From: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
To: Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>
Cc: "pgsql-ru-general(at)postgresql(dot)org" <pgsql-ru-general(at)postgresql(dot)org>
Subject: Re: [pgsql-ru-general] Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-27 14:32:24
Message-ID: CANNMO+Lc7K7ZwijPxQFSC9nySEAZO52x_5t_NygZS2NKNLX5eA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

2017-09-27 7:15 GMT-07:00 Pavel Luzanov <p(dot)luzanov(at)postgrespro(dot)ru>:

>
> On 27.09.2017 16:40, Nikolay Samokhvalov wrote:
>
>
>> В любом случае, можно:
>> CREATE MATERIALIZED VIEW ... WITH NO DATA;
>> REFRESH MATERIALIZED VIEW CONCURRENTLY;
>>
>
> Паша, так, конечно, не заработает. Кое-чего не хватает ;)
>
> Был неправ, вспылил))
> Действительно не сработает:
> postgres=# create materialized view m as select * from t with no data;
> SELECT 0
> postgres=# refresh materialized view CONCURRENTLY m;
> ERROR: CONCURRENTLY cannot be used when the materialized view is not
> populated
>

вот-вот + ещё индекс уникальный нужен будет


From: "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Re: SPAM (6.4) [pgsql-ru-general] Re: [pgsql-ru-general] Re: [pgsql-ru-general] Темпоральные данные в PostgreSQL
Date: 2017-09-28 08:54:35
Message-ID: 20170928085435.u5no5bmsw3seyn2l@vdsl.uvw.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general


> вот-вот + ещё индекс уникальный нужен будет

> -i used with no filenames on the command line, reading from STDIN.

так я не понял: можно неблокирующе VIEW построить по таблице о N млн
записей?
--

. ''`. Dmitry E. Oboukhov <unera(at)debian(dot)org>
: :’ :
`. `~’ GPG key: 4096R/08EEA756 2014-08-30
`- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756