Got a question?

Dear coworkers, friends and colleagues! I’ve started this blog because you asked me to share my experience, and because I love sharing it! I firmly believe, that the more people know, what I am doing, the more people fall in love with my ideas, the easier my work will be! I won’t spend time arguing with people, and will just do my work:)

This being said –  if you want to ask me a question, if there is any particular topic you want me to write about – please leave a comment on this page.

Thank you for your interest and support!

Advertisements

5 responses to “Got a question?

  1. Hi!
    I was wondering around on Postgres Open website and I found your talk called “Bitemporal Data Madel”.

    Is it a typo “madel”? It should be “mOdel”, right?

  2. Henrietta Dombrovskaya

    Definitely:), I will email Steven Frost 🙂

  3. Hello, Henrietta!

    I am Max Sobolevskiy, product marketing manager for JetBrains DataGrip. DataGrip is an IDE for databases, and we support PostgreSQL as well. Now we have more than 20.000 PostgreSQL users and we hope that we can be a good replacement for pgAdmin.

    I am looking for those who run PostgreSQL community in their places. And I finally found you. This September we’re thinking of going on a tour to the Eastern States (Illinois as well) with a free DataGrip workshop, something like a tips’n’tricks session. This learning opportunity would be useful to DataGrip users, as well as those who use SQL in other JetBrains IDEs such as IntelliJ IDEA, PyCharm, PhpStorm, or RubyMine.

    Perhaps your community will be interested in it, and if yes, can you tell me if you now somebody who can organize this kind of event?

    Regards. Max.
    maxim.sobolevskiy@jetbrains.com

  4. Henrietta Dombrovskaya

    Sure, I am the right person to contact:) I will email you and we can discuss details.

  5. Mike

    Hi,
    I’m Michele from Italy, I’m working to a production-project that needs to manage data over time. After a long search I found your pg_bitemporal solution. I read all the documentation and saw the conferences, it is a very interesting project and I think it is what I needs.
    currently there are no other serious plug-and-play solutions for postgresSql Temporal Table.
    My questions are:
    – Is pg_bitemporal stable and ready to be used in a real production environment?

    – I installed it and did some tests, but I didn’t understand if there is a way to update data in a range-interval included in an existing one.
    Example:
    I insert a first value
    select * from bitemporal_internal.ll_bitemporal_insert(
    ‘public.mytable’,
    ‘id_mytable, name’,
    $$
    1,
    ‘description_1’
    $$,
    ‘[2019-09-01, infinity)’::tstzrange,
    ‘[now, infinity)’::tstzrange
    );

    ID| name | effective
    1 | description_1 | 2019-09-01, infinity | …

    I made an update
    select * from bitemporal_internal.ll_bitemporal_update(
    ‘public’,
    ‘mytable’,
    ‘name’,
    $$
    ‘descriprtion_2’
    $$,
    ‘id_mytable’,
    $$
    1
    $$,
    ‘[2019-09-13, infinity)’,
    ‘[now, infinity)’
    );

    ID| name | effective
    1 | description_1 | 2019-09-01, 2019-09-13 | …
    1 | description_2 | 2019-09-13, infinity | …

    Now I want to update “Name” to a new description_3 value for the range [2019-09-5, 2019-09-10) or even worst for the range [2019-09-05, 2019-09-16).
    I expect this final result on the db:
    ID| name | effective
    1 | description_1 | [2019-09-01, 2019-09-05) | …
    1 | description_3 | [2019-09-05, 2019-09-10) | …
    1 | description_1 | [2019-09-10, 2019-09-13) | …
    1 | description_2 | [2019-09-13, infinity) | …

    or for second range
    ID| name | effective
    1 | description_1 | [2019-09-01, 2019-09-05) | …
    1 | description_3 | [2019-09-05, 2019-09-16) | …
    1 | description_2 | [2019-09-16, infinity) | …

    if I try whit:
    select * from bitemporal_internal.ll_bitemporal_update(
    ‘public’,
    ‘mytable’,
    ‘name’,
    $$
    ‘descriprtion_3’
    $$,
    ‘id_mytable’,
    $$
    1
    $$,
    ‘[2019-09-05, 2019-09-16)’,
    ‘[now, infinity)’
    );

    but I receive a key-conflict.
    I think it is important for the user to be able to modify values over time as he wishes.
    Maybe I expected too much or I can’t understand the exact procedure to do it. How can I do it?

    A little suggestion, there is some confusion between the functions, some want as input two value “schema” and “table” some want one value “schema.table”, I think it is more intuitive and uniform if all postgre-10 functions had the first version: function_name(schema, table,..other params).

    Thanks if you answer me.
    Regards
    Michele

    PS: There’s a way to watch your next conference live?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s