将hstore数据类型从PostgreSQL迁移到CockroachDB



我正在考虑将一些PostgreSQL数据库迁移到CockroachDB。我有一个应用程序使用PostgreSQL hstore数据类型。

有没有一种等效的方法可以将这些数据存储在 CockroachDB 中?

如果不是,在尽可能少地更改应用程序代码的情况下映射此数据类型的最佳做法是什么?

CockroachDB 有一个与 PostgreSQL 非常相似的jsonb类型,因此您可以将hstore转换为jsonb对象(即像'a=>x, b=>y'这样的hstore会在jsonb上变得{"a":"x", "b":"y"}(。

hstore一起使用的最常见(可能(运算符是->基于键访问值。使用jsonb->会给你一个jsonb的结果,所以你想切换到->>给你一个字符串(就像->hstore一样(。@>运算符的行为与jsonb(CockroachDB和PostgreSQL的(类似,就像它对hstore的行为一样,但需要进行一些更改。当然,任何hstore_...功能都需要更换。

CockroachDB的jsonb与PostgreSQL非常相似。此外,hstore被弃用,取而代之的是PostgreSQL中的jsonb。因此,在尝试迁移到 CockroachDB 之前,您可能希望在 PostgreSQL 中用jsonb替换hstore

最新更新