Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 在热备用拷贝上是否可以使用临时表的替代方案?_Postgresql_Temp Tables - Fatal编程技术网

Postgresql 在热备用拷贝上是否可以使用临时表的替代方案?

Postgresql 在热备用拷贝上是否可以使用临时表的替代方案?,postgresql,temp-tables,Postgresql,Temp Tables,正如所建议的,这里有一个TL;比特博士。我正在寻找一种替代临时表的方法,可以在数据库的热备份副本上使用。是否有什么问题,或者我必须重新编写所有内容,并尝试在子查询中全部完成 当我去年加入我们公司时,我们的ERP是本地托管的,虽然我没有对Postgres数据库的管理员权限,但至少我有对表的读写权限 我编写了许多报告(使用Crystal reports中的SQL命令选项)/SQL脚本,它们使用临时表。然而,我们刚刚迁移到ERP的托管版本,而不是访问实时数据库。我们获得了访问热备份副本的权限,这主要是

正如所建议的,这里有一个TL;比特博士。我正在寻找一种替代临时表的方法,可以在数据库的热备份副本上使用。是否有什么问题,或者我必须重新编写所有内容,并尝试在子查询中全部完成

当我去年加入我们公司时,我们的ERP是本地托管的,虽然我没有对Postgres数据库的管理员权限,但至少我有对表的读写权限

我编写了许多报告(使用Crystal reports中的SQL命令选项)/SQL脚本,它们使用临时表。然而,我们刚刚迁移到ERP的托管版本,而不是访问实时数据库。我们获得了访问热备份副本的权限,这主要是由于负载平衡问题

不幸的是,软件公司没有警告我们这种情况会发生,或者它将是只读访问。我在测试一些脚本时发现了这一点,显然,任何带有临时表的操作都失败了

我使用临时表来存储日期和银行假期信息,进行临时计算等等

因此,我正在寻找一种替代临时表的方法,我可以在热备份副本上使用,或者我必须重写所有内容并尝试在子查询中完成所有操作吗

我已经考虑过使用CTE(WITH),但是范围太小,因为我需要在整个脚本中访问它

然后我想也许我可以从热备份读取数据,但可以在不同的数据库/模式中创建临时表,但我认为这不可行。如果是这样的话,我可能需要与软件公司联系,以便获得访问另一个数据库/模式的权限。postgres_fdw似乎是最有可能的候选人,因为您可以更新外部表,但我看不到关于删除和创建表的任何地方

我从去年7月开始使用Postgres,之前使用过MSSQL,我可能会使用一个表变量,但我找不到一个等效的

我试过看Postgres的文档,但令人尴尬的是,如果没有相关的例子,我确实发现很多文档很难理解,所以我可能错过了一些东西

抱歉发了这么长的帖子


谢谢

你好!添加一个TLDR和您需要的东西是很有用的,OP需要什么是非常清楚的。你不能在备用服务器上得到它,我想不出任何替代品。将应用程序移回主应用程序。嗨,@AguV我在问题中添加了一个TLDR。嗨@LaurenzAlbe谢谢,我也这么怀疑,但希望有什么。@a_horse_,没有名字,很遗憾,我无法创建表,否则我会在其中存储查找数据。这可能不是最有效的方法,但我像使用视图一样使用它们,将不同表中的数据组合在一起,然后对该表执行不同的计算。然后,如果我在报告中的几个位置需要它,那么(至少对我来说)引用临时表比重复子查询更容易。我仍在学习,我知道我还有很多关于Postgres和SQL的知识需要学习,所以我感谢所有的反馈。谢谢:)你好!添加一个TLDR和您需要的东西是很有用的,OP需要什么是非常清楚的。你不能在备用服务器上得到它,我想不出任何替代品。将应用程序移回主应用程序。嗨,@AguV我在问题中添加了一个TLDR。嗨@LaurenzAlbe谢谢,我也这么怀疑,但希望有什么。@a_horse_,没有名字,很遗憾,我无法创建表,否则我会在其中存储查找数据。这可能不是最有效的方法,但我像使用视图一样使用它们,将不同表中的数据组合在一起,然后对该表执行不同的计算。然后,如果我在报告中的几个位置需要它,那么(至少对我来说)引用临时表比重复子查询更容易。我仍在学习,我知道我还有很多关于Postgres和SQL的知识需要学习,所以我感谢所有的反馈。谢谢:)