
Arthur
14.12.2017
15:20:13
date_trunc()

Darafei
14.12.2017
15:20:34

Лаврентий
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

Сергей
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:35:25

Аггей
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
Тут наверно сработает

Vitality
14.12.2017
20:57: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

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

Pavel
15.12.2017
09:24:20
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)
Дада, тоже хакеров почитываешь? ?

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

Maksim
15.12.2017
09:27:14

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

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

Pavel
15.12.2017
09:29:48

Anton
15.12.2017
10:20:06
т.е не помогло

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 написать запрос, который вернёт мне размер таблицы в байтах. Как это сделать?