many-faced
25.10.2018
13:32:49
Yaroslav
25.10.2018
13:34:48
many-faced
25.10.2018
13:35:11
Terminator
25.10.2018
13:37:37
@arxxxangel будет жить. Поприветствуем!
Google
Yaroslav
25.10.2018
13:38:28
Нет, проблемы с эксепшенами от дедлоков.
Эээ... что? Какие от них могут проблемы? Ну повторите транзакцию N раз, и всё.
Просто на всякий случай (если Вы вдруг не знаете): DEADLOCK — нормальная ситуация, "кинуть" его в любой момент может любая СУБД (когда ей "захочется"), и приложения обязаны их обрабатывать.
Т.е., если корректность работы приложения нарушается от присутствия DEADLOCKs — в нём допущена (грубая) ошибка работы с транзакциями.
many-faced
25.10.2018
13:39:50
Yaroslav
25.10.2018
13:42:09
many-faced
25.10.2018
13:43:00
ну, вот и буду либо сортировать видимо.
Makkusu
25.10.2018
13:45:39
Yaroslav
25.10.2018
13:45:48
ну, вот и буду либо сортировать видимо.
Причём тут "сортировать"? Deadlock handling (т.е. повторы транзакций) обязан быть в приложении.
А сортировать / блокировать — это deadlock avoidance (необязателен).
many-faced
25.10.2018
13:47:05
Yaroslav
25.10.2018
13:50:28
сортировать это proactive problem solving ?
Не solving, а avoidance. Т.е. избегание.
В любой нетривиальной схеме и нагрузке Вы от них никуда не денетесь.
Поэтому, пока не мешают... какая разница?
Впрочем, если "сортировка" применяется заранее и ничего не стоит, это ещё лучше, естественно. ;)
many-faced
25.10.2018
13:52:32
Yaroslav
25.10.2018
13:55:35
Terminator
25.10.2018
14:10:02
Sergey N будет жить. Поприветствуем!
Viktor
25.10.2018
14:17:31
Всем привет! Есть postgres. Настроена асинхронная репликация. Есть партицированная по дате таблица. Делаю запрос к ридонли реплике, и получаю ошибку что данные уже кто-то изменил на мастере, хотя изменений в старых таблицах нет. Куда смотреть?
Andrey
25.10.2018
14:20:01
Google
Viktor
25.10.2018
14:21:54
Terminator
25.10.2018
14:22:14
@winged_pegasus будет жить. Поприветствуем!
@BonartLeo будет жить. Поприветствуем!
@abespalov будет жить. Поприветствуем!
Bonart
25.10.2018
14:24:43
Друзья,
Столкнулись с проблемой - постгря, обкурившись, использует hash join для двух больших таблиц
Подсказками не решается - EF Core не умеет их генерировать в своих запросах.
Что можно сделать? Индексы все есть, при недельных выборках план запроса использует нормальные Nested Loops для больших таблиц и хеш для маленьких. Но месячная выборка почему-то генерит план с полным чтением большой таблицы и hash join.
Чем тут можно помочь? Вес рандомного чтения страниц понижали, памяти для кеша добавляли - результат тот же
Павел
25.10.2018
14:26:41
Сохраняю clob в postgresql а в базе вижу 7 значное число. Что за фигня?
Terminator
25.10.2018
14:28:05
@yourmommy1488 будет жить. Поприветствуем!
Yaroslav
25.10.2018
14:30:49
Terminator
25.10.2018
14:31:05
@steelden будет жить. Поприветствуем!
Yaroslav
25.10.2018
14:31:57
Bonart
25.10.2018
14:35:07
Делает неправильно - недельная выборка 10 секунд, месячная - 216, гребет в процессе целиком (seq scan) таблицу с 600 тысячами записей.
Yaroslav
25.10.2018
14:38:57
Viktor
25.10.2018
14:41:32
many-faced
25.10.2018
14:42:36
Yaroslav
25.10.2018
14:43:52
Bonart
25.10.2018
14:45:30
Viktor
25.10.2018
14:45:58
Yaroslav
25.10.2018
14:49:55
Google
Bonart
25.10.2018
14:51:08
Так, пока отбой - вижу нереально тормозящую выборку из самой тяжелой таблицы еще до join
Viktor
25.10.2018
15:03:46
Sab0
25.10.2018
16:39:56
а кто в курсе что делать если не получается внести в таблицу текст с символом типа ® ?
в мускуле это решалось сменой коллейшна и типа соединения
Makkusu
25.10.2018
16:59:18
а что если там емодзи?
Sab0
25.10.2018
16:59:42
эмодзи тож не считывает
какой коллейшн?))
Makkusu
25.10.2018
17:00:28
Sab0
25.10.2018
17:00:46
®
этот значок
ProgrammingError: (psycopg2.ProgrammingError) syntax error at or near "s®"
LINE 1: ...on, price, picture, vendor) VALUES ('Ботинки Levi's®', 'men'...
Makkusu
25.10.2018
17:02:53
Sab0
25.10.2018
17:03:06
это slqalchemy
Makkusu
25.10.2018
17:03:16
экранировать попробуй
Sab0
25.10.2018
17:04:12
там только всякие спец-символы типа кавычек
Google
Makkusu
25.10.2018
17:04:28
Fike
25.10.2018
17:06:00
Sab0
25.10.2018
17:06:15
точно
сори
Fike
25.10.2018
17:06:22
???
Sab0
25.10.2018
17:06:22
я тупанул
Makkusu
25.10.2018
17:06:22
)))
Sab0
25.10.2018
17:06:27
не в ту сторону подумал
Makkusu
25.10.2018
17:06:28
вот и я о чем
думаю что не так
Sab0
25.10.2018
17:06:37
да я не понял просто даже))
спасибо!
Fike
25.10.2018
17:06:56
вы там напрямую строки конкатенируете?
http://initd.org/psycopg/articles/2012/10/01/prepared-statements-psycopg/
есть еще вроде parametrized statements, скорее всего дял одноразовых запросов еще лучше подойдет
Sab0
25.10.2018
17:10:56
Fike
25.10.2018
17:11:22
вы потом бобби тейблса словите
Makkusu
25.10.2018
17:12:39
Fike
25.10.2018
17:13:07
насколько понимаю, то же самое, только не prepared
Google
Fike
25.10.2018
17:13:14
но я не питонист и вообще просто прогуглил
Makkusu
25.10.2018
17:13:20
Кстате нормально ли использовать часто тип String (из sequelize) для маленьких строк до 30 символов?