Перенос типов данных hstore из PostgreSQL в CockroachDB - PullRequest
0 голосов
/ 20 октября 2018

Я планирую перенести некоторые базы данных PostgreSQL в CockroachDB.Одно из моих приложений использует PostgreSQL hstore тип данных.

Есть ли эквивалентный способ хранения этих данных в CockroachDB?

Если нет, то каков наилучший способ сопоставления этого типа данных с минимальным изменением кода приложения?

1 Ответ

0 голосов
/ 20 октября 2018

CockroachDB имеет тип jsonb, который очень похож на PostgreSQL, поэтому вы можете конвертировать свои hstore s в jsonb объекты (то есть hstore, как 'a=>x, b=>y', станет {"a":"x", "b":"y"} on jsonb).

Наиболее распространенным (вероятно) оператором, который вы используете с hstore, будет -> для доступа к значению на основе ключа.С jsonb, -> дает вам результат jsonb, поэтому вы хотите переключиться на ->>, который дает вам строку (точно так же, как -> с hstore).Оператор @> ведет себя аналогично с jsonb (как CockroachDB, так и PostgreSQL), как и с hstore, но некоторые изменения потребуются.Любые hstore_... функции, конечно, должны быть заменены.

CockroachDB jsonb очень похож на PostgreSQL.Кроме того, hstore является своего рода устаревшим в пользу jsonb в PostgreSQL.Поэтому вы можете заменить hstore на jsonb внутри PostgreSQL, прежде чем пытаться перейти на CockroachDB.

...