172 похожих чатов

Всем привет! Коллеги, такая история: заливаю в БД, созданную в

postgres, данные. Данные нужны для запуска приложения на сервере. При заливке данных в БД виден блок ошибок по функции ON SELECT. Лог установки и код, на который ссылается - в .txt прикрепил.

Прошу подсказать, кто чем может.
В sql знаний пока 0.
Еще добавлю, что postgres установил 16. Приложение использует то ли 8, то ли 9. Быть может дело в несовместимости версий?

39 ответов

41 просмотр

В настоящее время правила ON SELECT должны быть безусловными, с характеристикой INSTEAD (вместо исходного), и их действия должны состоять из единственной команды SELECT. Таким образом, правило ON SELECT по сути превращает таблицу в представление, чьим видимым содержимым являются строки, возвращаемые командой SELECT, заданной в правиле, а не данные, хранящиеся в таблице (если они есть). Вообще же для этой цели лучшим стилем считается пользоваться командой CREATE VIEW, а не создавать реальную таблицу и определять затем правило ON SELECT для неё.

Леново- Автор вопроса
Sergey Gr
В настоящее время правила ON SELECT должны быть бе...

Огромное спасибо вам за развернутый ответ. Подскажите тогда, как лучше поступить, чтобы исправить, еще учитываю, что знаний 0. Может что-то точечно изучить, чтобы поправить. Или может вы имели ввиду тупо ON SELECT на CREATE VIEW заменить и будет работать?

Леново- Автор вопроса
id0
лучше всего не использовать руль

Подскажите, как поправить код

Леново
Огромное спасибо вам за развернутый ответ. Подскаж...

Я не уверен, но похоже что в старых версиях Postgres это такой механизм создания view. Соответственно вы можете заменить CREATE RULE "_RETURN" AS ON SELECT TO productioncounting_trackingoperationproductincomponenthelper DO INSTEAD SELECT trackingoperationproductincomponent.id на CREATE VIEW productioncounting_trackingoperationproductincomponenthelper SELECT trackingoperationproductincomponent.id

Леново- Автор вопроса
Sergey Gr
Я не уверен, но похоже что в старых версиях Postgr...

а может быть тогда стоит поставить старую версию постгрес? На гитхабе в инструкции к проге автор пользовался 8 или 9-й постгрес. Про совместимость версий есть инфа?)

Леново
а может быть тогда стоит поставить старую версию п...

Что касается нумерации - до 9 включительно мажорные релизы разделялись первым числом после точки. Затем, начиная с 10 мажорные релизы стали целочисленной частью номера версии. Т.е. между 9.0 и 9.6 такая же большая разница как например между 10.12 и 16.1 Что касается обратной совместимости - проблемы есть, но скорее редкие. Впрочем мало кто обновляется на 10-15 мажорных релизов сразу как вы.

Леново- Автор вопроса
Sergey Gr
Что касается нумерации - до 9 включительно мажорны...

Понял Из вашего ответа сделаю вывод, что стоит таки поставить старую версию

А "данные"-то Вы эти откуда взяли? Если есть доступ к базе-источнику, то лучше бы попробовать снова — снять дамп нормально и загрузить его в v16. А если такой возможности нет — показанный код придётся переписывать (на CREATE VIEW ... AS SELECT ...), потому что ON SELECT rules на таблицах в PostgreSQL, начиная с v16 (наконец-то!) больше нет.

А снять дамп бинарниками от новой версии поможет?

Леново- Автор вопроса
Yaroslav Schekin
А "данные"-то Вы эти откуда взяли? Если есть досту...

С репозитория на гитхаб. А базы с рабочей системой и на 16-й версии нет( Можно и переписать. Вполне себе, других ошибок при загрузке не увидел, но не факт, что других ошибок нет. Просто быть может так, что приложение не поймет замененные функции.

Леново
С репозитория на гитхаб. А базы с рабочей системой...

> С репозитория на гитхаб. Да, это хуже. Тогда вариант: > Можно и переписать. > но не факт, что других ошибок нет. Да, но с этих можно начать, по крайней мере. > приложение не поймет замененные функции. Хмм... какие "функции"? В том, что Вы показали, ошибки только про rules, вроде как.

Леново- Автор вопроса
Yaroslav Schekin
> С репозитория на гитхаб. Да, это хуже. Тогда ва...

респект за боевой Markdown) > ... какие "функции"?... ну вот и говорю, что знаний нет по sql. Но видел проблему так, что приложение что-то будет искать в этой базе по каким-то ключевым словам, которые я вот заменю в файлике sql. Я понимаю, что файлик - это команды, которые строит архитектуру базы. Но вот будет ли архитектура, которая получалась через ON SELECT в 9.5 соответствовать тому, ято я сделаю через CREATE VIEW на 16-й

Леново
респект за боевой Markdown) > ... какие "функции"...

Да, будет. То, что есть в этом файле — это такой [очень] старый способ создания view, по сути. Например: https://dbfiddle.uk/8vFyUVDf

Леново- Автор вопроса
Yaroslav Schekin
Да, будет. То, что есть в этом файле — это такой [...

Понял. Убедили, отредактирую код. А поставить второй постгрес на дебиан параллельно адекватная идея?) Если 16 тип остановлю, а 9.5 накачу. Не будет ли конфликтов? Или надо через purge удалить обязательно? Или кроме purge еще что-то надо очистить дополнительно?)

Да, можно поставить. Если брать пакеты из PGDG (или его архива, см. https://apt-archive.postgresql.org/ ) — конфликтов не будет (они для этого и предназначены, собственно).

Леново
Понял. Убедили, отредактирую код. А поставить втор...

Вполне нормально сосуществуют на разных портах. Скорее всего первый поставленый на порт 5432, а следующий поставленый будет использовать порт 5433. Но боюсь 9.5 окажется недостаточно старым.

Леново- Автор вопроса
Sergey Gr
Вполне нормально сосуществуют на разных портах. Ск...

Для того чтоб без ошибок загрузить этот дамп базы с github

Леново- Автор вопроса
Yaroslav Schekin
Да, можно поставить. Если брать пакеты из PGDG (ил...

А подскажете, как загружаются старые версии? Сижу на Debian 12, хочу Postgres 9.5.1. В sources.list добавил репозиторий этот, но при apt update выдает какую-то ошибку gpg и нет файла release. Пакет для установки не находит(

Леново
А подскажете, как загружаются старые версии? Сижу ...

> хочу Postgres 9.5.1. Не хотите. ;) Вам нужен последний minor v9.5, серьёзно. > А подскажете, как загружаются старые версии? Там же где-то рядом была инструкция (и у меня всё по ней работало, кажется), нет?

Леново
А подскажете, как загружаются старые версии? Сижу ...

Если ругается на apt update значит что-то напутали с добавлением репозитория

Все черным по белому написано Ищите другую репу

При добавлении pgdg репозитория соответствующий крипографический ключ добавляли?

Леново- Автор вопроса
Yaroslav Schekin
> хочу Postgres 9.5.1. Не хотите. ;) Вам нужен по...

Хорошо, 9.5, спасибо) Ну вот, дистрибутивы и взял с https://apt-archive.postgresql.org/ вставил, но нет(

Леново- Автор вопроса
central hardware
Все черным по белому написано Ищите другую репу

переведите, пожалуйста, что имеете ввиду

Леново- Автор вопроса
Леново
нет, впервые слышу про такой ключ(

Есть у меня гипотеза что подойдёт ключ от обычного (не архивного) репозитария. Сможете самостоятельно попробовать? Вот как здесь описано https://www.postgresql.org/download/linux/debian/

Леново- Автор вопроса
Sergey Gr
Есть у меня гипотеза что подойдёт ключ от обычного...

Благодарю, сбросил себе пока в избранное. Завтра попробую еще

Он считает что уже стоит 9.5 и рекомендует поставить 16. А дальше говорит что 16 встанет в сторонке от 9.5 и что нужно сделать чтоб обновить 9.5 до 16

Sergey Gr
Он считает что уже стоит 9.5 и рекомендует постави...

Кстати, возможно придётся промежуточную версию (например, 10) ставить, т.к. в одном из предыдущих релизов, вроде, удаляли поддержку обновления со старых версий. Но подробностей не помню, так что придётся почитать release notes.

Леново- Автор вопроса
Sergey Gr
Он считает что уже стоит 9.5 и рекомендует постави...

> встанет в сторонке ну, если я ее оставлю? Спрашиваю во избежание конфликтов в дальнейшем

Леново
> встанет в сторонке ну, если я ее оставлю? Спраш...

Да, вполне нормально. Получится два сервиса в systemd. Что-то в духе postgresql@9.5-main и postgresql@16-main

Похожие вопросы

Обсуждают сегодня

а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
62
Всем привет! Подскажите. Я написал приложение на Delphi 10.2 Tokyo под Windows 10. И передо мной стал вопрос о том чтобы сделать это приложение кроссплатформенным (под Linux и...
Дмитрий Завгородний
24
Привет всем. Подскажите где можно посмотреть, какая версия электрон, поддерживает версии windows? Некий changelog. Мне бы желательно, поддержку 7,8,10... latest, как понимаю и...
Anonym Squad
21
Портфолио: Зовут меня Александр, мне 36 лет. Город Пушкино. Общий рабочий стаж: ~14 лет Уровень квалификации: Senior Full-stack developer Где прочесть мой код? https://github....
Magic
10
а где есть mysql cloud кроме яндекс-клауд?
Oleg Nosov
13
Есть ли смысл устраиваться на 1с ? Даст это плюс в дальнейшем трудоустройстве на php? Просто у меня в городе вакансий на пхп нету. Или лучше удаленно искать. Опыта работы нету...
Azamat
13
hi im a cs student. i need some advice from people who have enough experience in Embedded Software. I need to know whether this profession is suitable for me. I have watched s...
Sahand 🏔️
8
Не ну фпц - это уже просто троллинг какой-то. Элементарный код нельзя собрать. ЧЯДНТ? program Project1; {$mode delphi} uses SysUtils, Classes, Generics.Collections; var...
Peter
3
Кстати а покупал кто-нибудь ЭЦП для подписи кода? А то у меня на некоторых компах и ОС иногда SmartScreen винды программу за вирус принимал. Если купить такую ЭЦП и подписыват...
Дмитрий Завгородний
15
А кто-нибудь запихивал сборку перловых модулей/образов с perl приложениями в окружения без интернета (в специализированном CI/CD)? У меня сейчас есть ряд cpanfile, которые н...
Andrey Smirnov / 𝓪𝓵𝓵𝓽𝓮𝓻 /
14
Карта сайта