You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker容器内升级TimescaleDB后,新数据库仍用旧版本的问题

TimescaleDB升级后新库默认旧版本的问题解决

问题原因

TimescaleDB的扩展版本是绑定到单个数据库的,PostgreSQL创建新库时默认基于template1模板库复制。你升级Docker容器后,虽然系统里已经安装了2.14.2版本的扩展,但template1里的TimescaleDB扩展还是停留在2.9.3,所以新库会继承这个旧版本。官方的Docker升级步骤只覆盖了现有业务库的升级,不会自动更新模板库的扩展版本。

解决方法

1. 更新template1模板库(一劳永逸)

修改默认模板库,让后续所有新建数据库自动使用最新版本:

-- 连接到template1库
\c template1
-- 将扩展升级到2.14.2
ALTER EXTENSION timescaledb UPDATE;
-- 可选:设置该扩展的默认版本为最新,避免后续新增扩展时用旧版
ALTER EXTENSION timescaledb SET default_version TO '2.14.2';

注意:操作template1时要确保没有其他会话在使用它,要是报错有进程占用,重启PostgreSQL服务后再试就行。

2. 新建库时指定版本(临时方案)

如果不想动template1,每次建库时直接指定安装最新版本:

CREATE DATABASE new_db;
\c new_db
CREATE EXTENSION timescaledb VERSION '2.14.2';

或者一步到位:

CREATE DATABASE new_db;
\c new_db
CREATE EXTENSION timescaledb WITH VERSION '2.14.2';

内容的提问来源于stack exchange,提问作者Oldook

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 11:52:12