Временная шкала: ОШИБКА: попытался вызвать catalog_get, когда расширение не загружено - PullRequest
0 голосов
/ 23 января 2020

Я использую Временную шкалу , и сегодня я столкнулся с проблемой: я создаю простую таблицу одним из следующих способов: 1-

> create table if not exists "NewTable" as (select * from "OldTable");
SELECT 6

2-

create table "NewTable" ("eventTime" timestamptz, name varchar);

после того, как таблица успешно создана. Я пишу \ d , и результат для обеих таблиц одинаков:

 Column   |           Type           | Collation | Nullable | Default 
-----------+--------------------------+-----------+----------+---------
eventTime | timestamp with time zone |           |          | 
name      | character varying        |           |          | 

, но проблема начинается здесь ...

 > SELECT create_hypertable('"NewTable"', '"eventTime"' ,migrate_data => true);
 ERROR:  tried calling catalog_get when extension isn't loaded

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

> CREATE EXTENSION timescaledb CASCADE; //OR CREATE IF NOT EXISTS EXTENSION timescaledb CASCADE;
ERROR:  extension "timescaledb" has already been loaded with another version

и

> \dx
    Name     | Version |   Schema   |                            Description                            
-------------+---------+------------+-------------------------------------------------------- 
plpgsql     | 1.0     | pg_catalog | PL/pgSQL procedural language
timescaledb | 1.5.1   | public     | Enables scalable inserts and complex queries for time-series data

, так что мне делать?

Вопрос : почему это произошло? как мне создать гиперстол сейчас?

перед этими операциями я пытался получить дамп из своей базы данных, а до этого у меня 20 main_hyper_tables.

1 Ответ

1 голос
/ 24 января 2020

почему это произошло?

Я думаю, TimescaleDB был установлен стандартным образом через apt. Поскольку недавно была выпущена новая версия TimescaleDB (v.1.6), apt автоматически обновил установку и скопировал двоичный файл 1.6 в общую библиотеку установки PostgreSQL. Таким образом, была загружена новая версия расширения, которая отличается от расширения, использованного для создания базы данных (v.1.5.1).

как мне теперь создать гипертаблицу?

Я вижу два варианта:

  1. Загрузите версию расширения, используемую для создания базы данных, явно указав в postgres config.
  2. Обновите расширение до последней версии
ALTER EXTENSION timescaledb UPDATE

См. раздел об использовании ALTER EXTENSION в Обновить TimescaleDB do c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...