Thread

Commits

  1. In postgres_fdw, don't try to ship MULTIEXPR updates to remote server.

  1. Segfault on updating foreign table

    Lukáš Sobotka <sobotka.luk@gmail.com> — 2020-01-26T07:00:00Z

    Hi there,
    
    I tried to synchronize two tables on different databases using foreign data
    wrapper. I executed update of foreign table with sub-query selection from
    local table. As the result I got segmentation fault. General query:
    UPDATE foreign_table SET (col) = (
        SELECT col
            FROM local_table
            WHERE foreign_table.id = local_table.id
    );
    
    I am not looking for working or better solution, I just want let you know
    about this. I think the query is according documentation and segfault is
    not suitable result. If somebody could check it I would be grateful.
    
    For reproducer or log see attachments.
    Tested on Ubuntu 18.04.3 LTS with PG12: PostgreSQL 12.1 (Ubuntu
    12.1-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
    7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit
    
    Thanks for your time.
    
    Best regards,
    Lukas
    
  2. Re: Segfault on updating foreign table

    Tom Lane <tgl@sss.pgh.pa.us> — 2020-01-26T18:26:33Z

    =?UTF-8?B?THVrw6HFoSBTb2JvdGth?= <sobotka.luk@gmail.com> writes:
    > I tried to synchronize two tables on different databases using foreign data
    > wrapper. I executed update of foreign table with sub-query selection from
    > local table. As the result I got segmentation fault. General query:
    > UPDATE foreign_table SET (col) = (
    >     SELECT col
    >         FROM local_table
    >         WHERE foreign_table.id = local_table.id
    > );
    
    Yup, that's a bug.  Will fix, thanks for the report!
    
    			regards, tom lane