Страница 1 из 1

ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 26 июл 2023, 21:21
mvt
Здравствуйте!
Помогите понять, что это такое и как победить:
при импорте таблицы во вновь созданную БД из файла postgresql_config.sql (размер файла 51.1 Кб) (asterisk 18.19.0) импортирование прерывается с сообщением:
ОШИБКА: ошибка синтаксиса (примерное положение: "rel")
СТРОКА 1: ALTER TABLE ps_endpoints ALTER COLUMN 100rel TYPE pjsip_100r...
ROLLBACK

Раньше все файлы (других астерисков, предыдущих и последующих, asterisk-19, размер 47 Кб) импортировались без проблем.

P.S. другие три файла импортировались без проблем (postgresql_voicemail.sql, postgresql_queue_log.sql, postgresql_cdr.sql).

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 10:41
mvt
Проблема решена.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 11:36
ded
Согласно Правилам форума, вам бы надо опубликовать решение вашей проблемы. В противном случае сообщение Проблема решена имеет нулевую информативность.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 12:21
mvt
Ок, сейчас изложу....
Приготовьтесь:
Предистория:
Любой дистрибутив asterisk содержит в себе папку contrib, в этой папке имеется папка realtime, а в ней две папки: postgresql и mysql.
(есть ли заявленная мной проблема в конфигурационном файле mysql_config.sql я не знаю, мной предметно исследовался только файл postgresql_config.sql)

Данная проблема кочует из дистрибутива в дистрибутив, если файл postgresql_config.sql размером больше 47,7 Кб.
Есть она и самом последнем asterisk 20.4.0 (файл postgresql_config.sql размером 52,2 Кб.), а также и других дистрибутивах, более ранних.

Решение:
Нужно отредактировать строку 1491, например в редакторе Featherpad, включив в нём нумерацию строк в меню параметры и привести строку в изначальном её виде:
ALTER TABLE ps_endpoints ALTER COLUMN 100rel TYPE pjsip_100rel_values_v2 USING 100rel::text::pjsip_100rel_values_v2;
к виду:
ALTER TABLE ps_endpoints ALTER COLUMN "100rel" TYPE pjsip_100rel_values_v2 USING "100rel"::text::pjsip_100rel_values_v2;

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 15:19
ded
А у вас конфигурация realtime? Если да, то это не отражено было в первом сообщении.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 16:23
mvt
Ну, как бы так, а, в общем, как это влияет на наличие ошибки в синтаксисе?

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 17:07
ded
Не знаю, но точность - признак мастерства (ящетаю).
В 13.32.0-м Астериске, например, в файле
asterisk-13.32.0/contrib/realtime/postgresql/postgresql_config.sql
такой строки вообще нет,
в 18-м Астериске,
asterisk-18.3.0/contrib/realtime/postgresql/postgresql_config.sql
тоже нет. Так что утверждение
mvt писал(а):Любой дистрибутив asterisk содержит в себе папку contrib, в этой папке имеется папка realtime, а в ней две папки: postgresql и mysql.
неоднозначно.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 17:42
mvt
Нет предела совершенству, ящетаю.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 18:17
mvt
ded писал(а):Не знаю, но точность - признак мастерства (ящетаю).
В 13.32.0-м Астериске, например, в файле
asterisk-13.32.0/contrib/realtime/postgresql/postgresql_config.sql
такой строки вообще нет,
в 18-м Астериске,
asterisk-18.3.0/contrib/realtime/postgresql/postgresql_config.sql
тоже нет. Так что утверждение
mvt писал(а):Любой дистрибутив asterisk содержит в себе папку contrib, в этой папке имеется папка realtime, а в ней две папки: postgresql и mysql.
неоднозначно.
А, вообще я всё правильно написал, что абсолютно любой дистрибутив (из относительно современных) содержит папку contrib, а в ней папку postgresql, так, где Вы, глубокоуважаемый, увидели, что я утверждал, что любой дистрибутив содержит исследуемую строку? Я такого не писал. С точки зрения юридической формальности прав я, а не Вы, как бы Вам не хотелось иначе...
Ещё раз, точность признак мастерства, ящетаю...

И, ещё, обратите внимание, дифференциация дистрибутивов должна удовлетворять условию размера исследуемого файла postgresql.config.sql меньше или больше 47,7 Кб. Об этом сообщено в моём ответе по решению этого вопроса.

Re: ОШИБКА: ошибка синтаксиса (примерное положение: "rel")

Добавлено: 28 июл 2023, 18:38
ded
Если я не прав, то я - лев. ©