@pgsql

Страница 886 из 1062
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 = недалание ничего и как теперь быть?

Человек
15.07.2018
15:25:36
А вы бы объяснили, что вам нужно сделать, а то ничего не понятно...
Я же написал ввыше что мне нужно сделать INSERT запроса 1 раз и далее просто обновлять строку

Anton [Mgn, az09@osm]
15.07.2018
15:34:15
Можно поподробнее? Ничего если честно не понял)
ну это скорее всего будет plpgsql внутри которого будет несколько селектов, ифов и инсертов я вобщем-то тоже как и Ярослав мало что понял из объяснения)

Человек
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 возникла проблема

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
выяснилось что скорее всего модуль просиан дважды

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

Anton [Mgn, az09@osm]
15.07.2018
15:43:10
Вкурсе. Я сейчас и думаю может как-то удалять данные..
для начала какую задачу решаете хоть бы рассказали

Человек
15.07.2018
15:44:03
для начала какую задачу решаете хоть бы рассказали
Колонка ботов, каждый бот обновляет свою строку, бот не может создать более 1 строки, он создает 1 строку и всё время обновляет если в этом есть нужда

Anton [Mgn, az09@osm]
15.07.2018
15:45:34
Колонка ботов, каждый бот обновляет свою строку, бот не может создать более 1 строки, он создает 1 строку и всё время обновляет если в этом есть нужда
таким образом экономится место или зачем ограничиваться одной единственной записью? эдак и субд не нужна, заводить текстовый файлик для кажджого бота и дело в шляпе)

этап появления очередного бота видимо надо вынести в отдельную логику

Человек
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, сколько помощника по разработке бизнес-логики на стороне СУБД. Какие функции вы хотели бы видеть в подобном инструменте? Спасибо.

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

Человек
15.07.2018
16:03:48
а почему вдруг windows?
а че бы и нет?)

Человек
15.07.2018
16:08:07
Проверяй на существование записи. Нет - инсерт. Есть - апдейт.
Я не могу проверить ибо для проверки мне сначала нужно получить id, чтоб получить id = Returning id от INSERT запроса, тоесть INSERT запрос всегда будет идти первым.

Google
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
а чего вам не хватило в DataGrip?
Не могу сказать, что мне что-то не хватило. Могу сказать, что я могу делать свои инструменты ))

а чего вам не хватило в DataGrip?
Собственно, меня больше интересует, может быть чего-либо Вам не хватает в том же DataGrip? Можно было бы это учесть.

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

не нравится коммерческостью и закрытостью исходников

Dmitry
15.07.2018
16:24:51
мне очень нравится в DataGrip форматтер и поддержка Linux
А вот, допустим, у Вас в БД есть виды: v1, v2, где v2 зависит от v1. И нужно добавить в v1 ещё один столбец. Как это будет выглядеть в DataGrip? Придётся удалять v2, потом v1, потом опять создавать v1, потом создавать v2?

Darafei
15.07.2018
16:26:51
видимо, да

потому все скрипты пишутся так, чтобы быть reentrant

Dmitry
15.07.2018
16:29:26
не нравится коммерческостью и закрытостью исходников
Ну JetBrains этим кормится. Я считаю, что бесплатный софт - это не всегда правильно, но это отдельная большая тема.

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

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

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

Dmitry
15.07.2018
16:35:16
появление еще одного поля в 1 никак не поломает 2 же
Нельзя добавить поле в v1, предварительно не удалив его. Но удалить его нельзя без удаления v2.

Google
Anton [Mgn, az09@osm]
15.07.2018
16:37:30
Нельзя добавить поле в v1, предварительно не удалив его. Но удалить его нельзя без удаления v2.
/me поставил себе галочку не делать так в пг но например в mssql проблем с этим нет вроде бы (я не настоящий сварщик, понимать надо))

а если в таблице я структуру меняю то и все вьюшки на её основе придется пересоздавать?

это же как-то... противоестесственно

Darafei
15.07.2018
16:38:56
Я занимаюсь коммерческим ПО.
ну, можно найти заказчика на фичу и сделать её, попросив оплатить. всяко лучше, чем ещё одна ide.

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.

Admin
ERROR: S client not available

Anton [Mgn, az09@osm]
15.07.2018
16:44:39
Это не ко мне.
да это вообще всё не про IDE, согласен с Дорофеем

Dmitry
15.07.2018
16:46:10
да это вообще всё не про IDE, согласен с Дорофеем
Почему? Не все хотят быть хакерами ядра Постгреса просто потому, чтобы быть идеалистами, при всём уважении. Реальность сложнее и намного.

Человек
15.07.2018
17:01:29
так откажись от auto increment и привязывай natural key
так мне вручную нужно будет указывать id или БД автоматов будет сдвигать все колоны на +1 ?

Nick
15.07.2018
17:02:49
так мне вручную нужно будет указывать id или БД автоматов будет сдвигать все колоны на +1 ?
Судя по тому что вы не стали отвечать на мои вопросы вчера, вы сами не понимаете чего хотите

Nick
15.07.2018
17:04:46
Я ничего не отвечал, я только спрашивал. Зачемвам конфликт на суррогатном поле?

В свете новой информации которую вы дали, кто должен обновлять запись в таблице: бот или мастер который его запустил?

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 в вашей таблице? Какую информацию он в себе несёт?

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

Человек
15.07.2018
17:21:42
Порядковый номер чего?
Порядковые номер строки 'id serial not null'

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
Как отличить одного робота от другого?

Может ли у одного робота быть больше чем ода строка в таблице?

Это прекрасно что вы все решили и все понимаете, но если вы хотите чтобы вам помогли, нужно помочь нам понять вашу проблему.

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