
Mike Chuguniy
20.02.2018 
 13:34:48
Коллеги, а кто помнит, онлайн тюнер, который не pgtuner? Блин, не могу вспомнить.
 
                
                
Arthur
20.02.2018 
 13:35:44
http://pgtune.leopard.in.ua/ ?
 
                
                
Konstantin
20.02.2018 
 13:37:42
А вот этот видели:
http://pgconfigurator.cybertec.at/
 
                
                
Alex
20.02.2018 
 13:37:42
 
                    
Google
                
                
                
                
 
                
                
Alexander
20.02.2018 
 14:18:59
Товарищи, поймал интересную штуку: 
SELECT CAST('2147483647 milliseconds' AS INTERVAL) 
отдает 596:31:23.647, 
но SELECT CAST('2147483648 milliseconds' AS INTERVAL) 
уже ругается 
ERROR:  interval field value out of range: "2147483648 milliseconds"
LINE 1: SELECT CAST('2147483648 milliseconds' AS INTERVAL)
 
                
                
Darafei
20.02.2018 
 14:25:24
пользуйся SELECT CAST('2147483.648 seconds' AS INTERVAL) ;
 
                
                
Alexander
20.02.2018 
 14:29:55
Да, спасибо. Просто не ожидал, что для хранения значения внутри используется int, тем более signed
 
                
                
Darafei
20.02.2018 
 14:31:30
этого полно внутри постгреса
 
                
                
Alexey
20.02.2018 
 14:37:15
"минуточку, будьте добры помедленее! я записывыаю"
 
                
                
Alex
20.02.2018 
 15:19:07
 
                
                
Alexey
20.02.2018 
 15:23:31
 
                
                
Dmitry
20.02.2018 
 18:15:44
 
                
                
Alexander
20.02.2018 
 18:16:00
Да, это радует, конечно ?
 
                
                
Mike Chuguniy
20.02.2018 
 18:38:29
Народ, а вот такой дурацкий вопрос: допустимо ли в процедуре pl/pgsql софрмировать массив данных, а потом залить его в какую-нибудь таблицу по через COPY?
Кто-нибудь такое вытворял?
 
                
                
Alex
20.02.2018 
 20:06:59
 
                
                
Maksim
20.02.2018 
 21:39:48
 
                
                
Alex
20.02.2018 
 21:49:25
 
                    
Google
                
                
                
                
 
                
                
Maksim
20.02.2018 
 21:53:50
 
                
                
Alex
20.02.2018 
 21:54:56
 
                
                
Maksim
20.02.2018 
 21:55:23
Возможно)
 
                
                
Alex
20.02.2018 
 22:07:05
Правда там сразу в доке было написано что если на входе булшит то и на выходе тоже. Зато честно %)
Благо дело ситуация к исправлению движется.
 
                
                
Stepan
20.02.2018 
 22:09:33
А кто-нибудь может сказать, что подразумевается под data truncation здесь: 
Exception raised for important warnings like data truncations while inserting, etc
http://initd.org/psycopg/docs/module.html#psycopg2.Warning
 
                
                
Yaroslav
20.02.2018 
 22:13:49
  
 
                
                
Alexander
20.02.2018 
 22:59:13
Вообще это целенаправленное действие - проверка на integer диапазон, несмотря на то что внутри число парсится в long. Другое дело, в доке указано, что только месяцы и дни приводятся к integer, а секунды распадаются на целое и дробное. По-хорошему, CAST('2147483648 milliseconds' AS INTERVAL) должен свестись к CAST('2147483 seconds 648 milliseconds' AS INTERVAL) который работает, поэтому имхо это баг.
Что касается signed, то каждая компонента интервала может иметь знак: '1 hour -1 minute’ есть 00:59:00
Спасибо за столь подробный ответ, очень познавательно. Я самостоятельно попытался покопаться в исходниках и, «почитав по диагонали», пока нашёл только typedef, не добравшись до парсинга. :)
 
                
                
Vitaly
21.02.2018 
 08:39:48
Ребята, всем привет
кто-нибудь сталкивался
с отсутствием одного ID
id
——
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
eas=# select id from n_objects where id =37 ;
 id
——
(0 строк)
Что за?
 
                
                
Andrey
21.02.2018 
 08:42:40
 
                
                
Vitaly
21.02.2018 
 08:42:48
да
 
                
                
Yaroslav
21.02.2018 
 08:43:31
Что за?
А если "set enable_indexscan = off;" и SELECT * FROM n_objects WHERE id =37 ;
 
                
                
Vitaly
21.02.2018 
 08:44:42
eas=# SELECT * FROM n_objects WHERE id =37;
 id | id_region | id_channel | title | address | lat | lon | deleted | id_level | id_control_object | id_icon_file | state | state_time | state_message | priority | radius | details | local_lat | local_lon
—--+-----------+------------+-------+---------+-----+-----+---------+----------+-------------------+--------------+-------+------------+---------------+----------+--------+---------+-----------+---------—
(0 строк)
 
                
                
Andrey
21.02.2018 
 08:45:15
А план какой?
 
                
                
Vitaly
21.02.2018 
 08:45:47
то есть?
Строение таблицы
 
                    
Google
                
                
                
                
 
                
                
Vitaly
21.02.2018 
 08:45:49
??
 
                
                
Yaroslav
21.02.2018 
 08:46:11
 
                
                
Andrey
21.02.2018 
 08:46:13
EXPLAIN ANALYZE SELECT * FROM n_objects WHERE id =37 ;
 
                
                
Alexander
21.02.2018 
 08:46:17
Перед запросом добавьте EXPLAIN ANALYZE
 
                
                
Vitaly
21.02.2018 
 08:46:42
eas=# EXPLAIN ANALYZE SELECT * FROM n_objects WHERE id =37 ;
                                                              QUERY PLAN
—-------------------------------------------------------------------------------------------------------------------------------------
 Index Scan using notification_objects_pkey on n_objects  (cost=0.14..8.16 rows=1 width=219) (actual time=0.007..0.007 rows=0 loops=1)
   Index Cond: (id = 37)
 Planning time: 0.197 ms
 Execution time: 0.051 ms
(4 строки)
 
                
                
Andrey
21.02.2018 
 08:48:00
Не отключили индекс скан.
Пересоздайте индекс, короче.
 
                
                
Vitaly
21.02.2018 
 08:48:21
как?
подскажите, плиз
 
                
                
Andrey
21.02.2018 
 08:50:45
В вашем случае как-то так:
alter table n_objects drop constraint notification_objects_pkey;
alter table n_objects add primary key (id);
 
                
                
Vitaly
21.02.2018 
 08:51:05
спасибо
 
                
                
Mike Chuguniy
21.02.2018 
 08:51:44
@pensnarik а REINDEX не поможет?
 
                
                
Darafei
21.02.2018 
 08:52:29
подняли в osm вопрос о синхронности репликации
https://lists.openstreetmap.org/pipermail/dev/2018-February/030134.html
https://lists.openstreetmap.org/pipermail/dev/2018-February/030135.html
 
                
                
Andrey
21.02.2018 
 08:52:33
Можно и REINDEX
 
                
                
Yaroslav
21.02.2018 
 08:52:37
спасибо
Найдите причину, восстановите из backup.
 
                
                
Andrey
21.02.2018 
 08:53:12
Какая битая база?
А, в том смысле, что индекс битый. Вообще странно, что индекс на такой маленькой таблице оказался битым.
Кстати, какая  вас версия?
 
                
                
Vitaly
21.02.2018 
 08:54:29
psql (9.4.5)
 
                    
Google
                
                
                
                
 
                
                
Yaroslav
21.02.2018 
 08:54:49
Какая битая база?
Обычная. Почему Вы думаете, что проблема только с индексом?
Вообще, что-то перениндексировать в такой ситуации —- это неправильный/вредный совет, в принципе.
 
                
                
Andrey
21.02.2018 
 08:55:01
Самой базы. select version();
 
                
                
Vitaly
21.02.2018 
 08:55:30
------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 9.4.5 on x86_64-suse-linux-gnu, compiled by gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973], 64-bit
(1 строка)
 
                
                
Yaroslav
21.02.2018 
 08:56:19
 
                
                
Vitaly
21.02.2018 
 08:57:41
спасибо, за советы посмотрю и напишу