我正在使用Hasura v2引擎(自我托管),它能够连接多个DB。我所希望的是能够通过为v2使用单独的元数据数据库来连接和维护到同一个DB的v1连接。
但在尝试之后,我未能做到这一点,因为很明显,Hasura v2仍然在连接的DB上使用hdb_catalog,而元数据DB上的hdb_catalog仍然在使用。
我看到连接DB hdb_catalog v2和v1的使用很少。
v1

v2

有人知道,如果这个文件甚至可以运行连接到同一个数据库的v1和v2 Hasura引擎,并且v2将元数据存储在单独的DB上,那么对于非元数据连接的DB对于v2来说,hdb_catalog有什么用途呢?
谢谢!
发布于 2021-11-22 17:03:23
我要提到的几件事:
因此,总的来说,虽然从技术上来说,将v1和v2连接到同一个db是“可能的”,但也有许多缺点,使得这一解决方案超出了纯粹的好奇心探索的范围。
但这并不意味着它在未来不会改变。
希望这会有帮助。
发布于 2021-11-18 08:43:34
Hasura V2仍然使用连接的DB上的hdb_catalog来运行其事件触发系统,因为它依赖于数据库本身定义的数据库触发器才能工作。因此,您将看到与事件触发器相关的表仍然在连接的DB的hdb_catalog中,而其余的元数据存储在元数据DB的hdb_catalog中。尽管如此,Hasura V2仅在事件触发器被定义时使用连接DB的hdb_catalog,否则它根本不与其交互,从而允许Hasura V1实例与同一DB一起工作。
总之,从Hasura v2.1.0 (撰写本文时最新的Hasura版本)开始,只有当Hasura V2实例没有配置事件触发器时,才有可能在Hasura V1实例旁边运行Hasura V2实例(有自己的专用元数据DB),这两个实例都连接到同一个DB 。
https://stackoverflow.com/questions/70010557
复制相似问题