
Darafei
15.07.2018
10:10:08
что именно ты сделал? на скриншоте ты только ключ шифрования импортируешь

Maksim
15.07.2018
10:11:06

Darafei
15.07.2018
10:12:09
как и последствий его создания, ведь apt-get им не воспользовался

Maksim
15.07.2018
10:13:17
Хммм, видимо я что то упустил, хотя по той же ссылке все и делал

Google

Maksim
15.07.2018
10:13:28
А на 18 ставится без проблем и репо дополнительных?

Человек
15.07.2018
11:19:00
В этом то и проблема нужно указать ЯВНЫЙ id, а у меня id неявный, неизвестный мне и чтоб получить этот id мне нужно сначала сделать с INSERT запроса RETURNING id чтоб получить id и потом мне этот id нужно указать в ON CONFLIFCT (id) DO NOTHING, а это будет идти уже другой INSERT и получается так что у меян всегда будет +1 к добавлению ибо 1 INSERT = получение id, второй INSERT = недалание ничего и как теперь быть?

Anton [Mgn, az09@osm]
15.07.2018
11:25:54

Yaroslav
15.07.2018
11:29:52

Человек
15.07.2018
15:25:36

Anton [Mgn, az09@osm]
15.07.2018
15:34:15


Человек
15.07.2018
15:40:05
ну это скорее всего будет plpgsql внутри которого будет несколько селектов, ифов и инсертов
я вобщем-то тоже как и Ярослав мало что понял из объяснения)
Я задал вот такой вопрос: Люди добрые, помогитеее! Как выполнить запрос INSERT 1 раз и больше никогда не выполнять? (Может быть полагаясь на ID). Если объяснить ещё конкретнее то мне нужно записать данные 1 РАЗ с одного ПК и последующие разы просто обновлять данные методом UPDATE, но чтоб перезаписать конкретную строку нужно получить id, а id можно получить ТОЛЬКО с Returning id с запроса INSERT насколько я знаю, и тут же чтоб данные не записывались второй раз мне нужно мне нужно сделать ON CONFLICT id DO NOTHING, а id можно получит опять же такие только с REturning ID Insert запроса, получаеться так что у меня будет всегда 1 INSERT и 1 UPDATE запрос, но при этом у меня будет всегда записываться +1 строка.

Fumufu86
15.07.2018
15:41:09
Привет всем

Человек
15.07.2018
15:41:30
Я не знаю как можно впихнуть всё в 1 INSERT запрос.. Тоесть должно быть что-то такое INSERT INTO bots(tatata, tatata1) VALUES ('rand', 'rand') RETURNING id ON CONFLICT id DO NOTHING
Но так не получиться

Fumufu86
15.07.2018
15:41:38
при миграции на postgres возникла проблема

Anton [Mgn, az09@osm]
15.07.2018
15:41:38

Google

Fumufu86
15.07.2018
15:41:50
PHP Warning: Module 'intl' already loaded in Unknown on line 0

Человек
15.07.2018
15:42:09

Fumufu86
15.07.2018
15:42:10
выяснилось что скорее всего модуль просиан дважды

Anton [Mgn, az09@osm]
15.07.2018
15:42:20

Fumufu86
15.07.2018
15:42:30
подскажите как лечить пожалуйста

Anton [Mgn, az09@osm]
15.07.2018
15:43:10

Человек
15.07.2018
15:44:03

Anton [Mgn, az09@osm]
15.07.2018
15:45:34
этап появления очередного бота видимо надо вынести в отдельную логику

Человек
15.07.2018
15:54:04
тут не все так просто как кажеться))

Anton [Mgn, az09@osm]
15.07.2018
15:55:34
т.е. это логирование активности неких процессов. и что же в этом непростого? ну кроме страстного желания самому себе сунуть грабли в колесо %)

Человек
15.07.2018
15:56:53

Dmitry
15.07.2018
16:00:57
Коллеги. Есть идея разработать коммерческую IDE для PostgreSQL под Windows. На первоначальном этапе не столько IDE, сколько помощника по разработке бизнес-логики на стороне СУБД. Какие функции вы хотели бы видеть в подобном инструменте? Спасибо.

Darafei
15.07.2018
16:03:22

Yukari
15.07.2018
16:03:43
Проверяй на существование записи. Нет - инсерт. Есть - апдейт.

Человек
15.07.2018
16:03:48

Anton [Mgn, az09@osm]
15.07.2018
16:07:27

Человек
15.07.2018
16:08:07

Google

Fike
15.07.2018
16:12:27

Dmitry
15.07.2018
16:14:43
а почему вдруг windows?
Я планирую 2 интерфейса для инструмента в комплекте - консольный и гуёвый. Консольный нет проблем сделать кроссплатформенным. С GUI всё сложнее, поэтому ориентир - самая распространённая на десктопе ОС.

Darafei
15.07.2018
16:15:07
а чего вам не хватило в DataGrip?

Dmitry
15.07.2018
16:16:10

Darafei
15.07.2018
16:19:02
мне очень нравится в DataGrip форматтер и поддержка Linux
не нравится коммерческостью и закрытостью исходников

Dmitry
15.07.2018
16:24:51

Darafei
15.07.2018
16:26:51
видимо, да
потому все скрипты пишутся так, чтобы быть reentrant

Dmitry
15.07.2018
16:29:26

Darafei
15.07.2018
16:31:11
у меня никогда не было таких вьюх, поэтому я не могу ответить на этот вопрос

Anton [Mgn, az09@osm]
15.07.2018
16:32:33
появление еще одного поля в 1 никак не поломает 2 же

Darafei
15.07.2018
16:33:53
вообще, если это проблема и вы знаете си, то лучше написать патч на постгрес, чтобы был alter view

Anton [Mgn, az09@osm]
15.07.2018
16:34:45

Darafei
15.07.2018
16:34:46
чем gui, который будет костылить эту проблему

Dmitry
15.07.2018
16:35:16

Google

Anton [Mgn, az09@osm]
15.07.2018
16:37:30
а если в таблице я структуру меняю то и все вьюшки на её основе придется пересоздавать?
это же как-то... противоестесственно

Darafei
15.07.2018
16:38:56

Dmitry
15.07.2018
16:40:57
а если в таблице я структуру меняю то и все вьюшки на её основе придется пересоздавать?
dmitigr=> create table foo(id integer, data text);
CREATE TABLE
dmitigr=> create view foo_view as select * from foo;
CREATE VIEW
dmitigr=> alter table foo drop data;
ОШИБКА: 2BP01: удалить объект таблица foo столбец data нельзя, так как от него зависят другие объекты
ПОДРОБНОСТИ: представление foo_view зависит от объекта таблица foo столбец data
ПОДСКАЗКА: Для удаления зависимых объектов используйте DROP ... CASCADE.

Anton [Mgn, az09@osm]
15.07.2018
16:41:28
ужс
ну и не * во вьюхе применять. это тоже мина замедленного действия какая-то

Admin
ERROR: S client not available

Dmitry
15.07.2018
16:43:11

Anton [Mgn, az09@osm]
15.07.2018
16:44:39

Dmitry
15.07.2018
16:46:10

Человек
15.07.2018
17:01:29

Nick
15.07.2018
17:02:49

Человек
15.07.2018
17:04:02

Nick
15.07.2018
17:04:46
Я ничего не отвечал, я только спрашивал.
Зачемвам конфликт на суррогатном поле?
В свете новой информации которую вы дали, кто должен обновлять запись в таблице: бот или мастер который его запустил?

Человек
15.07.2018
17:07:08

Google

Nick
15.07.2018
17:07:37
Почему бот не знает идентификатор своей записи?
Мастер делает вставку, получает идентификатор, запускает бота передав ему идентификатор. Бот только обновляет. Или я неправильно понял задачу?

Человек
15.07.2018
17:12:27

Nick
15.07.2018
17:13:36
Ну пусть вставляет запись при инициализации и обновляет в процессе работы. Не вижу проблем.

Человек
15.07.2018
17:13:36
Тут полная автономность можно сказать

Nick
15.07.2018
17:15:01
В любом случае ваша модель сомнительна. Конфликт на суррогатном генерируемом ключе пахнет как минимум странно. Дайте каждому боту уникальный идентификатор и конфликтуйте на нем.

Человек
15.07.2018
17:17:44
Так а как он вставит запись не зная текущего id??? Или я что-то не понял? У АБСОЛЮТНО ботов всех будет структура INSERT RETURNING id; Уникальный id это что-то типа рандомной генерации ? Это будет как минимум не логично тк у меня должна идти целостная БД 1,2,3,4,5...120,121, а не рандомно поставленные цифарки.
Или я опять же не понял вашу мысль, и я не знаю что такое "Конфликт на суррогатном генерируемом ключе"
Хотя че я парюсь если можно создать valid.txt и просто проверять его на валидность если есть = запись не нужна, если нету = запись нужна

Nick
15.07.2018
17:19:59
Что такое id в вашей таблице? Какую информацию он в себе несёт?

Человек
15.07.2018
17:20:18

Nick
15.07.2018
17:20:35
Порядковый номер чего?

Человек
15.07.2018
17:21:42

Nick
15.07.2018
17:22:03
Что такое строка?

Человек
15.07.2018
17:23:45

Nick
15.07.2018
17:24:19
Я думаю вы сами над собой издеваетесь. Разберитесь что вы храните и зачем

Человек
15.07.2018
17:25:01
Что как и зачем хранить я тоже для себя давным давно понял, не от балды же я это сейчас пишу

Nick
15.07.2018
17:25:52
Как отличить одного робота от другого?
Может ли у одного робота быть больше чем ода строка в таблице?
Это прекрасно что вы все решили и все понимаете, но если вы хотите чтобы вам помогли, нужно помочь нам понять вашу проблему.