PostgreSQL存储过程版本控制
我想在Postgres中对存储过程进行版本控制。例如,我尝试做:PostgreSQL存储过程版本控制,postgresql,Postgresql,我想在Postgres中对存储过程进行版本控制。例如,我尝试做: CREATE OR REPLACE FUNCTION increment(i INT) RETURNS INT AS $$ BEGIN RETURN i + 1; END; $$ LANGUAGE plpgsql; -- An example how to use the function (Returns: 11) SELECT increment(10); 我读了这篇文章 另外,文档搜索路径: 我做设置search\
CREATE OR REPLACE FUNCTION increment(i INT) RETURNS INT AS $$
BEGIN
RETURN i + 1;
END;
$$ LANGUAGE plpgsql;
-- An example how to use the function (Returns: 11)
SELECT increment(10);
我读了这篇文章
另外,文档搜索路径:
我做设置search\u path=v10\u 15,public代码>
我想更改退货类型:
CREATE OR REPLACE FUNCTION increment(i INT) RETURNS VARCHAR(70)
但我得到了一个错误:
第一个删除函数(删除函数增量(整数))
但我不想删除,我需要一个新版本的代码要重命名函数,请使用ALTER function
。例如:
ALTER FUNCTION increment RENAME TO v10_15.increment;
如果您实际尝试在新位置创建新函数:
如果在搜索路径
上已经有一个同名函数,创建或替换函数
将找到该函数并尝试替换现有函数
不要依赖search_path
来定义存储内容的位置,而要明确并命名要在其中创建函数的模式:
CREATE OR REPLACE FUNCTION v10_15.increment(i INT) ...
要重命名函数,请使用alterfunction
。例如:
ALTER FUNCTION increment RENAME TO v10_15.increment;
如果您实际尝试在新位置创建新函数:
如果在搜索路径
上已经有一个同名函数,创建或替换函数
将找到该函数并尝试替换现有函数
不要依赖search_path
来定义存储内容的位置,而要明确并命名要在其中创建函数的模式:
CREATE OR REPLACE FUNCTION v10_15.increment(i INT) ...
在设置搜索路径之前,您可以创建模式;
比如说
创建模式myschema
在设置搜索路径之前,您可以创建模式;
比如说
创建模式myschema
是的,但必须在后端的产品代码中更改其名称。替换了v10_15上的increment
。increment
所以您实际上想要替换它,而不是创建一个新过程?但是您想将新的模式移动到新的模式吗?是的,但必须在后端的产品代码中更改其名称。替换了v10_15上的increment
。increment
所以您实际上想要替换它,而不是创建一个新过程?但是您想将新模式移动到新模式吗?