gpt4 book ai didi

postgresql - 使用 psql 自动创建数据库

转载 作者:行者123 更新时间:2023-11-29 13:07:23 25 4
gpt4 key购买 nike

我有一个包含用于创建数据库的 SQL 命令的文件。

我还有一组单独的文件,每个文件都包含用于创建函数的 SQL 命令。例如:

  • funcs_algebra.sql
  • funcs_trigonometry.sql
  • funcs_geometry.sql

假设我的主要 SQLscript 如下所示:

CREATE DATABASE mydb;

CREATE TABLE foo(id INT, name VARCHAR(32));
CREATE TABLE foobar(id INT, age REAL);

-- Commands below to import the functions in the separate files
-- funcs_algebra.sql
-- funcs_trigonometry.sql
-- funcs_geometry.sql

我想知道如何将这些文件包含在我的“主 SQL”中,以便我只有一个文件可以传递给 psql。

目标是能够使用 psql 创建数据库(完成功能),只需将此文件中的命令传递给 psql。

有人知道怎么做吗?

[编辑]

我可能应该说出我认为显而易见的事情。我想将函数相关的 SQL 保留在单独的文件中,这样我就只有一个源代码可以修改。这是我划分逻辑和保存事物的一种方式 DRY .

函数定义用于创建其他模板数据库 - 所以我想将它们保存在单独的文件中,但从我的 SQL 脚本中引用这些文件。

我能想到的唯一其他方法是编写一个 bash 脚本,连续调用 psql - 首先创建数据库,然后添加函数 - 不是很优雅,也不是很干。还有其他(更优雅的)方式吗?

最佳答案

你可以这样写:

\i funcs_algebra.sql

在您的主 SQL 脚本中包含额外的函数脚本。

关于postgresql - 使用 psql 自动创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459043/

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