Gavin Sherry <[EMAIL PROTECTED]> writes: > I do not intend to work on such a system for the initial introduction of > table spaces. The problem is, of course, knowing when you're actually out > of space in a table space in any given transaction.
It should not be that hard, at least not on local filesystems. When PG realizes that a new page must be added to a table, it does a write() to append a page of zeroes to the physical table. This happens immediately. It's true that actual data may not be written into that section of the file till long after commit, but the kernel should do space allocation checking upon the first write. I have heard tell that this may not happen when you are dealing with NFS (yet another reason not to run databases across NFS) but on all local filesystems I know of, out-of-space should result in a failure before transaction commit. I say "should" because I suspect this isn't a very heavily tested code path in Postgres. But in theory it should work. Feel free to submit bug reports if you find it doesn't. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]