@pgsql

Страница 719 из 1062
Sergey
20.03.2018
07:48:20
там статичные данные и всё в инсёртах

8 инсёртов и в каждом вставляется по ~280k строк

Darafei
20.03.2018
08:06:14
тогда тебе copy надо

в нём лимитов нет

Google
Yaroslav
20.03.2018
08:40:31
про это?
Да. Вы же об этом спрашивали?

des1roer
20.03.2018
08:40:44
да. спасибо

Max
20.03.2018
10:25:24
Подскажите при импорте CSV файла с помощью COPY можно ли пропустить строки с ошибками? Например в таблице поле типа инт, и если в файле встречается отличное от него, то пропустить эту строку

Mikhail
20.03.2018
10:25:34
есть пользователи repmgr ?

Аггей
20.03.2018
10:30:09
Пробовал пользоваться

Max
20.03.2018
10:44:11
Нет.
а если before триггер использовать? Не получится?

Yaroslav
20.03.2018
10:47:54
а если before триггер использовать? Не получится?
Каким образом? Тип-то всё равно не тот. Можете попробовать COPY во временную таблицу, где это поле text, ну и т.д.

Anton [Mgn, az09@osm]
20.03.2018
10:50:53
а лучше почистить данные предвартельно

Aydar
20.03.2018
12:21:32
ребята, подскажите как лучше сделать необходимо сделать тестовое задание с иползованием postgres, так беда в том, что я не знаю в каком виде передавать им бд

Google
Aydar
20.03.2018
12:24:49
вот я тоже на этом остановился, но им придется лезть в код и ставить свое имя бд и имя пользователя

видимо это пока лучший вариант, спасибо ?

Alexey
20.03.2018
12:25:37
вот я тоже на этом остановился, но им придется лезть в код и ставить свое имя бд и имя пользователя
У pg_dump есть опции, которые позволяют сдампить без имени пользователя и имени БД. Куда под кем захотят - туда под тем и развернут

Aydar
20.03.2018
12:26:38
вот этого не знал, сейчас посмотрю, спасибо большое

Mikhail
20.03.2018
12:55:27
сделайте название БД по своему имени и номеру зачётки :)

и в коментарии к объектам насыпьте эти данные

это на случай если кто-то захочет спереть ;)

Tolya
20.03.2018
12:56:36
или в образ виртуальной машины, даже проще и потом его сохранить

Mikhail
20.03.2018
12:57:11
или на тестовый бесплатный хостинг выкатить

он всеравно месяц действует обычно :)

Aydar
20.03.2018
12:57:42
вот последнее было бы круто, показательно )

Mikhail
20.03.2018
12:59:52
http://g.zeos.in/?q=vps%20%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%BF%D0%B5%D1%80%D0%B8%D0%BE%D0%B4

Alexandr
20.03.2018
13:05:16
подскажите, использовать временные таблицы в функциях это нормально? не будет ли там каких-нибудь конфликтов?

Mikhail
20.03.2018
13:06:53
норм. но имхо лучше курсор :)

Sergey
20.03.2018
13:07:04
тогда тебе copy надо
@Komzpa Спасибо за наводку! воспользовался метакомандой \copy (https://www.postgresql.org/docs/9.2/static/app-psql.htm#APP-PSQL-META-COMMANDS-COPY)

Yaroslav
20.03.2018
14:09:41
подскажите, использовать временные таблицы в функциях это нормально? не будет ли там каких-нибудь конфликтов?
В смысле, создавать их в функциях? Тогда проблемы могут быть разве что при рекурсивном вызове.

Alexandr
20.03.2018
14:10:38
норм. но имхо лучше курсор :)
мне временные таблицы нужны для последующих join'ов в этой же функции

Darafei
20.03.2018
14:10:39
нет, ещё при циклах

у нас при создании-удалении таблицы в цикле локи заканчивались

Google
Alexandr
20.03.2018
14:11:31
временные таблицы же надо удалять?

Alexandr
20.03.2018
14:12:09
перед ее созданием я пытаюсь ее удалить на всякий случай, это норм?

Mikhail
20.03.2018
14:13:02
не вижу острых противопоказаний =)

Alexandr
20.03.2018
14:13:44
В смысле, создавать их в функциях? Тогда проблемы могут быть разве что при рекурсивном вызове.
название временных таблиц во всех моих функциях одинаковое, не будет ли конфликта, когда я вызову две разные функции, а мне выдаст Temp Table TableName is already exist

Darafei
20.03.2018
14:18:44
перед ее созданием я пытаюсь ее удалить на всякий случай, это норм?
лучше нет - если в два потока надо будет что-то делать, первый вызов дропнет таблицу и будет держать лок и не пускать остальных

Alexandr
20.03.2018
14:19:02
а временные таблицы глобальные что-ли? можно их как-то локальными делать

?

а с курсорами такой фигни не будет?

если названия опять будут одинаковые в двух разных функциях

Darafei
20.03.2018
14:21:40
но дропаешь-то ты на входе неизвестно, что временную таблицу

Alexandr
20.03.2018
14:29:20
курсоры только в своем scope видны, так?

Yaroslav
20.03.2018
14:32:58
а временные таблицы глобальные что-ли? можно их как-то локальными делать
Временные таблицы только локальные (в рамках сессии). А почему бы не сделать разные названия в каждой функции? И кстати, зачем вам вообще временные таблицы (без них почти всегда можно обойтись)?

Alexandr
20.03.2018
15:04:30
Временные таблицы только локальные (в рамках сессии). А почему бы не сделать разные названия в каждой функции? И кстати, зачем вам вообще временные таблицы (без них почти всегда можно обойтись)?
просто идеология во всех функциях одинаковая, только различаются основные таблицы, из которых производится выборка, поэтому хотел написать единообразно, чтобы остальным было понятнее

слушайте, в рамках сессии меня устраивает

а может и нет, надо почитать

всем спасибо за советы и информацию)

Google
Tim
20.03.2018
17:23:11
Ребят, такой вопрос, можно ли как-то проверить существование предикатом IN по набору строк?

Например, SELECT point,date FROM Inc WHERE point,date NOT IN( SELECT point,date FROM out)

возможно ли что-то типо этого реализовать?

точнее по набору столбцов. То есть выбрать такие сочетания столбцов point,date из одной таблицы, которых нет в другой

Mikhail
20.03.2018
17:36:40
неуверен, но... а что если проверить самостоятельно? я обычно с этого начинаю :)

не уверен что по нескольким столбам можно.. по одному точно работает =)

Tim
20.03.2018
17:37:24
не, в том, что они есть, я уверен, это нужно как-то вывести

да, с предикатом IN легко проверить по одному столбцу, но вот как по двум пока не хватает мозгов

Mikhail
20.03.2018
17:38:45
а если столбцы a+b сделать и сделать соответствующий индекс?

то получится проверка как бе по одному

Maxim
20.03.2018
17:39:04
select point,date from inc except select point,date from out мб можно так

можно еще left join и выбрать строки у которых в out null

Mikhail
20.03.2018
17:39:46
во.. уже 2 варианта

=)

Tim
20.03.2018
17:39:47
left join по какому или каким критериям?

Mikhail
20.03.2018
17:40:14
...что-то в последнее время народ растерял тягу к экспериментам

Maxim
20.03.2018
17:40:39
select point, date from inc left join out on (inc.point = out.point and inc.date = out.date) where out.point is null ну как-то так

Tim
20.03.2018
17:40:41
а вариант со склеиванием интересен да

Mikhail
20.03.2018
17:41:40
а сложные индексы - не?

Tim
20.03.2018
17:42:45
такое не учил еще ?

Google
Yaroslav
20.03.2018
19:05:02
Например, SELECT point,date FROM Inc WHERE point,date NOT IN( SELECT point,date FROM out)
Это (ну почти это) и так работает. SELECT ... FROM inc WHERE (point, date) NOT IN (SELECT point, date FROM out); А ещё можно "WHERE NOT EXISTS (SELECT 1 FROM out WHERE out.point = inc.point AND out.date = inc.date);"

Yaroslav
20.03.2018
19:07:39
ну когда NOT IN используешь для двух столбцов, он ругается
Может, у меня другой, вежливый PostgreSQL (в котором это работает)? ;)

Tim
20.03.2018
19:08:09
а, так я не сказал с самого начала, у меня MSSQL

Yaroslav
20.03.2018
19:10:43
а, так я не сказал с самого начала, у меня MSSQL
Ну, несущественное упущение, что тут скажешь. ;) Да, в MS SQL это не поддерживается —- используйте "NOT EXISTS". Кстати, есть канал по MS SQL https://t.me/sqlcom

Vladimir
20.03.2018
19:10:57
ну когда NOT IN используешь для двух столбцов, он ругается
select * from (select * from (values(1,2),(2,3)) as x(a,b)) as x where (a,b) not in (select c,d from (values(2,3),(3,4)) as y(c,d)); a | b ---+--- 1 | 2 (1 row)

Ну и «для собеседований»: select * from (select * from (values(1,2),(2,3)) as x(a,b)) as x where (a,b) not in (select c,d from (values(2,3), (null,4) -- <-- look here ) as y(c,d)); a | b ---+--- 1 | 2 (1 row)

и коронное select * from (select * from (values(1,2),(2,3)) as x(a,b)) as x where (a,b) not in (select c,d from (values(2,3), (null,null) -- <-- look here ) as y(c,d)); a | b ---+--- (0 rows)

anton
20.03.2018
19:26:32
Коллеги, добрый вечер. Кто-нибудь знает, можно ли вытащить позиции найденных лексем в тсвекторе?

Evgeniy
20.03.2018
22:32:30
Илья, я недоволен вашим поведением и не одобряю его

выучите уже уважительный подход к людям и выработайте терпение

Андрей
20.03.2018
22:36:58

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