Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

ERROR: deletes on append-only tables are not supported in serializable transactions

Open
#238 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
postgres, python
Domain
databases

Research direction

Start by reproducing the direct DELETE and the postgres_execute call against Greenplum 7.1 (PostgreSQL 12.12), using DuckDB 1.0.0 from Python 3.9. Compare the transaction behavior and trace the postgres_execute entry point. Done means confirming the cause of the serializable append-only-table error and documenting or fixing the supported behavior.

Written by the indexing model from the issue text.

Description

What happens?

ERROR: deletes on append-only tables are not supported in serializable transactions

To Reproduce

I am computing in DuckDB and then writing the results back to Greenplum. Before writing, I need to delete existing data, but I tried two methods:

delete from gp.dm.fct_sale_stockorg_kpi 
where day_date > ('2024-07-04'::timestamp - '40 day'::interval) and day_date <= ('2024-07-04'::timestamp)

method2:

call postgres_execute('gp',$gp$
delete from dm.fct_sale_stockorg_kpi 
where day_date > ('2024-07-04'::timestamp - '40 day'::interval) and day_date <= ('2024-07-04'::timestamp)
$gp$)

the first method is very slow,
and the second method gives an error as described in the title.
why?

OS:

centos7

PostgreSQL Version:

gp7.1(pg12.12)

DuckDB Version:

1.0.0

DuckDB Client:

python3.9

Full Name:

wang cz

Affiliation:

Linezone

Have you tried this on the latest main branch?
  • I agree
Have you tried the steps to reproduce? Do they include all relevant data and configuration? Does the issue you report still appear there?
  • I agree
Dominant language
C++
Stars
373
Forks
112
Avg merge
9h 48m
Merged PRs (30d)
28

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from duckdb/duckdb-postgres

All issues in duckdb/duckdb-postgres

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.