X-Original-To: pgsql-hackers-postgresql.org@localhost.postgresql.org Received: from localhost (unknown [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id C869CD1D5C7 for ; Mon, 9 Feb 2004 19:05:01 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 66991-10 for ; Mon, 9 Feb 2004 15:04:55 -0400 (AST) Received: from smtp.istop.com (dci.doncaster.on.ca [66.11.168.194]) by svr1.postgresql.org (Postfix) with ESMTP id B15C0D1D43B for ; Mon, 9 Feb 2004 15:04:53 -0400 (AST) Received: from stark.xeocode.com (gsstark.mtl.istop.com [66.11.160.162]) by smtp.istop.com (Postfix) with ESMTP id CB18D17C58D; Mon, 9 Feb 2004 14:04:53 -0500 (EST) Received: from localhost ([127.0.0.1] helo=stark.xeocode.com) by stark.xeocode.com with smtp (Exim 3.36 #1 (Debian)) id 1AqGiD-0003SD-00; Mon, 09 Feb 2004 14:04:53 -0500 To: pgsql-hackers@postgresql.org Subject: Re: [pgsql-hackers-win32] Sync vs. fsync during checkpoint References: <200402080144.i181ija15739@candle.pha.pa.us> <40279A25.6020600@Yahoo.com> In-Reply-To: <40279A25.6020600@Yahoo.com> From: Greg Stark Organization: The Emacs Conspiracy; member since 1992 Date: 09 Feb 2004 14:04:53 -0500 Message-ID: <87r7x4m5uy.fsf@stark.xeocode.com> Lines: 28 User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200402/354 X-Sequence-Number: 49943 Jan Wieck writes: > The whole sync() vs. fsync() discussion is in my opinion nonsense at this > point. Without the ability to limit the amount of files to a reasonable number, > by employing tablespaces in the form of larger container files, the risk of > forcing excessive head movement is simply too high. I don't think there was any suggestion of conflating tablespaces with implementing a filesystem in postgres. Tablespaces are just a database entity that database stored objects like tables and indexes are associated to. They group database stored objects and control the storage method and location. The existing storage mechanism, namely a directory with a file for each database object, is perfectly adequate and doesn't have to be replaced to implement tablespaces. All that's needed is that the location of the directory be associated with the "tablespace" of the object rather than be a global constant. Implementing an Oracle-style filesystem is just one more temptation to reimplement OS services in the database. Personally I think it's an awful idea. But even if postgres did it as an option, it wouldn't necessarily have anything to do with tablespaces. -- greg