Hacker News new | ask | show | jobs
by TheLogothete 3740 days ago
Postgres MVCC is anything but decent. It will take over control of the main heap. Good luck tackling that.
1 comments

What exactly does that mean? MVCC is definitely different in Oracle and Postgres, but that doesn't mean it "takes over the heap" it just means it stores a new version of the row in the same heap. Later on an auto-vacuum process clears out the old heap page, or sometimes on demand when a select, update or delete accesses the row.

Oracle stores the old version of the row in a rollback segment.

According to the following article, "only changed values are written to undo whereas PostgreSQL/SQL Server creates a complete new tuple for modified row. This avoids bloat in the main heap segment." [1]

1. http://www.enterprisedb.com/postgres-plus-edb-blog/amit-kapi...

The very next sentence:

Both Oracle and SQL Server has some way to restrict the growth of version information whereas PostgreSQL/PPAS doesn't have any way.

True, this can be an issue. But the auto-vacuum and auto-cleanups should resolve this issue. Have you experienced this as an issue? Genuinely curious.

(Don't speak to me about SQL Server. Of all the brain dead ideas, implementing storage in the TempDB for snapshot isolation!)