gpt4 book ai didi

postgresql - 如何使用 PostgreSQL 代码片段?

转载 作者:行者123 更新时间:2023-11-29 13:37:51 24 4
gpt4 key购买 nike

我正在尝试找到一种方法来以不同的名称复制架构。有many ways去做这个。一种方法是在命令行上工作,但由于移动部件 (what user am I running as?),它开始变得复杂。

如果我可以简单地调用数据库中的一个函数,那就完美了。那是我看到this page的时候.


CREATE OR REPLACE FUNCTION clone_schema(source_schema text, dest_schema text) RETURNS void AS
$BODY$
DECLARE
objeto text;
buffer text;
BEGIN
EXECUTE 'CREATE SCHEMA ' || dest_schema ;


FOR objeto IN
SELECT table_name::text FROM information_schema.TABLES WHERE table_schema = source_schema
LOOP
buffer := dest_schema || '.' || objeto;
EXECUTE 'CREATE TABLE ' || buffer || ' (LIKE ' || source_schema || '.' || objeto || ' INCLUDING CONSTRAINTS INCLUDING INDEXES INCLUDING DEFAULTS)';
EXECUTE 'INSERT INTO ' || buffer || '(SELECT * FROM ' || source_schema || '.' || objeto || ')';
END LOOP;

END;
$BODY$
LANGUAGE plpgsql VOLATILE;
Execution is simple:
SELECT clone_schema('old_schema','new_schema');

但是,我不知道如何安装这些片段。 我该怎么做?它还告诉你“只要记得创造语言”但我不知道那是什么。

提前致谢!

最佳答案

您使用 PSQL为此控制台。要么登录并复制粘贴脚本,要么创建一个文本文件并告诉 PSQL 读取它。

关于postgresql - 如何使用 PostgreSQL 代码片段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4084434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com