@pgsql

Страница 273 из 1062
Ilya
17.03.2017
15:48:01
Привет, сообщество, как установить дебаг режим для pgadmin3?

Pavel
17.03.2017
16:04:58


Петр
17.03.2017
16:05:49
контекстного меню нет чтоли? библиотеки подключил в shared_preload_libraries?

Mars
17.03.2017
20:05:16
Добрый вечер. А возможно ли написать запрос на вставку так чтоб при конфликте в уникальном индексе делалось обновление старой строки(чтоб исключить конфликт) и новая строка вставлялась?

Google
Fedor
17.03.2017
20:07:46
Что то типа того ? INSERT INTO table (id, name, age) VALUES(1, "A", 19) ON DUPLICATE KEY UPDATE name="A", age=19 ?

Алексей
17.03.2017
20:08:05
а на что менять старую строку, если хотите еще и новую вставить?

Fedor
17.03.2017
20:11:05
BEGIN INSERT INTO db(a,b) VALUES (key, data); EXCEPTION WHEN unique_violation THEN — смотрим, улыбаемся ? Делаем что хотим END;

Mars
17.03.2017
20:11:24
Я пока думаю в сторону WITH c AS () INSERT .... Это приемлимый вариант вообще?

Алексей
17.03.2017
20:13:27
не вижу, где тут вставить UPDATE и второй INSERT. А можно двумя запросами?

Алексей
17.03.2017
20:15:14
первый инсерт отвалится по конфликту, в этом случае хочется исправить старую строку и повторить инсерт - так я увидел

Mars
17.03.2017
20:16:22
А, понял. Это зависит от варианта реализации. Но про превентивный метод что думаете WITH .. AS () INSERT ...?

Алексей
17.03.2017
20:18:23
конструкция хороша вообще, но как в нее вкрутить желаемые update + insert, не представляю

если ключ, по которому возможен конфликт, один, я бы сначала сделал update по этому ключу, а потом insert.

Darafei
17.03.2017
20:20:48
insert from update returning union all insert returning limit 1

Google
Mars
17.03.2017
20:22:42
insert from update returning union all insert returning limit 1
Спасибо, но не понял как работает, пойду почитаю )

Darafei
17.03.2017
20:23:03
я вообще не уверен, что работает и синтаксически допустимо

Mars
17.03.2017
20:23:12
Nice!

Danil
17.03.2017
20:23:36
если через with вроде пролетит обычный инсерт когда нет конфликта

Alex
17.03.2017
20:24:17
Имхо не отработает

Mars
17.03.2017
20:24:23
Ага, пока в эту строну склоняюсь, меньше текста, и все очевидно

Alex
17.03.2017
20:25:01
Нет под рукой psql не могу сказать, чисто на мой взгляд

Mars
17.03.2017
20:25:30
А сейчас проверю и скажу

Но по идее все должно отработать на отлично, минуту

Danil
17.03.2017
20:26:17
а, не, надо инсерт внутрь а апдейт снаружи а не наоборот

Darafei
17.03.2017
20:28:50
у меня идея была, что если заапдейтилось, то надо вставить, а если не заапдейтилось, то вставить

потому insert from update returning для если заапдейтилось - вставить

Alex
17.03.2017
20:29:41
Через with пройдет

Darafei
17.03.2017
20:29:55
и union all insert returning limit 1, чтобы если не вставилось и не заапдейтилось, то вставилось

Danil
17.03.2017
20:32:42
короче как-то так может и отработает, под рукой нет ничего проверить WITH upd_rows AS ( update <table> WHERE <condition> RETURNING * ) INSERT INTO <table> VALUES (...) вроде нормуль, если все-таки дойдет до инсерта, в чем я для случая отсутствия конфликта не уверен.

Mars
17.03.2017
20:36:24
Если разбить на два отдельных запроса, то работает. Может быть индекс не обновлется немедленно после выражения в WITH. Печаль

Конкуретных запросов не ожидается, пока сделал без WITH, через ;, два отдельных запроса. Но тема интересная.

Danil
17.03.2017
20:49:45
WITH очень странно работает. если апдейтишь на другой уникальный ключ и потом вставляешь третий уникальный ключ - все работает отлично. а если апдейтишь на другой уникальный ключ, а потом вставляешь изначальный - нифига, как будто и не было апдейта внутри WITH.

Google
Mars
17.03.2017
20:50:19
Именно!

Алексей
17.03.2017
20:50:21
а его и не было. Это же один запрос

Mars
17.03.2017
20:50:51
Запрос с подзапросом

Alex
17.03.2017
20:51:16
Одна транзакция

Один скоуп

Danil
17.03.2017
20:52:21
то что в инсерте можно использовать результат update из WITH сильно сбивает с толку

в этом примере просто не нужно, но вообще можно было какой-нить INSERT INTO <table> select * from upd_rows написать

Max
17.03.2017
21:27:04


Pavel
18.03.2017
19:31:46
Сразу 2 спам бота, кто там дежурный админ?

Alex
18.03.2017
19:34:27
подскажите пожалуйста, как называется магическая функция, которая дизаблит индексы? гугл предлагает дропать в транзакции

вот что pgconf-то творит. люди-то потекли:)

Fike
18.03.2017
19:44:14
Каждый раз радуюсь, как ребенок, когда вижу настолько пробитое дно

Alex
18.03.2017
19:48:39
Vadim спасибо)

Vadim
18.03.2017
19:48:49
не за что)

Admin
ERROR: S client not available

Egor
18.03.2017
19:50:39
REVOKE ALL PRIVILEGES ON чатик FROM «Раздают Деньги» DROP «Раздают Деньги»

хм, не сработало…

Михаил
18.03.2017
19:55:53
точку с запятой забыл, поэтому

Google
Алексей
18.03.2017
19:57:49
kill -9

Dmitry
18.03.2017
19:58:29
kill -9 $$

Айтуар
18.03.2017
20:15:03
killall

Andrey
18.03.2017
20:44:05
drop database поможет!

Pavel
18.03.2017
20:47:40
Сразу 2 спам бота, кто там дежурный админ?
Вызывайте с упоминанием. Чтобы алерт сработал

Pavel
18.03.2017
20:48:17
Просто вдруг человек спит, а его хайлайтят. Меня так будили пару раз в 4 утра и это очень противно.

Pavel
18.03.2017
20:48:43
Да, ночью не стоит ?

Хотя я обычно звук выключаю. Не раз страдал

Andrey
18.03.2017
20:49:18
Предлагаю таки определить SLA :)

Pavel
18.03.2017
20:50:25
Предлагаю таки определить SLA :)
Монархия и самодержавие надежнее ?

Я бы предложил Дорофея добавить в админы.

Он тут перманентно

Darafei
18.03.2017
20:52:53
Я не перманентно, я только местную симку купил :)

Andrey
18.03.2017
20:54:03
Вы предпочитаете авангардизм или сюрреализм? — Постмодернизм. Я даже творю в нем. — Вы художник? — Нет. Модератор!

Darafei
18.03.2017
20:56:16
Pavel
18.03.2017
20:57:44
если партия попросит... :)
Принято. Завтра пойду искать где это делается

Интерфейс тот еще в этих делах

Darafei
18.03.2017
20:59:35
Теле2, по паспорту

Pavel
18.03.2017
21:00:17
Ааа, да-да. Уже начали по загран. Точно. До этого была та еще проблема

Google
Darafei
18.03.2017
21:01:44
С 2010 покупал по белорусскому (у нас один общий, международного образца) без проблем

Pavel
18.03.2017
21:55:24
С 2010 покупал по белорусскому (у нас один общий, международного образца) без проблем
Ранее этого продавец крутил мой паспорт загран и искал прописку. В итоге не продал симку. И таких было двое. Потом мне купил друг на свой паспорт

Darafei
18.03.2017
22:20:30
У меня в "загране" есть "прописка" :D

Pavel
18.03.2017
22:38:11
«Офигеть» кричали гости ?

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