
Yaroslav
05.09.2018
13:04:24

Mike Chuguniy
05.09.2018
14:43:35

Alexander
05.09.2018
14:48:08
Ребят, соьираю метрики с pg_stat_statements, там выводится у меня самые продолжительрые запросы. Можно ли кактт получить юзера кто выполнял их?) Как ч понял там этт не хранится

Александр
05.09.2018
15:16:53
там есть поле userid

Google

Aleksandr
05.09.2018
15:34:27

Roman
05.09.2018
16:35:15
А как можно проще вставить 100 000 строк с инкрементом по одному полю? id | number

Mike Chuguniy
05.09.2018
16:51:24

Dmitry
05.09.2018
18:32:29
кто может объяснить зачем опция analyze-in-stages после pg_upgrade если сам pg_upgrade делает vacuum и freeze (как минимум 9.5)

Darafei
05.09.2018
18:39:50
а он делает analyze?

Yaroslav
05.09.2018
19:34:53

Dmitry
05.09.2018
19:41:50
а он делает analyze?
https://github.com/postgres/postgres/blob/REL9_5_STABLE/src/bin/pg_upgrade/pg_upgrade.c#L249

Yaroslav
05.09.2018
19:43:10
^^^
Это делается при подготовке нового кластера, до "переливки" данных (почитайте, откуда вызывается prepare_new_cluster).

Dmitry
05.09.2018
19:44:56

Terminator
06.09.2018
05:39:37
@Kozminykh будет жить. Поприветствуем!
@MatveyF будет жить. Поприветствуем!

Google

Terminator
06.09.2018
05:50:29
@Sanberg будет жить. Поприветствуем!
@shi_tsu будет жить. Поприветствуем!
@ora_dba будет жить. Поприветствуем!
@Habuvo будет жить. Поприветствуем!

Ilya
06.09.2018
09:12:50
Привет!
А подскажите nested transaction как реализовать в go - postgre (pq gorm)? я пробовал чистый скуэль получаю pq: unexpected transaction status idle, горм тем более такое не умеет
Задача выполнить (или нет) ряд апдейтов не трогая внешнюю транзакцию
Я пытаюсь понять - это проблема драйвера или надо как то по особому оформить начало вложеной транзакции?

Terminator
06.09.2018
09:17:10
@dmitry_soloma будет жить. Поприветствуем!
@Bartymaeus будет жить. Поприветствуем!
Aikidos будет жить. Поприветствуем!

Konstantin
06.09.2018
09:32:34
Я не знаю Оракл, поэтому не в курсе, что точно делаеьт dbms_alert.signal, но в Постгресе есть механизм LISTEN/NOTIFY, который возможно поможет решить ту же задачу

Artem
06.09.2018
09:34:41

Yaroslav
06.09.2018
09:35:53

Konstantin
06.09.2018
09:36:12

Yaroslav
06.09.2018
09:36:38

Vlad
06.09.2018
09:38:20
Всем привет.
Я, так-то, девелопер.
Но тут возник вопрос по базам и понеслась..
pq: syntax error at or near \"T00\"
Постгрес не любит даты вида 2017-01-01T00:00:00?

Alexander
06.09.2018
09:39:29
select '2017-01-01T00:00:00' :: timestamp;

Victor
06.09.2018
09:40:17
тип поля какой?

Alexander
06.09.2018
09:40:29
он и дату из этого сделает

Vlad
06.09.2018
09:41:45
На самом деле тут все не так просто..
Если очень вкратце: есть некий датапайплайн.
1. Один учатсник делает селект. И кладет как JSON в кафку.
2. Подписчик кафки достает JSON, преобразует в Go-структуру и..
Думаю, будет проще, если я скину, как выглядит дата в JSON и как я это все дело вставляю в пг

Google

Vlad
06.09.2018
09:43:02
Если опустить все, что я сказал выше и прийти к сути
some_column = to_timestamp(null, 'YYYY-MM-DD HH24:MI:SS.MS')
Значение берется из JSON, иногда это null, иногда дата в кавычках
updated_at = to_timestamp('2018-09-05T23:33:48Z', 'YYYY-MM-DD HH24:MI:SS.MS')
И, судя по всему, когда после даты идет нулевое время, все - умираем

Yaroslav
06.09.2018
09:49:39

Vlad
06.09.2018
09:51:02

Yaroslav
06.09.2018
09:59:44

Vlad
06.09.2018
10:04:28

Yaroslav
06.09.2018
10:05:03

Vlad
06.09.2018
10:07:07

Yaroslav
06.09.2018
10:07:42

Vlad
06.09.2018
10:09:24

S
06.09.2018
10:10:10

Yaroslav
06.09.2018
10:10:54

Vlad
06.09.2018
10:13:32
Данные так и остались с нулевыми байтами.
А мы везде делаем проверки.

Yaroslav
06.09.2018
10:15:28

Google

Yaroslav
06.09.2018
10:16:31
> Когда мы сообщили DBA о том, что у нас такая проблема, их ответ был прост: "А вы добавьте NULLIF"
Но это, да, "весело" (только что поверил своим глазам, что действительно это прочитал). ;)

Vlad
06.09.2018
10:16:50
Это ад, у нас неконсистенси данные, и мы пишем костыли на SQL, чтобы решить проблему..
Такие дела

Yaroslav
06.09.2018
10:18:05

S
06.09.2018
10:18:34
у вас кстати неправильно время конвертится :-)

MikaelBox
06.09.2018
10:19:03

Vlad
06.09.2018
10:20:32

MikaelBox
06.09.2018
10:20:41
Пардон, пустые строки, а не null

Vlad
06.09.2018
10:21:18

S
06.09.2018
10:21:50
select to_timestamp('2018-09-05T00:00:00Z', 'YYYY-MM-DD HH24:MI:SS.MS');
to_timestamp
------------------------
2018-09-05 00:00:00+03
(1 row)
в msk это 3 часа ночи должно быть, а у вас полночь получается, потому что формат игнорирует зону 'Z'
вам везёт что у вас timezone сессии utc :-)