ERROR: deletes on append-only tables are not supported in serializable transactions
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from duckdb/duckdb-postgres
-
Difficulty 3/5 1-2 days Newbie friendliness 62/100
duckdb/duckdb-postgres#618 ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 25/100
duckdb/duckdb-postgres#594 · 4 comments ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
duckdb/duckdb-postgres#575 ·
Maintainers usually reply within 1 day
-
Difficulty 3/5 1-2 days Newbie friendliness 74/100
duckdb/duckdb-postgres#564 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 4/5 3-5 days Newbie friendliness 55/100
duckdb/duckdb-postgres#491 · 1 comment ·
Maintainers usually reply within 1 day
All issues in duckdb/duckdb-postgres
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
enhancement question
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
DarkStarSystems/pcons#224 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 77/100
LizardByte/Sunshine#5953 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
(S1 - Need confirmation)
Difficulty 2/5 1-3 hours Newbie friendliness 63/100
CleverRaven/Cataclysm-DDA#89133 ·
Maintainers usually reply within 1 day