POSTGRES-插入外表

时间:2019-04-01 06:56:39

标签: database postgresql external insert-into postgresql-11

我在外部服务器中创建了一个表

 $(function() {
        $("#submit_btn").click(function(event) {
            $('button').button({ loadingText: 'Processing..' });
            $('#submit_btn').button('loading');
            //after submit stuff put below line to reset;
            $('#submit_btn').button('reset');
        });
    });

现在我想插入external_table,但是如果我运行此查询

CREATE FOREIGN TABLE external_table (
    field_1 varchar(15) NULL,
    field_2 int4 NULL
)
SERVER server_name
OPTIONS(compression 'pglz', stripe_row_count '500000');

它返回此错误

INSERT INTO external_table (field_1, field_2) VALUES  ('test',1);

如何将记录添加到外部表中?

我尝试了以下插入

ERROR: operation is not supported

它可以工作,但是我不能在SELECT语句中使用INSERT INTO。

1 个答案:

答案 0 :(得分:0)

看起来您正在使用的扩展名支持“插入...选择..”,但不支持直接插入。

您可以使用,在指定扩展名时可能应该问这个问题。

PS:您使用的扩展名似乎是cstore_fdw。它不支持直接插入,因为它完全抵消了使用列式存储的好处并产生了一些额外的开销。如果使用的是cstore_fdw,请尝试使用批量插入而不是单行插入。当数据达到一定大小(即stripe_row_count行数)时,插入常规表并将数据移入cstore_fdw表是更好的选择。