@pgsql

Страница 604 из 1062
Arthur
14.12.2017
15:20:13
date_trunc()

Darafei
14.12.2017
15:20:34
https://postgrespro.ru/docs/postgresql/10/functions-formatting.html
https://postgrespro.ru/docs/postgresql/10/functions-formatting

Лаврентий
14.12.2017
15:20:40
date_trunc делает 2017-12-01

за to_char спс

Google
Sergey
14.12.2017
15:21:57
Возможно есть ещё неявный вариант когда в настройках сессии формат даты объявлен в духе YYYY-MM

Andrey
14.12.2017
15:25:02
Вопрос сложнее: как-то без строковых функций можно из текущей даты получить 2017-12 ?
А как 2017-12 интерпретировать как дату? Нет такой даты "декабрь 2017".

Сергей
14.12.2017
15:28:31
Айтуар
14.12.2017
15:31:03
Yaroslav
14.12.2017
15:34:17
Нет.
Можно попробовать партиционировать, особенно если новые данные вставляются с датой, близкой к текущей (и старые редко обновляются), и можно удалять "блоками" с начала времени хранения (используя DDL, т.е. просто DROP TABLE/ ALTER ... NO INHERIT). Т.е. это может упростить maintenance (удаление старых данных, индексирование, VACUUM...).

Аггей
14.12.2017
15:36:23
Логи?

Хотя даже на них обычно есть fk.

А аналитика по таблице будет?

Отчёты, выборки в разрезе одного из полей?

Об этом тоже стоит подумать заранее и собирать/обновлять аналитику триггерами на этапе вставки данных

Айтуар
14.12.2017
18:34:36
Логи?
Почти.

Google
Айтуар
14.12.2017
18:35:29
Vitality
14.12.2017
20:38:24
Ребят, есть вопрос. Есть таблица. К ней привязана еще одна. Не все записи первой имеют связи ко второй. Как вывести записи первой и количество записей во второй?

select table1.row1, count(table2.row1) from schema1.table1 as t1 left join schema1.table2 as t2 on t1.row1 = t2.row1 group by 1

делаю вот так, но оно выдает только те записи, к которым имеется связь

Аггей
14.12.2017
20:48:36
? а вам как надо? Там где связи нет - выводить 0?

Vitality
14.12.2017
20:48:43
В точку

Аггей
14.12.2017
20:49:34
coalease?

Vitality
14.12.2017
20:49:37
Просто не понимаю в чем дело. Понимаю, что ошибка глупая, но где она - не могу найти

Аггей
14.12.2017
20:50:38
Должен выдавать числа и значения null по вашему запросу

Хотя... нет же - должен правильно считать

Vitality
14.12.2017
20:52:58
Вот именно

Аггей
14.12.2017
20:53:46
Получается не выводятся строки где нет связки?

Vitality
14.12.2017
20:54:18
Верно

идеале хочу видеть напротив них 0

Аггей
14.12.2017
20:55:13
Глупость напишу, но если так select t1.row1, count(t2.row1) from schema1.table1 as t1 left join schema1.table2 as t2 on t1.row1 = t2.row1 group by 1

Vitality
14.12.2017
20:56:06
Сейчас попробую

Сергей
14.12.2017
20:56:25
Да, по дефолту inner join

Аггей
14.12.2017
20:56:41
Тут указан left явно ж

Сергей
14.12.2017
20:56:56
Тут наверно сработает

Google
Аггей
14.12.2017
20:58:44
Баг? )

Сергей
14.12.2017
20:58:48
Со второй селект начинай

Vitality
14.12.2017
20:59:01
Но.. это же не логично

и по сути тоже самое, что просто right join

Julian
14.12.2017
21:00:52
А зачем count(t2.row1)? Если мы сгруппировали уже то можно просто count(*), не?

Аггей
14.12.2017
21:01:16
Ну я ошибки в запросе не вижу - все верно

Vitality
14.12.2017
21:01:26
ну если только t2.*

Баг? )
Раньше это работало. Сейчас нет. В чем проблема - хз

Аггей
14.12.2017
21:05:06
* считает со значением null вроде

count(*) - number of input rows... но у нас же count(t2.*)

Вот, тут я чувствую, что не знаю

Делайте case и sum )

Но это костыль )

Vitality
14.12.2017
21:12:44
:DDD

Счас что нибудь придумаю

Если кому интересно, то решил через with ... as (запрос) а затем в select взял снова первую таблицу и подвязал временную через left join. Не смотря на отсутствие логики оно сработало

Аггей
14.12.2017
21:59:51
А какая версия БД?

Vitality
14.12.2017
22:00:18
9.5 вроде

Yaroslav
14.12.2017
23:45:58
9.5 вроде
9.5.что? А может, у Вас просто индекс/таблица "битая". Далее, это же просто проверить для конкретного случая, который должен быть, а нет (WHERE table1.row1 = 'something')...

Google
Vitality
14.12.2017
23:46:37
Возможно, но задача решена

Yaroslav
14.12.2017
23:50:27
Возможно, но задача решена
А если у Вас действительно битая база, то это тоже не проблема? ;)

Vitality
14.12.2017
23:50:59
Нет, ибо она на стадии очень ранней разработки) И нет проблем снести ее полностью

Yaroslav
14.12.2017
23:52:23
Нет, ибо она на стадии очень ранней разработки) И нет проблем снести ее полностью
Ну и снесли бы / перезагрузили (pg_dump / restore), да и попробовали снова, зачем маяться странными проблемами? ;)

Vitality
14.12.2017
23:53:26
Я просто сначала сетовал на свой ум и память) И решил убедиться, что я не на столько глупый)

Artem
15.12.2017
06:35:31
Всем привет!

Кто гонял через pglogical большие БД?

Есть БД, в районе 500гб, данные меняются довольно часто, но не в больших объемах.

Стартует pglogical, 100-150гб переливаются без проблем.

А потом начинается быстрый рост блокировок.

Причем, не эксклюзивных

Egor
15.12.2017
06:41:58
Всем привет, есть проблема выводится ошибка портал "PORTALST812128844" не найден

как закрыть этот портал (курсор) что бы к нему не обращалась система

?

Darafei
15.12.2017
06:43:49
где она возникает?

Egor
15.12.2017
06:48:36
возникает при импорте xml файла в базу.

при добавлении вообщем

при экспорте...

Lev
15.12.2017
06:49:37
Импорте чем?

Dmitry
15.12.2017
09:23:46
postgres=# select '92233720368547758'::money + '0.074', '92233720368547758'::money + '0.075'; ?column? | ?column? —--------------------------+---------------------------— $92,233,720,368,547,758.07 | -$92,233,720,368,547,758.08 (1 row)

Google
Dmitry
15.12.2017
09:24:45
не, отсюда https://www.facebook.com/groups/postgres.uncensored

я сейчас особо с pg не пересекаюсь :)

Darafei
15.12.2017
09:25:28
тут ещё весёлое, у всех рандом выдаёт разные значения! https://twitter.com/pwramsey/status/941372882134765568

Pavel
15.12.2017
09:25:30
не, отсюда https://www.facebook.com/groups/postgres.uncensored
О! Крутяк. Мой пост обогнул земной шар и нашел меня )))

Maksim
15.12.2017
09:27:14
О! Крутяк. Мой пост обогнул земной шар и нашел меня )))
@pasha_golub а ты подхватил пост Андреса? Или сам дошёл?

Pavel
15.12.2017
09:27:27
Но с этим типом вечная возня. Периодически про него вспоминают и хайпуют )

Maksim
15.12.2017
09:29:08
Забавно, что при вводе проверка на переполнение имеется

Pavel
15.12.2017
09:29:48
Забавно, что при вводе проверка на переполнение имеется
Ага. Там в ветке выяснили почему. Кто-то чинил тесты и вшил проверку в cash_in. А в остальные было лень )

Anton
15.12.2017
10:20:06
коллеги, pg_repack можно в проде под большой ( 60 MB\s wal 5к TPS для этой таблицы ) нагрузкой использовать ?
если кому-то интересно, попробовал pgcompacttable, бежал 1.5 суток и со 100гб таблица ужалась до 96 ? ( свободного места там 50% )

т.е не помогло

Mikhail
15.12.2017
10:22:42
т.е не помогло
А если просто пересоздать ?

Nursultan
15.12.2017
10:30:03
Всем првиет

similarity(name, ?) > 0.1 OR similarity(iin, ?) > 0.1 - можете сказать написано правильно или нет?

Arthur
15.12.2017
10:32:18
А какая проблема? Можно еще: set pg_trgm.similarity_threshold = 0.1; ... name % ? or iin % ?

Vladislav
15.12.2017
10:49:52
Ребят, привет. Дайте совет. Нужно на PL/SQL написать запрос, который вернёт мне размер таблицы в байтах. Как это сделать?

Страница 604 из 1062