УкраїнськаEnglishmRussian
Вхід/Новий
У темі немає нових постів

[BugFixed] postgres ошибка синтаксиса SELECT 1 FROM "Trs"


Автор Повідомлення
Повідомлення створено: 04. 04. 2016 [11:37]
livello
Сергей Конюхов
Автор теми
Зареєстрован(а) с: 20.04.2015
Повідомлення: 11
2016-04-04 11:21:08 MSK [12629-1] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "s") (символ 49)
2016-04-04 11:21:08 MSK [12629-2] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Message\'s length more 255*255'
2016-04-04 11:21:08 MSK [12629-3] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "s") (символ 44)
2016-04-04 11:21:08 MSK [12629-4] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Message\'s length more 255*255'
2016-04-04 11:21:08 MSK [12629-5] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 61)
2016-04-04 11:21:08 MSK [12629-6] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Output transport \'%1\' error.'
2016-04-04 11:21:08 MSK [12629-7] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 56)
2016-04-04 11:21:08 MSK [12629-8] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Output transport \'%1\' error.'
2016-04-04 11:21:08 MSK [12629-9] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 61)
2016-04-04 11:21:08 MSK [12629-10] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Output transport \'%1\' stoped.'
2016-04-04 11:21:08 MSK [12629-11] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 56)
2016-04-04 11:21:08 MSK [12629-12] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Output transport \'%1\' stoped.'
2016-04-04 11:21:08 MSK [12629-13] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 104)
2016-04-04 11:21:08 MSK [12629-14] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Connection terminated by not acknowledge transmited package \'%1\' by timeout t1 (%2).'
2016-04-04 11:21:08 MSK [12629-15] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 99)
2016-04-04 11:21:08 MSK [12629-16] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Connection terminated by not acknowledge transmited package \'%1\' by timeout t1 (%2).'
2016-04-04 11:21:08 MSK [12629-17] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 68)
2016-04-04 11:21:08 MSK [12629-18] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Serial output transport \'%1\' error.'
2016-04-04 11:21:08 MSK [12629-19] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 63)
2016-04-04 11:21:08 MSK [12629-20] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Serial output transport \'%1\' error.'
2016-04-04 11:21:08 MSK [12629-21] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 54)
2016-04-04 11:21:08 MSK [12629-22] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Transport \'%1\' error.'
2016-04-04 11:21:08 MSK [12629-23] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "\") (символ 49)
2016-04-04 11:21:08 MSK [12629-24] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "Trs" WHERE "base"='Transport \'%1\' error.'
2016-04-04 11:21:13 MSK [12629-25] postgres@openscada ОШИБКА: значение поля типа date/time вне диапазона: "1459758060" (символ 61)
2016-04-04 11:21:13 MSK [12629-26] postgres@openscada ПОДСКАЗКА: Возможно, вам нужно изменить настройку "datestyle".
2016-04-04 11:21:13 MSK [12629-27] postgres@openscada ОПЕРАТОР: SELECT 1 FROM "DBAVl_Arch_psql_value_AT101_1_Th" WHERE "TM"='1459758060' AND "TMU"='0'
2016-04-04 11:21:13 MSK [12629-28] postgres@openscada ОШИБКА: текущая транзакция прервана, команды до конца блока транзакции игнорируются


Теущая сборка 0.9 для Ubuntu 14.04.

Делаю первые шаги с openscada. Пытался перенести все объекты в одну БД postgresql.

Приложил копию базы данных и папки с конфигурацией тестового проекта для воспроизведения проблемы.
https://ri48.ru/owncloud/index.php/s/IvKh23mKkz1aq3q

[Повідомлення редагувалось 1 раз(ів), останній раз 04.04.2016 в 11:40.]
Повідомлення створено: 04. 04. 2016 [12:35]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"livello" wrote:

2016-04-04 11:21:08 MSK [12629-1] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "s") (символ 49)
2016-04-04 11:21:08 MSK [12629-2] postgres@openscada ОПЕРАТОР: SELECT "base" FROM "Trs" WHERE "base"='Message\'s length more 255*255'
2016-04-04 11:21:08 MSK [12629-3] postgres@openscada ОШИБКА: ошибка синтаксиса (примерное положение: "s") (символ 44)
...

Исправлено!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 05. 04. 2016 [11:44]
livello
Сергей Конюхов
Автор теми
Зареєстрован(а) с: 20.04.2015
Повідомлення: 11
"roman" wrote:

Исправлено!

В каком билде?
openscada 0.9+r2348 проблема актуальна.
postgresql 9.4.7
Повідомлення створено: 05. 04. 2016 [12:30]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"livello" wrote:

В каком билде?
openscada 0.9+r2348 проблема актуальна.
postgresql 9.4.7

В этом, и у меня нет такой проблемы!

Learn, learn and learn better than work, work and work.
Повідомлення створено: 06. 04. 2016 [01:32]
livello
Сергей Конюхов
Автор теми
Зареєстрован(а) с: 20.04.2015
Повідомлення: 11

2016-04-06 00:49:09 MSK ERROR: date/time field value out of range: "1459892940" at character 61
2016-04-06 00:49:09 MSK HINT: Perhaps you need a different "datestyle" setting.
2016-04-06 00:49:09 MSK STATEMENT: SELECT 1 FROM "DBAVl_Arch_psql_value_AT101_1_Th" WHERE "TM"='1459892940' AND "TMU"='0'
2016-04-06 00:49:09 MSK ERROR: current transaction is aborted, commands ignored until end of transaction block


openscada=# SELECT * FROM public."DBAVl_Arch_psql_value_AT101_1_Th" limit 1;
TM | TMU | VAL
------------------------+-----+------
2016-01-30 22:11:00+03 | 0 | 19.9
(1 строка)


Здесь тоже некорректный запрос. Более того, openscada не обрабатывает ошибку запроса к БД. Так как за 10 секунд, что работала openscada до выхода из нее, было предпринято несколько десятков тысяч запросов и каждый завершился с ошибкой. (110 000 строк в логе)

2016-04-06T01:26:25 4[/sub_BD/mod_PostgreSQL/db_openscada/] Ошибка запроса к БД: PGRES_FATAL_ERROR. ERROR: date/time field value out of range: "1459895160"
СТРОКА 1: ...ROM "DBAVl_Arch_psql_value_AT101_1_Th" WHERE "TM"='145989516...
^
ПОДСКАЗКА: Perhaps you need a different "datestyle" setting.

2016-04-06T01:26:25 4[/sub_BD/mod_PostgreSQL/db_openscada/] Ошибка запроса к БД: PGRES_FATAL_ERROR. ERROR: current transaction is aborted, commands ignored until end of transaction block


лог файл прилагаю к сообщению.
Вкладений файл

error.log.zip (Тип файлу: application/zip, Розмір: 58.71 кілобайтів) — 1254 завантажень
Повідомлення створено: 06. 04. 2016 [08:57]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зареєстрован(а) с: 12.12.2007
Повідомлення: 3747
"livello" wrote:

2016-04-06 00:49:09 MSK ERROR: date/time field value out of range: "1459892940" at character 61
2016-04-06 00:49:09 MSK HINT: Perhaps you need a different "datestyle" setting.
2016-04-06 00:49:09 MSK STATEMENT: SELECT 1 FROM "DBAVl_Arch_psql_value_AT101_1_Th" WHERE "TM"='1459892940' AND "TMU"='0'
2016-04-06 00:49:09 MSK ERROR: current transaction is aborted, commands ignored until end of transaction block

У меня нет такой ошибки!
Подозреваю, что было бездумное переключение "Force time as string" в архиваторе сообщений.

Структуры существующих таблиц на предмет чего не отслеживаются.

Хотя нет — нормально отслеживается и обновляется, с потерей значений однако, для таблиц сообщений.

А вот для таблиц значений именно такое и получается в виду создания ситуации дублирования ключа, при попытке исправить структуру. Добавил пересоздание таблицы в целом если возникают ошибки при исправлении структуры.

Learn, learn and learn better than work, work and work.



21213