操作步骤
1.拉取最新的镜像
docker pull timescale/timescaledb:1.7.4-pg11
2.检查老容器挂载的数据目录
$ docker inspect timescaledb --format='{{range .Mounts }}{{.Source}}{{end}}' /path/to/data
3.删除老容器
docker stop timescaledb docker rm timescaledb
4.使用挂载的数据目录和新拉取的镜像,创建新容器
docker run -v /path/to/data:/var/lib/postgresql/data -d --name timescaledb -p 5432:5432 timescale/timescaledb
5.更新template1的timescaledb插件(重要)
如果不更新template1的话,后续创建的所有database还是老的1.4.0插件
docker exec -it timescaledb bash su postgres psql template1 ALTER EXTENSION timescaledb UPDATE;
6.更新已经存在的database的timescaledb插件(重要)
对所有“已经存在的数据库”进行插件更新,不然会导致无法连接,报错如下:
ERROR: could not access file “$libdir/timescaledb-1.4.2”: No such file or directory
docker exec -it timescaledb bash su postgres psql 已经存在的数据库 ALTER EXTENSION timescaledb UPDATE;