参数化create table时出现PL / Python错误

时间:2013-02-26 19:38:04

标签: python psql plpython postgresql-8.3

我正在运行一堆清理脚本,这些脚本按照PostgreSQL 8.3数据库中的日期进行参数化。

我只是试图用一些日期变量参数化一堆代码并测试create table会给我以下错误:

警告:无法转储无法识别的节点类型:858861618

以下是导致问题的代码:


CREATEOR REPLACE FUNCTION tst(
    start_day VARCHAR,
    end_day VARCHAR
)
RETURNS VOID
VOLATILE
STRICT
LANGUAGE plpythonu
AS $$
    parameters = dict(
        start_day = start_day,
        end_day = end_day )

    plpy.execute(
        """
drop table testtable cascade;

CREATE TABLE testtable (
start_time timestamp,
column2 text)
with (appendonly=true,orientation=column,compresstype=quicklz,compresslevel=1,fillfactor=95)
partition by range (start_time) 
( start ( '{start_day}'::date ) end ('{end_day}'::date) every ('1 day'::interval)
with (appendonly=true,orientation=column,compresstype=quicklz,compresslevel=1,fillfactor=95),
default partition other_dates with (appendonly=true,orientation=column,compresstype=quicklz,compresslevel=1) );

analyze dhcp.l2r_nogeo;

        """.format(**parameters))

        $$;


  

如何使用python参数化一个简单的创建表脚本而不生成错误   警告:无法转储无法识别的节点类型:858861618?

0 个答案:

没有答案