@pgsql

Страница 1028 из 1062
Yaroslav
09.10.2018
15:12:00
Ночью ничего не происходит, по этому к жертвам готов!) Сейчас найти цитату будет слегка накладно, предлагаю поверить неизвестной аватарке в интернете ))
Т.е. Вы готовы, к примеру, бегать по городу ночь напролёт, чтобы, может быть, найти 5 рублей? ;) Дело Ваше, конечно... > предлагаю поверить неизвестной аватарке в интернете )) Трудно поверить, что Дмитрий Короткевич такое пишет. :(

Yaroslav
09.10.2018
15:13:23
не совсем понял про 5 рублей, обновить индекс ночью пока никто не видит? -конечно же да!)
Соотношение затрат и возможной выгоды примерно такое же...

many-faced
09.10.2018
15:16:29
Парни, привет помогите плз с запросом Есть таблица items, столбцы - item_id, user_id Мне нужно ответить на вопрос - является ли user_id соответствующим одновременно двум указанным item'ам. Например, SELECT * from items where (item_id = 1 AND user_id = 1) OR (item_id = 2 AND user_id = 1) Я вижу две строки, как нужно. Но мне от запроса по сути нужно только TRUE или FALSE в результате. Как такое запилить?

Google
Dmitry
09.10.2018
15:41:23
Сможешь ткнуть пальцем в Иванова Ивана Ивановича из толпы?
Спросите это лучше у человека в фуражке, если он заглянет с проверкой. ?

Потом расскажете как оно, общаться.

Terminator
09.10.2018
16:00:21
@potap619 будет жить. Поприветствуем!

Александр
09.10.2018
16:04:26
Всем привет! Сори что не по теме. Срочно нужны 2 PHPшника с опытом PostgreSQL в офис (Мск). За подробностями стучите в ЛС.

many-faced
09.10.2018
16:24:27
EXISTS, например.
А как её применить к текущему случаю?

Yaroslav
09.10.2018
16:26:41
А как её применить к текущему случаю?
А Вы случай-то уточните. У Вас комбинации (item_id, user_id) уникальны? (Может быть более двух строк по такому WHERE?)

many-faced
09.10.2018
16:27:53
А Вы случай-то уточните. У Вас комбинации (item_id, user_id) уникальны? (Может быть более двух строк по такому WHERE?)
комбинация уникальна. одна item принадлежит только одному user. (более двух строк не может)

many-faced
09.10.2018
16:30:44
В примере user_id=1 в обеих случаях
item_id, user_id 1, 1 2, 1 3, 1 4, 2 5, 2

Yaroslav
09.10.2018
16:30:52
комбинация уникальна. одна item принадлежит только одному user. (более двух строк не может)
Как-то так, в таком случае: SELECT EXISTS ( SELECT 1 FROM items WHERE user_id = 1 AND item_id IN (1, 2) OFFSET 1 );

Google
Bogdan
09.10.2018
16:31:52
WEHERE можно так перепсать, кстати SELECT * from items where ROW(item_id,user_id) in (ROW(1,1),ROW(2,1)) о это не решает проблему того тчо вам надо на выход полчить boolean, с таким я пока не сталкивался, но с in запрос будет чуть красивей

Alexandr
09.10.2018
16:33:24
а кастовать в селекте exists нельзя? (извините за возможно тупой вопрос)

Bogdan
09.10.2018
16:36:00
ничего не понял тут, извините )
вместо кучи скобочек и OR выржение IN с кортежем если у вас будет больше двух условий, то упростит скрипт значительно

Bogdan
09.10.2018
16:38:08
можно скомбинировать с этим https://t.me/pgsql/102718 я не знал, что в списке селект можно писать EXSIST в дургих дилаектах SQL так нельзя

Yaroslav
09.10.2018
16:39:54
а кастовать в селекте exists нельзя? (извините за возможно тупой вопрос)
У меня \dC boolean выдаёт, что CAST к integer есть, а у Вас?

можно скомбинировать с этим https://t.me/pgsql/102718 я не знал, что в списке селект можно писать EXSIST в дургих дилаектах SQL так нельзя
Да можно, почему ж нельзя. Во многих других диалектах просто типа boolean нет, вот там и приходится извращаться. ;)

Alexandr
09.10.2018
16:40:44
У меня \dC boolean выдаёт, что CAST к integer есть, а у Вас?
Я уже года 3 не живу на pgsql, поэтому и спросил - вспоминаю

Bogdan
09.10.2018
16:46:16
я на своей базе првоерил EXISTS почему-то выдает очень плохой план, SeqScan

Yaroslav
09.10.2018
16:48:04
я на своей базе првоерил EXISTS почему-то выдает очень плохой план, SeqScan
Да нельзя делать таких выводов! Покажите конкретный запрос, \d таблицы и план, тогда можно о чём-то говорить. Кстати, seqscan <> "плохой план".

Bogdan
09.10.2018
16:49:33
https://explain.depesz.com/s/7jm https://explain.depesz.com/s/85VS запросики SELECT EXISTS( select * FROM chats where ("accountId", channel, "channelId") in (('d8d018cd-93fa-4c8c-8342-fb2b377ee04a' :: uuid, 'vk', 8888), ('d8d018cd-93fa-4c8c-8342-fb2b377ee04a' :: uuid, 'tg', 72)) ) и просто select * FROM chats where ("accountId", channel, "channelId") in (('d8d018cd-93fa-4c8c-8342-fb2b377ee04a' :: uuid, 'vk', 8888), ('d8d018cd-93fa-4c8c-8342-fb2b377ee04a' :: uuid, 'tg', 72))

правда таблица небольшая, dev сервер

Bogdan
09.10.2018
16:53:08
Попробуй * поменять на 1
не помогло, попробую на более большой таблице сделать, только поднимется сервачек с такой-же таблицой но дампом с прода

на дев базе, где 8мб данных делает SeqScan а на прод базе где 3 Гб все-же через индекс ходит наврно, это нормально ?

Google
Alexandr
09.10.2018
16:57:10
скинь план, чемы гадаем

Yaroslav
09.10.2018
16:57:21
не помогло, попробую на более большой таблице сделать, только поднимется сервачек с такой-же таблицой но дампом с прода
Я же просил показать 3 (три) вещи, не так ли? Кстати, под "планом" я имел в виду EXPLAIN(ANALYZE, BUFFERS), как минимум. > правда таблица небольшая, dev сервер Насколько небольшая?

Bogdan
09.10.2018
16:57:43
хотя не знаю, индекс весящий 719 kB бысрее обойти чем 8мб таблицу

скинь план, чемы гадаем
скидывал, ссылочками

таблицу, сейчас скину)

Yaroslav
09.10.2018
16:58:57
хотя не знаю, индекс весящий 719 kB бысрее обойти чем 8мб таблицу
Эхх.. вот с чего Вы это взяли? Ваши cost-ы настроены адекватно этому утверждению (потому что с defaults это может быть и не так)?

Bogdan
09.10.2018
16:59:02
https://pastebin.com/byijxYb6

Yaroslav
09.10.2018
17:03:35
https://pastebin.com/byijxYb6
Вот попридираюсь и скажу, что это не \d. ;) Кстати, а почему мы обсуждаем совсем другие запросы (которые написаны не лучшим образом), а не ту задачу, что раньше? > а планировщик берет в учет, загружена ли таблица в кеш? Скорее нет, чем да. ;) Настроить costs соответствующим образом — задача DBA.

Bogdan
09.10.2018
17:06:16
>(которые написаны не лучшим образом) а как лутше их написать? Вобще я прсто решил про експерементировать подобный запрос с оригинального вопроса на своих данных

Вау, это гениально, моя таблица была не провакуумлена! =( изза этого и план такой

Yaroslav
09.10.2018
17:10:09
дело в том, что я не через терминал подключась
Но каким-то клиентом же Вы подключаетесь? Значит, могли бы и psql... > а как лутше их написать? Написать что? Ваши запросы вообще не решают исходную задачу! > Вобще я прсто решил про експерементировать подобный запрос с оригинального вопроса на своих данных Ну так нужно же конкретные эксперименты ставить... Вот Вы пока вроде выяснили, что IN оптимизируется в общем лучше, чем OR. ;)

Alexandr
09.10.2018
17:12:59
Какую версию pgsql по умолчанию в этом чате надо брать?

или хотя бы большинтсво на чем?

не в чает - Канале

Alexandr
09.10.2018
17:15:16
кто админ, запустите голосование, чтоб иметь представление. спс)

Anton [Mgn, az09@osm]
09.10.2018
17:24:12
кто админ, запустите голосование, чтоб иметь представление. спс)
У меня полсервера а у когото их сотнями по датацентрам... Так что вообще не показательно будет

Andrey
09.10.2018
18:16:03
Всем привет, помогите...((( win10, postgresql 10.5 сервер postgres работает, ODBC-драйвер стоит, строка подключения такая connectionString="Driver={PostgreSQL UNICODE};Server=localhost;Port=5432;Database=test;Uid=postgres;Pwd=***;" При попытке поключиться через visual studio пишет "Не удалось вызвать служебную программу подключения драйвера ODBC." IIS возвращает вот что [OdbcException (0x80131937): ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified] Второй день бьюсь, обгуглися уже (((

Google
Andrey
09.10.2018
18:25:12


Yaroslav
09.10.2018
18:28:08
А то, что у Вас название драйвера в строке подключения ({PostgreSQL UNICODE}) не совпадает с Вашим screenshot — точно допустимо (я просто не в курсе)?

Andrey
09.10.2018
18:32:10
А то, что у Вас название драйвера в строке подключения ({PostgreSQL UNICODE}) не совпадает с Вашим screenshot — точно допустимо (я просто не в курсе)?
блин, точняк, заработало! Вот весь гугл пишет драйвер PostgreSQL UNICODE, а надо как на скрине PostgreSQL ODBC Driver(UNICODE)

Pavlo
09.10.2018
18:51:29
Слово user зарезервированое? Мда и как я смог сделать таблицу с етим именем) Теперь не могу удалить

Pavlo
09.10.2018
18:59:18
Petr
09.10.2018
19:51:13
Господа, пытливые умы спрашивают: "а какую книгу по реляционным бдшкам почитать?" и тут я призадумался, что в своё время брал информации с миру по нитки, и какого-то конкретного источника припомнить не могу. В связи с этим вопрос: Кто какую книгу посоветует по вышеуказанному?

Yaroslav
09.10.2018
20:00:20
Дейта, например... с осторожностью. ;) В общем, смотря зачем.

Petr
09.10.2018
20:22:32
Дейта, например... с осторожностью. ;) В общем, смотря зачем.
Люди уже понимают азы (вплоть до отношений многие-ко-многим, проектированию типичных структур бд, индексации базовой (без особого понятия как работает под капотом) и т.д.), но хотят углубиться Вот черт знает что им посоветовать, чтобы "для общего развития"

Petr
09.10.2018
20:38:09
http://db-book.com/
спасибо!

Maksim
09.10.2018
20:39:09
спасибо!
Велкам) По внутренностям одна из лучших что видел

Anton
09.10.2018
22:07:20
подскажите, есть ли легкий способ реализовать cursor по uuid? т.е. вместо числового offset можно было передать uuid последней записи, и выведет записи, которые должны при выборке следовать после

Anton
09.10.2018
22:34:32
А что такое после? Для uuid есть понятие больше/меньше?
в том и дело, что нету. есть только условие

Alexandr
09.10.2018
22:34:33
Встроенного Нет. Только свою функцию писать

Сергей
09.10.2018
22:35:08
Terminator
10.10.2018
03:27:08
@simaregele будет жить. Поприветствуем!

Google
Terminator
10.10.2018
06:03:55
@minimum5char будет жить. Поприветствуем!

Bogdan (SirEdvin)
10.10.2018
06:55:31
немного странный вопрос, подскажите, как в postgresql увеличить размер wal-сегмента? гуглю и туплю пока

Bogdan (SirEdvin)
10.10.2018
07:03:23
Оу, вот это печально. Хотелось уменьшить количество записей в кластер при archive команде

Andrey
10.10.2018
07:03:30
./configure --with_wal_segsize

Kirill
10.10.2018
07:14:44
А вообще реально кому-то помогло изменение размера wal? Есть у кого-то success story?

Bogdan (SirEdvin)
10.10.2018
07:33:59
У нас просто glusterfs и большое количество файлов делает ему больно)

Nikolai
10.10.2018
07:35:21
у нас эта скотина ещё и течет по памяти на клиентах

Dmitry
10.10.2018
09:17:03
У нас просто glusterfs и большое количество файлов делает ему больно)
вы ведь только через archive command туда складываете, надеюсь не используете под wal?

Bogdan (SirEdvin)
10.10.2018
09:17:29
вы ведь только через archive command туда складываете, надеюсь не используете под wal?
В каком плане, не используете под wal? Но в целом да, только через archive команду

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