Comments (3)
JFYI there is a proof of concept here alice-financial@94bf29c.
- Needs more (manual) testing and refactoring.
- Also the view trigger has to make some assumptions about how to handle inserts that may not generalize well to other table structures (auto-incrementing primary key - this could maybe be handled at runtime, but would obviously make things more complex)
- Only tested on pg 11, it looks like pg 10 supports
INSTEAD OF
triggers on views, so may be fine there as well.
Because of the second two issues mentioned above, I probably will not bother putting together a PR against this repo, but if you are interested in the functionality I'm happy to rework it a bit (or happy to just have someone else do that).
from pgslice.
Hi @lukeasrodgers, thanks for sharing! It's a neat pattern. I don't think it'll save space (since Postgres doesn't reclaim space on deletes), but does have the advantage of working with updates. I don't think I want to support another pattern right now, but may revisit in the future.
from pgslice.
Thanks @ankane - you seem to be right about this not actually saving space. I had erroneously thought that even though postgres wouldn't "return" the disk space back to the OS, it would internally reuse it, but that's not the case. This doesn't even seem to happen if I issue manual VACUUM
commands during the fill
process.
from pgslice.
Related Issues (20)
- PG::Connection injection support HOT 2
- Postgres 11 default partition and other improvements HOT 5
- Auto-copying foreign key constraint triggers HOT 2
- Support for DATABASE_URL env var? HOT 2
- Upgrading PG 10 to 11+ with partitioned tables from pgslice < 0.4.5 causes duplicate indexes HOT 7
- README typo HOT 1
- Support for Partitioning By Date and Hour HOT 1
- Support tablespace when adding partitions HOT 1
- RFC: warn on prep if table has 'BEFORE / FOR EACH' triggers HOT 3
- support non-numeric id in pgslice fill HOT 1
- `pg` gem `1.3.x` connection string error HOT 2
- Foreign keys referencing partitioned table not copied nor dealt with in `swap` HOT 3
- Consider ending support for PostgreSQL <= 10 HOT 3
- Rails: How to perform SQL Migrations without excessive diff HOT 3
- Missing Updates while filling? HOT 2
- Problem running pgslice in docker HOT 2
- Add support to keep synced both tables HOT 1
- Primary key getting added when it exists after getting created from the original table HOT 3
- Week slice option HOT 1
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 pgslice.