Comments (4)
The ability to change table definition was already proposed, see
pg_squeeze relies on the fact that definition of the table it's currently processing does not change - it checks the system catalog several times and aborts if any related catalog change is detected. If pg_squeeze performed catalog changes itself, it'd become significantly more complex.
As for the partitioning, it'd perhaps be doable (although not trivial), however size and rate of DMLs of the original (not-yet-partitioned) table might be a problem. I've seen at least one case where pg_squeeze could not finish table processing until the host ran out of disk space. The point is that pg_squeeze needs to prevent WAL archiving until the phase called "initial load" is done. However this initial load can take hours, and if enough data changes are performed, the amount of WAL files accumulated can become too high.
In other words, pg_squeeze might encounter problems when processing huge tables, but tables that users want to make partitioned are supposed to be huge.
from pg_squeeze.
Perhaps this blog post can be useful if you want to turn non-partitioned table into partitioned one without noticeable outage: https://blog.hagander.net/repartitioning-with-logical-replication-in-postgresql-13-246/
from pg_squeeze.
+1 for the idea. Probably user still needs to create the the table beforehand already though with desired partitioning in place. @ahouska do you think it would be doable?
from pg_squeeze.
Yes Agree, @kmoppel , User should be allowed to create a table as he/she wants beforehand with partitioning or whats soever. That opens up different possibilities and use-cases.
Another use case is for this feature is Online schema changes. For example, I want to convert a column with "NUMERIC" datatype to "INT"
from pg_squeeze.
Related Issues (20)
- Question: How to estimate pg_squeeze run overhead properly? HOT 4
- Running squeeze causes continuous lag build up in logical replication architecture HOT 6
- PostgreSQL 15 support HOT 4
- Disk space requirements of pg_squeeze? HOT 2
- pg squeeze will support view and materialized view? HOT 4
- make fails with pg_squeeze.c:2629:3: error: too few arguments to function ‘NewHeapCreateToastTable’ HOT 11
- multiple launch of pg_squeeze HOT 3
- Issue while running make on RHEL 8 HOT 7
- Use squeeze during tpcc benchmark running may cause data inconsistent HOT 5
- PostgreSQL 16 support HOT 3
- [HELP] use pg_squeeze in pgxl HOT 3
- Regression tests unstable HOT 2
- RE: `pg_squeeze` is known to be compatible with MS Windows HOT 8
- Regression test failed in PG 16 HOT 11
- pg_squeeze stop working with error "duplicate key value violates unique constraint "pg_replication_origin_roname_index"" HOT 2
- "prev_shmem_request_hook" prevents the database from starting. HOT 8
- Unique constraint on squeeze table HOT 6
- Segmentation fault HOT 11
- [master branch] pg_squeeze sends database into recovery code HOT 5
- Question: How to implement on Azure HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pg_squeeze.