
Павел П.
16.03.2017
09:56:09
это трим

Dmitriy
16.03.2017
10:47:26

Andrey
16.03.2017
10:52:11
Блин, ну вот офигенно в минорном релизе переименовать службу и поменять $PGDATA

Google

Ivan
16.03.2017
10:59:51

Олег
16.03.2017
11:00:25
там ещё и не одна команда работает
вообще сначала всё на тестовом обкатывается и потом переносится (руками, вероятно)

Ivan
16.03.2017
11:01:30
гемор(
хочу http://blog.gitora.com/tag/documentation/ попробовать
может кто юзал, отзыв хотелось бы услышать

James
16.03.2017
11:36:46
подскажите почему когда я делаю в пг delete from вывод показывает что удалено столько то а место на жд не освобождаетя. автовакуум включен

Айтуар
16.03.2017
11:37:35

Артур
16.03.2017
11:37:41

James
16.03.2017
11:38:08
тоесть после удаления обязательно выполнять?

Артур
16.03.2017
11:38:13
Мы сейчас миграции бекэнда юзаем. Все это в гит + codereview
Но это имхо для бд костыль изза отсутствия альтернатив

Google

Артур
16.03.2017
11:39:16
Было бы идеально continuous integration юзать для бд

Айтуар
16.03.2017
11:43:55

James
16.03.2017
11:56:27
почему то место наоборот увеличивается

Айтуар
16.03.2017
12:01:29
почему то место наоборот увеличивается
фулл вакуум сначало копирует все живые строки в новые блоки на диске, поэтому оно увеличивается. Потом уже удалит старые блоки. Поэтому место на диске нужно не меньше чем сейчас таблица весит.

Ivan
16.03.2017
12:20:13

Артур
16.03.2017
12:33:48
Ну как бе идеально, если контроль схемы был наглядно. Конфирмы по коммитам изменений схемы
Плюс есть еще установки расширений, которые в процессе требуют рута это вообще никак через миграции не рвботает
Тем более зависимости от расширений также не контролируются
Ну если о боли говорить

Darafei
16.03.2017
13:44:22
привет! :)

Ivan
16.03.2017
16:14:00
девопсы не добрались до DBA еще походу
каждый свою моднячую NoSQL базу пилит

Pavel
16.03.2017
16:47:20
Бодрый вечер! Кто-нибудь работал с кэшом Redis над RDBMS? Интересно опытное мнение, минусы, проблемы.

Fike
16.03.2017
16:49:58
это k/v хранилище, прямо вот над rdbms он кэшем быть не может, только над подмножеством запросов
по старой доброй традиции порекумендую отказаться именно от этого представителя
минусы и проблемы - cache invalidation, что же еще

blkmrkt
16.03.2017
16:51:36

Vova
16.03.2017
16:56:18
коточат)))

Darafei
16.03.2017
16:56:33
Мурмур

Vova
16.03.2017
16:57:16
выше еще манул и рыжик есть))

Google

Айтуар
16.03.2017
17:10:14
А кто не любит котов ? ? Все любят.

blkmrkt
16.03.2017
17:10:51
Это смотря как приготовишь

Pavel
16.03.2017
17:23:00

Fike
16.03.2017
17:55:08
А как вы ею планируете пользоваться?

Anton
16.03.2017
17:56:13
Альтернатива слонов чему?
В каких задачах?

Egor
16.03.2017
18:10:10
что-то туплю
как это сагригировать, заменив null’ы на имеющиеся данные?

Nikita
16.03.2017
18:44:59
Ggo

Eugene
16.03.2017
19:08:48

Egor
16.03.2017
19:09:23
да, не вьюха

Eugene
16.03.2017
19:10:27
Мб стоит запрос изменить, а не результат его. Как выглядит запрос?

Egor
16.03.2017
19:38:00
да это не запрос
тут какое дело…
пользователь вводит адреса в форме документа, и они (адреса) попадают в базу
обязательные поля это build и room, поля floor и entrance не обязательные
при каждой отправке формы содается строка в таблице (дубликаты тоже), затем финальный триггер агрегирует адреса
мне нужно сагрегировать адреса таким образом, что если пользователь когда-то ввел необязательные этаж/подъезд, то они при агрегации заменяли пустые значения в ранее введенных адресах
как-то так

Anatoliy
16.03.2017
19:41:29
Можно выбрать distinct и отсортировать по null first (если может встретится в т.ч. строка в которой нет значений (но есть нулы)). Можно выбрать по is not null. можно оконными lead/lag поискать.

Egor
16.03.2017
19:41:47
пиздец как обидно ((((( раньше целые приложения вокруг разряженных данных в оракле писал
забыл все (

Admin
ERROR: S client not available

Egor
16.03.2017
19:42:19

Anatoliy
16.03.2017
19:44:02
Первый вариант вас скорее всего устроит

Google


Anatoliy
16.03.2017
19:48:50
Еще, если не ошибаюсь, можно сгруппировать так: select build, room, arr_agg(distinct floor), arr_agg(distinct entrance) from table group by build, room. Но нулы в массивах (или любой другой агрегации) тоже будут. И 3, 4 поля фильтровать в приложении (подбрасывать в качестве выбора, например).
пиздец как обидно ((((( раньше целые приложения вокруг разряженных данных в оракле писал
забыл все (
WITH you_table AS (
SELECT
unnest(ARRAY[1, 2, 1, 4]) AS build,
unnest(ARRAY[1, 2, 1, 4]) AS room,
unnest(ARRAY[NULL, 2, 3, NULL]::int[]) AS floor,
unnest(ARRAY[NULL, NULL, 4, NULL]::int[]) AS entrance
)
SELECT
build,
room,
json_agg(DISTINCT floor) FILTER (WHERE floor IS NOT NULL) AS floor,
json_agg(DISTINCT entrance) FILTER (WHERE entrance IS NOT NULL) AS entrance
FROM you_table
GROUP BY
build,
room;
build | room | floor | entrance
-------+------+-------+----------
1 | 1 | [3] | [4]
2 | 2 | [2] |
4 | 4 | |
(3 rows)
Подзапрос, это
build | room | floor | entrance
-------+------+-------+----------
1 | 1 | |
2 | 2 | 2 |
1 | 1 | 3 | 4
4 | 4 | |
(4 rows)
Я исходил из того, что в таблице может быть несколько разных этажей/парадных
Люди могут и ошибиться (а в таблице с нуллами редко кто делает корректные check констрейнты) – этим должно рулить приложение и этаж и парадную "подкидывать" в поле.


Egor
16.03.2017
20:25:01
интересно…
спасибо большое!

Alex
16.03.2017
21:47:05
как бы скажу крамолу, но может просто по крону бегать и заполнять этажи и подъезды или чо там. Не стоит усложнять сущности без необходимости...
тут нет "разряженных данных" есть квартира и дом. остальное додумает яндекс карты...

Egor
16.03.2017
22:11:25

Alexander
17.03.2017
03:23:42
Подскажите, чем принято инициировать регулярные операции списания средств/баллов и прочих ресурсов? В голову приходят только cron/pg_cron.

Dmitry
17.03.2017
07:09:21
pgagent

Darafei
17.03.2017
07:11:11
если да, то лучше крон и приложение
е-мейлы из транзакций не очень хорошо отправлять. :)

Vadim
17.03.2017
07:14:14
Дорофей приходи лучше во второй зал, тут Олег про новомодный json вещает))

Pavel
17.03.2017
07:57:08

Fike
17.03.2017
07:59:03
если переформулировать - какие запросы вы планируете к нему делать?
то что там данные будут - я и так понимаю

Alexander
17.03.2017
08:01:26

Google

Pavel
17.03.2017
08:02:06
Чтение аппликации - множественные селекты, включая dashboards. Время возврата нужно минимальное.

Fike
17.03.2017
08:03:29
давайте в @dba_ru с максимально полным описанием кейса (потому что селекты по kv вы делать не сможете, и пока это все не очень хорошо бьется)

Pavel
17.03.2017
10:15:38


Maxim
17.03.2017
11:30:44
Приглашаем всех на доклад (17:30 Зал 1, сегодня)
(доклад только вчера появился в программе)
Тема: "Эффективная работа с 10+ ПБ данных в PostgreSQL или новая парадигма построения "бережливых" инфраструктур данных для Data-Driven Enterprise"
Алексей Мергасов
...о технических деталях и опыте применения подхода экстремальной нормализации данных для создания инфраструктур данных с уникальными потребительскими характеристиками. В сравнении с решениями лидеров рынка такие инфраструктуры обладают, например, такими преимуществами, как:
- оперативная обработка 10 ПБ данных и больше,
- в 2-6 раз более высокая производительность,
- сквозная 100% консистентность данных,
- практически линейная горизонтальная масштабируемость,
- в 4-10 более низкая стоимость владения,
- и т. д.
Изложенный подход уже нашел применение за пределами России в решениях для операторов связи, ритейла, финтеха, современном производстве (Industry 4.0, индустриальный IoT), в государственном секторе.
Подробности: https://pgconf.ru/2017/95634