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

时间:2018-10-20 02:52:57

标签: database postgresql cockroachdb

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

是否有等效的方法将这些数据存储在CockroachDB中?

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

1 个答案:

答案 0 :(得分:1)

CockroachDB的jsonb类型与PostgreSQL非常相似,因此您可以将hstore转换为jsonb对象(即hstore,例如'a=>x, b=>y'将在{"a":"x", "b":"y"}上成为jsonb

您将与hstore一起使用的最常见(可能)运算符是->,用于基于键访问值。使用jsonb->会给您带来jsonb的结果,因此您想切换到->>,它会给您一个字符串(就像->和{{ 1}})。 hstore运算符在@>上的行为与jsonb(CockroachDB和PostgreSQL的)相似,但需要进行一些更改。当然,任何hstore函数都需要替换。

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