Я пытаюсь заставить работать язык plpython3u
на PostgreSQL 11 (я работаю на машине Windows 10 ).
Мне удалось успешно установить его с помощью следующей команды.
CREATE EXTENSION plpython3u;
Мне пришлось загрузить python36.dll
и сохранить его в C:\Windows\System32
, чтобы успешно выполнить это, поскольку ранее я получал следующую ошибку.
не удалось загрузить библиотеку "C: / Program Files / PostgreSQL / 11 / lib / pl python3 .dll": указанный модуль не найден.
Чтобы проверить установку, я попытался создать следующую функцию, полученную из PostgreSQL Документов .
CREATE FUNCTION pymax (a integer, b integer)
RETURNS integer
AS $$
if a > b:
return a
return b
$$ LANGUAGE plpython3u;
Но при ее выполнении выдается следующая ошибка:
SQL Ошибка [57P03]: ФАТАЛЬНО: система баз данных находится в режиме восстановления
Вот что я получил из журналов.
Current thread 0x000035b8 (most recent call first):
2020-01-16 20:10:17.136 CST [6980] LOG: server process (PID 12532) was terminated by exception 0xC0000409
2020-01-16 20:10:17.136 CST [6980] DETAIL: Failed process was running: CREATE FUNCTION public.pymax (a integer, b integer)
RETURNS integer
AS $$
if a > b:
return a
return b
$$ LANGUAGE plpython3u
2020-01-16 20:10:17.136 CST [6980] HINT: See C include file "ntstatus.h" for a description of the hexadecimal value.
2020-01-16 20:10:17.136 CST [6980] LOG: terminating any other active server processes
2020-01-16 20:10:17.229 CST [5636] WARNING: terminating connection because of crash of another server process
2020-01-16 20:10:17.229 CST [5636] DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
2020-01-16 20:10:17.229 CST [5636] HINT: In a moment you should be able to reconnect to the database and repeat your command.
2020-01-16 20:10:17.246 CST [6980] LOG: all server processes terminated; reinitializing
2020-01-16 20:10:17.373 CST [4944] LOG: database system was interrupted; last known up at 2020-01-16 20:09:02 CST
2020-01-16 20:10:17.392 CST [9880] FATAL: the database system is in recovery mode
2020-01-16 20:10:17.509 CST [11412] FATAL: the database system is in recovery mode
2020-01-16 20:10:17.623 CST [12472] FATAL: the database system is in recovery mode
2020-01-16 20:10:17.730 CST [12480] FATAL: the database system is in recovery mode
2020-01-16 20:10:17.843 CST [12432] FATAL: the database system is in recovery mode
2020-01-16 20:10:17.951 CST [12492] FATAL: the database system is in recovery mode
2020-01-16 20:10:18.060 CST [12744] FATAL: the database system is in recovery mode
2020-01-16 20:10:18.175 CST [12160] FATAL: the database system is in recovery mode
2020-01-16 20:10:18.298 CST [13084] FATAL: the database system is in recovery mode
2020-01-16 20:10:18.828 CST [4944] LOG: database system was not properly shut down; automatic recovery in progress
2020-01-16 20:10:18.835 CST [4944] LOG: redo starts at 0/17FF400
2020-01-16 20:10:18.835 CST [4944] LOG: redo done at 0/17FF438
2020-01-16 20:10:19.044 CST [6980] LOG: database system is ready to accept connections
Fatal Python error: Py_Initialize: unable to load the file system codec
ModuleNotFoundError: No module named 'encodings'
Любая помощь будет оценена.