@pgsql

Страница 338 из 1062
blkmrkt
19.05.2017
04:32:14
ну и дальше запускай снова заливку, смотри на какую строку ругается и вручную исправляй, и так по кругу

лучше конечно поискать копии бекапа

Gefort
19.05.2017
04:32:50
invalid input syntax for integer: "84749383

На эту строчку почему-то ругается

Google
blkmrkt
19.05.2017
04:33:24
кавычка же там

Gefort
19.05.2017
04:33:54
Нету ее

COPY users (uid, ) FROM stdin; 84749383 5000

Вот так в дампе

blkmrkt
19.05.2017
04:34:44
может невидимый символ

Gefort
19.05.2017
04:35:12
Ну ладно, спасибо

Артур
19.05.2017
08:14:50
Всем привет

Антошин
19.05.2017
08:15:35
Привет

Артур
19.05.2017
08:17:13
Как мне попробовать удалить каскадно строоку, но с ограничениями. Поясню. Мне нужно чтобы из родительской таблицы "A" удалить запись и во всех дочерних таблицах ("B","C"...) кроме таблицы "N" тоже удалить запись.

Darafei
19.05.2017
08:17:29
iconv -f utf-8 -t utf-8 -c dump.sql
Очень крутая фишка, спасибо

Артур
19.05.2017
08:17:34
То есть как-то каскадное удаление, если в N таблице нет связанных записей

raksita
19.05.2017
08:22:39
как вариант, отключить внешний ключ в таблице N перед удалением

но сразу же получаете отсутствие консистентности

Google
Anatoliy
19.05.2017
08:25:45
А с таблицы N спилить констрейнт не вариант? Еще можно в связующую колонку пихнуть NULL, тогда связь не будет нарушена (но это не всех устраивает).

Che
19.05.2017
09:30:23
Это нормально что ILIKE раза в три медленнее LIKE в постгресе? Как юзать LIKE без зависимости от регистра?

Артур
19.05.2017
09:31:05
но сразу же получаете отсутствие консистентности
Отключать ключ не вариант. Я понимаю, что можно написать DELETE ... WHERE N.A_id NOT IN(A.id) Но думал может есть вариант изящнее.

Это нормально что ILIKE раза в три медленнее LIKE в постгресе? Как юзать LIKE без зависимости от регистра?
ILIKE вроде как переводит все в единый регистр и потом ищет. Поэтому логично что он медленнее

Артур
19.05.2017
09:38:41
типа if...

raksita
19.05.2017
09:39:32
да, плюс можно всё в одну функцию уместить

можно переписать констрейнты на явные триггеры например
я к тому, что в PG внешние ключи сделаны на механизме триггеров

Артур
19.05.2017
09:54:16
А вот хз. План юзайте, смотрите

В теории должен помочь

Dmitry
19.05.2017
09:55:35
а индексирование всей таблицы не поможет?
Что значит по всей таблице? У вас частичный индекс?

Артур
19.05.2017
09:55:55
В теории должен помочь
Но надо индекс тогда как-то на ilike ориентировать. Чтобы эффективнее было

Dmitry
19.05.2017
09:56:10
В доке написано: It is also possible to use B-tree indexes for ILIKE and ~*, but only if the pattern starts with non-alphabetic characters, i.e., characters that are not affected by upper/lower case conversion. https://www.postgresql.org/docs/9.4/static/indexes-types.html

Che
19.05.2017
09:56:21
хотя согласен, это тупо

Dmitry
19.05.2017
09:57:19
Частичный индекс - это индекс по условию. У вас есть whereв кляузе создания индекса?

Лучше в сторону полнотекста посмотрите.

В 9.6 с появлением RUM индексов полнотекст в постгре просто огонь.

Артур
19.05.2017
10:00:32
https://www.postgresql.org/message-id/200309291002.14823.josh@agliodbs.com

Google
Артур
19.05.2017
10:00:43
Как вариант

Dmitry
19.05.2017
10:03:53
https://www.postgresql.org/message-id/200309291002.14823.josh@agliodbs.com
Функциональный индекс тоже вариант. Вот в ораклах вариант с upper более производительный, чем с lower. Кто-нибудь знает, как в постгресе дела обстоят по этому вопросу?

Расскажи вкратце в чём огонь
Поищи презентацию от Бартунова. Там все очень хорошо по полочкам разложено.

Dmitry
19.05.2017
10:06:29
За 2017 год

Эта старовата

https://pgconf.ru/2017/94101

https://pgconf.ru/2017/94083

Вторая презентация сначала в ГАИШе на митапе была, а потом на pgconf в этом году.

Артур
19.05.2017
10:16:37
Благодарю

Артур
19.05.2017
10:18:01
Вроде не мне адресовывалось изначально :-), но, блин, полезно же! Спасибо еще раз

Dmitry
19.05.2017
10:18:31
Всегда пожалуйста :)

Ещё можно в расширение pg_tgrm потыкать. Тоже интересная технология с этими триграммами.

Che
19.05.2017
10:21:30
Darafei
19.05.2017
10:31:21
а кто-нибудь пробовал делать gist_print на двухгиговый индекс? :)

оно как-то очень долго не заканчивается

Артур
19.05.2017
12:52:09
Внутри транзакций SELECT Допустимы?

У меня на select ругается "current transaction is aborted, commands ignored until end of transaction block"

Google
Darafei
19.05.2017
12:52:57
допустимы, не очень допустимы ошибки

Anatoliy
19.05.2017
12:53:34
Это ошибка вылазит после запроса выполненного с ошибкой

Артур
19.05.2017
12:54:19


Anatoliy
19.05.2017
12:55:02
=> SELECT as; ERROR: syntax error at or near "as" LINE 1: SELECT as; ^ => SELECT * FROM users limit 1; ERROR: current transaction is aborted, commands ignored until end of transaction block => rollback ;

Darafei
19.05.2017
12:55:19
сохраняйтесь, https://www.postgresql.org/docs/9.6/static/sql-savepoint.html

Артур
19.05.2017
13:02:41
сохраняйтесь, https://www.postgresql.org/docs/9.6/static/sql-savepoint.html
не до конца понял совет. Перечитал доку несколько раз. По своей сути это не что иное как замена двух строк ... begin; commit; ... И немного налог goto То есть нужно скорее для отката до определенного шага транзакции. Я правильно понимаю, что мне надо использовать rollback to savepoint после select чтобы отловить ошику?

Admin
ERROR: S client not available

Артур
19.05.2017
13:05:09
Всё, спасибо. Нашел ошибку.

Darafei
19.05.2017
13:54:25
а я в очередной раз напоролся на то, что у геометрий в постгисе = сравнивает только боксы

и group by по линиям сгруппирует прямые и реверсные в один бакет

Артур
19.05.2017
14:55:40
Вопрос, как узнать сколько в транзакции добавилось строк?

Сижу с работы уйти не могу, потому что обработка идет на ноуте и прервать её не хочу

А сколько сидеть не понятно. Знаю что добавиться должно в итоге примерно 50к строк

Сергей
19.05.2017
14:58:01
ну 50к за несколько секунд максимум должно добавиться)

или ты делаешь что-то странное

Anatoliy
19.05.2017
14:58:43
Ну почему странное, там может быть агрегация тяжелая, а по её итогам вставка

Но видимо запрос тяжеловат

Wom
19.05.2017
14:59:25
Делать параллельно select count?

Anatoliy
19.05.2017
14:59:50
Там запрос в транзакции

Google
Anatoliy
19.05.2017
15:00:26
если не хотите, зачем уходить с работы?)

Петр
19.05.2017
15:01:34
рабочий ноут домой таскаете? или на работу со своим ноутом ходите?

Darafei
19.05.2017
15:02:39
screen?

Петр
19.05.2017
15:03:06
screen?
туда я и клонил

Darafei
19.05.2017
15:04:37
А вообще у меня прогрессбар для такого на plpgsql написан с eta

Петр
19.05.2017
15:07:55
в таком случае пользуйте скрины

Darafei
19.05.2017
15:09:26
а слип в ноуте работает?

Петр
19.05.2017
15:09:31
на худой конец посмотрите трассировку сессии

Darafei
19.05.2017
15:09:33
или база не на нём?

Артур
19.05.2017
15:10:55
Darafei
19.05.2017
15:11:15
ну так сложи ноут и иди :)

Артур
19.05.2017
15:13:02
ну так сложи ноут и иди :)
А не остановится?

Я часа 2 уже жду. Там скан по 20гб базы, поэтлму долго



Darafei
19.05.2017
15:13:23
https://www.gnu.org/software/screen/

Mike Chuguniy
19.05.2017
15:14:26
Я часа 2 уже жду. Там скан по 20гб базы, поэтлму долго
Это чегой-то с запросом не то явно.

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