-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
На версии PostgreSQL 15 при вызове метода http urlencoded form post дает ошибку (ОС Debian 11) #12
Comments
какой запрос привёл к ошибке? |
postgres=> create extension pg_curl;
CREATE EXTENSION
postgres=> CREATE OR REPLACE FUNCTION post(url TEXT, request JSON) RETURNS TEXT LANGUAGE SQL AS $BODY$
WITH s AS (SELECT
curl_easy_reset(),
( WITH s AS (
SELECT (json_each_text(request)).*
) SELECT array_agg(curl_postfield_append(key, value)) FROM s),
curl_easy_setopt_url(url),
curl_easy_perform(),
curl_easy_getinfo_data_in()
) SELECT convert_from(curl_easy_getinfo_data_in, 'utf-8') FROM s;
$BODY$;
CREATE FUNCTION
postgres=> select post('https://httpbin.org/post?a=b&c=&d', '{"e": "f", "g": "", "h": null}');
post
-------------------------------------------------------------------
{ +
"args": { +
"a": "b", +
"c": "", +
"d": "" +
}, +
"data": "", +
"files": {}, +
"form": { +
"e": "f", +
"g": "", +
"h": "" +
}, +
"headers": { +
"Accept": "*/*", +
"Content-Length": "8", +
"Content-Type": "application/x-www-form-urlencoded", +
"Host": "httpbin.org", +
}, +
"json": null, +
"url": "https://httpbin.org/post?a=b&c=&d" +
} +
(1 row)
|
Да все так. Только у валится даже на таком простом вызове. |
проверил последнюю версию расширения на 15 и 16, падений нет select post('https://httpbin.org/post?a=b&c=&d', '{"mail":["[email protected]"],
"subject":"Тема письма",
"body":"Текст письма пихай сюда"
}');
post
---------------------------------------------------------------------------------------------------------------------------------------------
{ +
"args": { +
"a": "b", +
"c": "", +
"d": "" +
}, +
"data": "", +
"files": {}, +
"form": { +
"body": "\u0422\u0435\u043a\u0441\u0442 \u043f\u0438\u0441\u044c\u043c\u0430 \u043f\u0438\u0445\u0430\u0439 \u0441\u044e\u0434\u0430", +
"mail": "[\"ivras@inbox.ru\"]", +
"subject": "\u0422\u0435\u043c\u0430 \u043f\u0438\u0441\u044c\u043c\u0430" +
}, +
"headers": { +
"Accept": "*/*", +
"Content-Length": "240", +
"Content-Type": "application/x-www-form-urlencoded", +
"Host": "httpbin.org", +
}, +
"json": null, +
"url": "https://httpbin.org/post?a=b&c=&d" +
} +
(1 row) |
как было установлено расширение? |
sudo su -l postgres -c 'git clone https://github.com/RekGRpth/pg_curl.git' |
тут только поможет посмотреть coredump |
попробую в течении дня |
включил debug1 в postgre получаю следующую ошибку, может что-то скажет Вам |
это точно не то, у меня также ругается |
вот, при таких настройках в /etc/security/limits.conf
у меня на убунте генерируется coredump при сегфолтах |
[New LWP 2250] это о чем то говорит? Дамп я получил. |
тогда его можно открыть gdb postgres coredump и посмотреть стек, введя
|
(gdb) bt |
а сам postgres как устанваливался? это не отладочная сборка? |
Нет, я ставлю его из пакетов с официального сайта. единственное НО, я делаю upgrade c 13 версии на 15 |
это не должно влиять я вроде нашёл и поправил ошибку |
взять новую версию с репозитария и попробовать? |
да, если не трудно |
Да все работает без ошибок, супер! Спасибо большое! |
Это вам большое спасибо, что помогли найти ошибку! |
исправлено коммитом 5ed0c01 |
Добрый вечер!
процесс сервера (PID 118906) был завершён по сигналу 11: Ошибка сегментирования
после чего СУБД перезапускается
При этом версия 1.0 прекрасно работает.
The text was updated successfully, but these errors were encountered: