缺省情况下,自动创建的容器会添加到名为 autopool 的缺省容器池。
要将容器添加到容器池中或从一个容器池移动到另一个容器池,请运行 TSContainerSetPool 过程并指定新容器池名称。如果容器池不存在,那么将创建此容器池。
要从容器池中除去容器,请运行 TSContainerSetPool 过程而不必指定容器池名称。
要删除容器池,请除去该容器池中的所有容器。
假设您具有名为 smartmeter_row 的 TimeSeries 子类型,希望在存储表之外的数据库空间内存储时间系列数据,并且不希望在插入数据时指定容器名称。以下语句为 smartmeter_row 时间系列创建名为 ctn_sm1 的容器,并将该容器添加到缺省容器池:
EXECUTE PROCEDURE TSContainerCreate ('ctn_sm1','tsspace1','smartmeter_row',0,0); EXECUTE PROCEDURE TSContainerSetPool('ctn_sm1','autopool');
插入 smartmeter_row 时间系列的数据而不指定容器名称时,数据库服务器将在数据库空间 tsspace1 中的容器 cnt_sm1 内存储该数据,而不是在与表相同的数据库空间内创建容器。
假设为时间系列自动创建了容器,但您希望自动停止向该容器插入数据。使用第一个示例中的过程为时间系列创建容器后,可以从缺省容器池中除去原始容器。以下语句将容器 ctn_sm4 从缺省容器池中除去:
EXECUTE PROCEDURE TSContainerSetPool('ctn_sm4');
容器 ctn_sm4 仍然存在,但仅当 INSERT 语句使用 container 参数明确指定 ctn_sm4 时才向该容器插入数据。