PostgreSQL создать функцию, которая ссылается на несуществующую таблицу - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь определить функцию, которая ссылается на временную таблицу, которая будет определена в будущем, но я получаю следующую ошибку при создании:

DROP FUNCTION IF EXISTS test_function();
CREATE FUNCTION test_function() 
RETURNS void AS $$
    SELECT * FROM temp_table
$$ LANGUAGE SQL;

ОШИБКА: отношение "_temp_table" не существует ЛИНИЯ 7: ОТ temp_table

Есть ли способ определить функцию Postgresql, которая ссылается на несуществующую таблицу?

Я могу создать пустую временную таблицу как часть создания функции - но это немного уродливо ...

Любая помощь будет оценена ...

Спасибо

1 Ответ

0 голосов
/ 24 августа 2018

Вы можете использовать check_function_bodies, чтобы отключить ссылки при загрузке функций, как это делает pg_dump.

set check_function_bodies = off;

DROP FUNCTION IF EXISTS test_function();
CREATE FUNCTION test_function() 
RETURNS void AS $$
    //your code actually doing something with tables/functions that don't exist yet
$$ LANGUAGE SQL;

set check_function_bodies = on;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...