postgresql数据库迁移timescale插件问题处理
postgresql数据库迁移timescale插件问题处理
问题说明
使用pg_dump进行数据库迁移后,开发人员表示在使用timescale的表时报错:
ERROR: invalid INSERT on the root table of hypertable "table_name"
HINT: Make sure the TimescaleDB extension has been preloaded.
而其他表使用情况正常。
故障排查
首先确认此库下安装了timesclaedb插件:
xxx=# \dxList of installed extensionsName | Version | Schema | Description
--------------------+---------+------------+---------------------------------------------------------------------pg_stat_statements | 1.7 | public | track execution statistics of all SQL statements executedplpgsql | 1.0 | pg_catalog | PL/pgSQL procedural languagepostgis | 2.5.5 | public | PostGIS geometry, geography, and raster spatial types and functionstimescaledb | 2.0.2 | public | Enables scalable inserts and complex queries for time-series data
(4 rows)
其后,去postgresql.conf文件中确认,已添加timesclaedb至预加载库:
shared_preload_libraries = 'timescaledb'
并重启过数据库。
后尝试重装timescale插件,问题依然没解决。
问题解决
最后,检查pg_dump导出的dmp文件,发现里面只有超表的普通建表语句,而没有将其转化为超表。重建此表:
DROP TABLE table_name CASCADE;
CREATE TABLE table_name (imei text NULL,ent_id int8 NULL,vehicle_id int8 NULL,device_id int8 NULL,mileage int8 NULL,lng float8 NULL,lat float8 NULL,speed int4 NULL,trace_time timestamp NULL,create_time timestamp NOT NULL,location_status text NULL
);
将其转化为超表:
SELECT create_hypertable('table_name', 'create_time');create_hypertable
-------------------------------------------(2,crt,table_name,t)
(1 row)
再尝试插入数据,就没有问题了:
xxx=> INSERT INTO crt.busi_vehicle_alert_obsolete_gps
xxx-> (imei, ent_id, vehicle_id, device_id, mileage, lng, lat, speed, trace_time, create_time, location_status)
xxx-> VALUES('47035768165', 253979332812849152, 307120521554800640, 307119189435502592, 558200, 106.49374, 29.620148,
xxx(> 0, '2021-05-25 11:12:20.000', '2021-05-25 11:12:28.551', 'LOCATED');
INSERT 0 1
总结分析
在迁移使用了timescale插件的pg库时,必须单独备份超表数据。在新环境手动创建超表后,再插入数据。
postgresql数据库迁移timescale插件问题处理相关推荐
- Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库
Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库 文章目录 Linux 上 postgresql 数据库迁移到 KingbaseES V8R6数据库 前言 一 ...
- 将数据导入到mysql_06955.10.2如何将CM的外部PostgreSQL数据库迁移至MySQL服务
作者:朱超杰 文档编写目的 在前面的文章<如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务>介绍了将CM内嵌的PostgreSQL迁移至外部PostgreSQL,因 ...
- ef 数据迁移mysql_07116.3.0如何将CM的外部PostgreSQL数据库迁移至MySQL服务
文档编写目的 在前面的文章<6.3.0-如何将CM内嵌PostgreSQL服务迁移至外部PostgreSQL服务>介绍了将CM内嵌的PostgreSQL迁移至外部PostgreSQL,因为 ...
- postgresql系列之:安装postgresql数据库日志解析插件wal2json
postgresql系列之:安装postgresql数据库日志解析插件wal2json 一.下载wal2json 二.解压wal2json 三.激活postgresql数据库系统环境变量 四.编译wa ...
- win10正确安装PostgreSQL数据库和PostGIS插件
安装PostgreSQL 下载安装包 安装PostGIS前首先必须安装PostgreSQL,然后在安装好的Stack Builder中选择安装PostGIS组件或者单独安装PostGIS组件. Pos ...
- postgresql数据库迁移技巧(降低版本迁移到GreenPlum pg11-pg8)
工具:navicat12 步骤: 1.创建scheme 2.导出源scheme的结构sql 3.在目标数据库执行源scheme结构sql中创建序列部分 4.直接操作拷贝scheme所有表(使用生成sq ...
- PostgreSQL数据库图像搜索插件imgsmlr部署
https://github.com/postgrespro/imgsmlr 1.deploy apt-get install postgresql-server-dev-allapt-get ins ...
- Mendix数据库迁移
目录 1. 简介 2. 概述 3. 在Mendix Studio Pro中使用PostgreSQL 4. 从非PostgreSQL迁移到PostgreSQL 4.1 导出PostgreSQL数据库 4 ...
- PostgreSQL数据库专家唐成:用最专业的服务解决用户最大的痛点
-------- 作者:刘学习 由工信部中国开源软件推进联盟PostgreSQL分会主办的大型PostgreSQL技术交流盛会--PostgreSQL Open CHN 2018于6月29日在北京成功 ...
最新文章
- python3 opencv_Python3 OpenCV3 图像处理基础
- python之multiprocessing创建进程
- vectornator安卓_Vectornator Pro
- 华为组织架调整,CloudAI升至第四大BG,打通全球第一款集成5G模组的4K直播编码器网络通信服务;谷歌宣布与IBM合作……...
- Navicat连接Mysql 8.0.16报错:Client does not support authentication protocol requested by server?
- 院士新作赠送——调查问卷活动感谢信
- 程序员如何通过书籍学习编程?小心用错方法,不然可能事倍功半!
- 【opencv学习】基于透视变换和OCR识别的小票识别
- 计算机网络信息安全理论与实践教程-蒋建春
- L1-013.计算阶乘和
- mysql 冗余字段_18.3.3 增加冗余字段
- 多线程之线程可见性synchronized
- 使用二维码识别技术的好处_二维码门禁系统,是如何实现解密开锁的呢?
- 360手机助手下载|360手机助手下载
- nginx反向代理,调度器,优化
- 前端度分秒与经纬度互转
- 对计算机科学的总体认识,浅谈对计算机科学与技术的认识
- 出售主题HTML代码,房地产HTML主题
- 紧急:Spring框架被爆出存在0day级别远程命令执行漏洞。漏洞危害程度不亚于log4j漏洞根据目前掌握的信息,JDK版本在9及以上的Spring框架均受影响。该漏洞目前无官方修复补丁
- 【算法】高精度计算π(pi)值