From fb6c6807d23a2d8f61d9a1a4f722fd203105ff70 Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Mon, 8 Nov 2004 14:46:52 +0000 Subject: [PATCH] Remove win32 TODO.detail. --- doc/TODO.detail/win32 | 9844 ----------------------------------------- 1 file changed, 9844 deletions(-) delete mode 100644 doc/TODO.detail/win32 diff --git a/doc/TODO.detail/win32 b/doc/TODO.detail/win32 deleted file mode 100644 index 45a9fbe8a01..00000000000 --- a/doc/TODO.detail/win32 +++ /dev/null @@ -1,9844 +0,0 @@ -From pgsql-hackers-owner+M22549@postgresql.org Wed May 8 11:22:40 2002 -Return-path: <pgsql-hackers-owner+M22549@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48FMd408780 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 11:22:40 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 631C147696B; Wed, 8 May 2002 10:49:42 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 5DF8047648C; Wed, 8 May 2002 10:32:21 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 9BB684762F2 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 10:32:09 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id D2693475C4C - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 10:15:56 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g48CZKt22122; - Wed, 8 May 2002 08:35:20 -0400 -Message-ID: <3CD91B88.38CD6C3@mohawksoft.com> -Date: Wed, 08 May 2002 08:35:20 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, Dann Corbit <DCorbit@connx.com> -Subject: [HACKERS] Path to PostgreSQL portabiliy -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Do we want a Win32 native version of PostgreSQL? - -The only reasons *not* to use Cygwin is licensing, installation hassles, and -maybe stability or performance. Therefore, there is no strong technical reason -to defend its removal, only a philosophical one. - -The debates on licensing on this list go on for weeks and people feel -passionately about the subject. It seems odd that no one speaks out about the -GNU requirement of cygwin. - -If there is a desire to create a PostgreSQL that is "fork" free, then we should -do it now. If now strong desire exists, then we should make an entry in the FAQ -and move on. - -If we want to be "portable" (and this should help us with a threading model -later on) we need to cleanup all of the global variables. - -PostgreSQL's postmaster should not touch any global variables that are defined -outside something like a pg_global structure and should not touch any static -variables at all. If postmaster initializes a variable that will get cloned on -a fork(), conceptually it is a shared global variable and belongs in -pg_globals. Going all the way and replacing all globals and statics with a -struct should allow threading with TLS. (Thread Local Storage) - -Port lib. Regardless where it comes from, the porting code should be a self -contained library, not a list of objects. On Windows, a .DLL can do some things -easier than an application. Also, having a library allows more flexibility as -to how a port is designed. - -We should spec out our port interface. This includes file, semaphores, shared -memory, signals/events, process control, IPC, system resources, etc. This will -grow as we re-port to other environments like Windows. - -any comments? - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22551@postgresql.org Wed May 8 11:41:42 2002 -Return-path: <pgsql-hackers-owner+M22551@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48Fff409057 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 11:41:41 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 3D2974763EC; Wed, 8 May 2002 11:07:27 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 9FB764765CA; Wed, 8 May 2002 10:43:21 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 6F12D47627E - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 10:43:12 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 1CC71475F1B - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 10:21:24 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g48EGGt22584; - Wed, 8 May 2002 10:16:16 -0400 -Message-ID: <3CD93330.2F3541D2@mohawksoft.com> -Date: Wed, 08 May 2002 10:16:16 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Tom Lane <tgl@sss.pgh.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - Dann Corbit <DCorbit@connx.com> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -References: <3CD91B88.38CD6C3@mohawksoft.com> <1782.1020866623@sss.pgh.pa.us> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Tom Lane wrote: -> -> mlw <markw@mohawksoft.com> writes: -> > Port lib. Regardless where it comes from, the porting code should be a -> > self contained library, not a list of objects. On Windows, a .DLL can -> > do some things easier than an application. Also, having a library -> > allows more flexibility as to how a port is designed. -> -> That may be necessary on Windoze, but on any other platform breaking out -> an essential part of the backend as a library strikes me as a dead loss. -> You create extra risk of installation mistakes, can't-find-library -> startup failures, version mismatch problems, etc, etc --- for zero gain -> that I can see. - -It does not need, and probably should not be by default, a shared library under -UNIX. A static library is fine. The issue is whether or not it makes sense to -try and design all porting layers the same, or allow the port engineer the -flexibility to create what they need the way they need to do it. - -A side note: -The "Windoze" comment says a lot Tom. Believe me, I am currently no fan of -Windows, but there is something to be said about doing a good job supporting -such a popular platform, regardless of our personal opinions. When I was -working at DMN, I had to make sure we could find country music and Brittany -Spears. Distasteful, but certainly something that needed to be done. - -IMHO, I think a great PostgreSQL implementation for Win32 is a nail in the -coffin for Windows. If we give them a great database, which runs well under -Windows, for free, MSSQL will now have a serious competitor for the medium to -small marketplace. - -Once MSSQL has viable cross-platform competition in this space, one less -requirement for Windows will exist. Right now, if you implement on Windows, you -are most likely going to use MSSQL and be stuck there. With a good Win32 -PostgreSQL, an engineer can implement on PostgreSQL for Windows, and easily -move it to a "real" environment for stability. - -I see it as an important step. - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22561@postgresql.org Wed May 8 15:02:45 2002 -Return-path: <pgsql-hackers-owner+M22561@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48J2i411999 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 15:02:45 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 75F024766AF; Wed, 8 May 2002 14:15:35 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E4F5F476768; Wed, 8 May 2002 13:25:20 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id EF975476774 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 13:22:11 -0400 (EDT) -Received: from sss.pgh.pa.us (unknown [192.204.191.242]) - by postgresql.org (Postfix) with ESMTP id 275C2476365 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 11:57:17 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.11.4/8.11.4) with ESMTP id g48FvBv02684; - Wed, 8 May 2002 11:57:11 -0400 (EDT) -To: Thomas Lockhart <lockhart@fourpalms.org> -cc: mlw <markw@mohawksoft.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - Dann Corbit <DCorbit@connx.com> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -In-Reply-To: <3CD9461E.1FDC6344@fourpalms.org> -References: <3CD91B88.38CD6C3@mohawksoft.com> <3CD9461E.1FDC6344@fourpalms.org> -Comments: In-reply-to Thomas Lockhart <lockhart@fourpalms.org> - message dated "Wed, 08 May 2002 08:37:02 -0700" -Date: Wed, 08 May 2002 11:57:11 -0400 -Message-ID: <2681.1020873431@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Thomas Lockhart <lockhart@fourpalms.org> writes: -> 2) If (1) does not exempt the PostgreSQL app from GPL polution, then why -> not distribute PostgreSQL on Windows using a GPL license? - -Given the cygwin licensing terms stated at - http://cygwin.com/licensing.html -it appears to me that we need not open that can of worms (and I'd much -rather not muddy the licensing waters that way, regardless of any -arguments about whether it would hurt or not...) - -As near as I can tell, we *could* develop a self-contained installation -package for PG+cygwin without any licensing problem. So that set of -problems could be solved with a reasonable amount of work. I'm still -unclear on whether there are serious technical problems (performance, -stability) with using cygwin. - -(Actually, even if there are performance or stability problems, an -easily-installable package would still address the needs of people who -want to "try it out" or "get their feet wet". And maybe that's all we -need to do. We always have said that we recommend a Unix platform for -production-grade PG installations, and IMNSHO that recommendation would -not change one iota if there were a native rather than cygwin-based -Windows port. So I'm unconvinced that we have a problem to solve -anyway...) - - regards, tom lane - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22572@postgresql.org Wed May 8 15:21:17 2002 -Return-path: <pgsql-hackers-owner+M22572@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48JLG412576 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 15:21:16 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id BA544476CFE; Wed, 8 May 2002 14:58:31 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 516A14768DC; Wed, 8 May 2002 14:15:14 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5EFF147646E - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 13:41:38 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id EDE53475B42 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 12:34:15 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g48GT7t23160; - Wed, 8 May 2002 12:29:07 -0400 -Message-ID: <3CD95253.45C01EC0@mohawksoft.com> -Date: Wed, 08 May 2002 12:29:07 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Thomas Lockhart <lockhart@fourpalms.org> -cc: Tom Lane <tgl@sss.pgh.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - Dann Corbit <DCorbit@connx.com> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -References: <3CD91B88.38CD6C3@mohawksoft.com> <3CD9461E.1FDC6344@fourpalms.org> <2681.1020873431@sss.pgh.pa.us> <3CD94E04.AF837261@fourpalms.org> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Thomas Lockhart wrote: -> -> ... -> > As near as I can tell, we *could* develop a self-contained installation -> > package for PG+cygwin without any licensing problem. -> -> Right. That was my opinion also. But istm that however the discussion -> settles out, there is a path to success. - -These last couple days have really started me thinking about Windows again. I -developed Windows software for over a decade, geez much longer than that, I -wrote my first Windows program using the Windows 1.03 SDK. (I am in a 12 step -program now, but you guys are causing a relapse!) - -Listen, here is purely my opinion on the matter, I am speaking from my -experience as a Windows user, developer, and author (Tricks of the Windows 3.1 -Masters). - -It is useless to spend serious time on a cygwin version. Yea, it is cool and -all, but it won't be used. From the eyes of a Windows user cygwin is a hack and -a mess. An IT guy that only knows Windows will never use it, and if presented -with a program that forces a UNIX like directory tree on their hard drive and -UNIX like tools to manage it, they will delete the program and curse the time -spent installing it. - -Performance may also be an issue, I don't know for sure, but it is suspected. -The cygwin fork troubles me as well. It may work, but I would not call it a -"production" technique, how about you? Would you bet your business on cygwin -and a hacked fork()? - -No matter what steps you take, cygwin will not be seen by Windows users as -anything but a sloppy/messy/horrible hack. It is a fact of life. You are -welcome to disagree, but I assure you it is true. - ->From a usefulness perspective, a cygwin version of PostgreSQL will be nothing -more than a proof of concept, a test bed, or a demo. It will never be used as a -serious database. How much work does that warrant? - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22576@postgresql.org Wed May 8 17:06:18 2002 -Return-path: <pgsql-hackers-owner+M22576@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48L6I414548 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 17:06:18 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id BA4F7475E25; Wed, 8 May 2002 17:06:16 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 60B724766C8; Wed, 8 May 2002 16:04:42 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id CC22D4764C2 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 15:57:12 -0400 (EDT) -Received: from www.wgcr.org (www.wgcr.org [206.74.232.194]) - by postgresql.org (Postfix) with ESMTP id E24B8476509 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 14:58:13 -0400 (EDT) -Received: from localhost.localdomain ([10.1.2.103]) - by www.wgcr.org (8.9.3/8.9.3/WGCR) with ESMTP id OAA26136; - Wed, 8 May 2002 14:58:09 -0400 -Content-Type: text/plain; - charset="iso-8859-1" -From: Lamar Owen <lamar.owen@wgcr.org> -To: Thomas Lockhart <lockhart@fourpalms.org>, mlw <markw@mohawksoft.com> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -Date: Wed, 8 May 2002 14:49:39 -0400 -User-Agent: KMail/1.4.1 -cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, Dann Corbit <DCorbit@connx.com> -References: <3CD91B88.38CD6C3@mohawksoft.com> <3CD9461E.1FDC6344@fourpalms.org> -In-Reply-To: <3CD9461E.1FDC6344@fourpalms.org> -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Message-ID: <200205081449.39473.lamar.owen@wgcr.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Wednesday 08 May 2002 11:37 am, Thomas Lockhart wrote: -> 1) cygwin is licensed under GPL. So is GNU/Linux, which provides the -> same APIs as cygwin does. Linux does not pollute application licenses, -> presumably because Linux itself is not *required* to run the - -The Linux kernel is not under a pure GPL. - -COPYING in the kernel source says this, prepended to the GPL: - NOTE! This copyright does *not* cover user programs that use kernel - services by normal system calls - this is merely considered normal use - of the kernel, and does *not* fall under the heading of "derived work". - Also note that the GPL below is copyrighted by the Free Software - Foundation, but the instance of code that it refers to (the Linux - kernel) is copyrighted by me and others who actually wrote it. - - Also note that the only valid version of the GPL as far as the kernel - is concerned is _this_ particular version of the license (ie v2, not - v2.2 or v3.x or whatever), unless explicitly otherwise stated. - - Linus Torvalds - --------------------------------------------------------------------------- - -Does cygwin make the same statement? - -> 2) If (1) does not exempt the PostgreSQL app from GPL polution, then why -> not distribute PostgreSQL on Windows using a GPL license? - -[snip] - -> 3) If (2) is the case, then development could continue under the BSD -> license, since developers could use the BSD-original code for their -> development work. So there is no risk of "backflow polution". - -Can PostgreSQL, Inc be the GPL distributor for these purposes, being a -separate entity from the PostgreSQL Global Development Group? --- -Lamar Owen -WGCR Internet Radio -1 Peter 4:11 - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22580@postgresql.org Wed May 8 17:34:55 2002 -Return-path: <pgsql-hackers-owner+M22580@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48LYs414954 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 17:34:54 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 389864764D9; Wed, 8 May 2002 17:25:43 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D4E77476647; Wed, 8 May 2002 17:03:04 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 8860F4763EF - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 17:02:53 -0400 (EDT) -Received: from pd2mo3so.prod.shaw.ca (h24-71-223-10.cg.shawcable.net [24.71.223.10]) - by postgresql.org (Postfix) with ESMTP id 5A0764765E6 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 15:53:59 -0400 (EDT) -Received: from pd4mr2so.prod.shaw.ca - (pd4mr2so-qfe3.prod.shaw.ca [10.0.141.213]) by l-daemon - (iPlanet Messaging Server 5.1 (built May 7 2001)) - with ESMTP id <0GVT009HA5Y0UG@l-daemon> for pgsql-hackers@postgresql.org; Wed, - 08 May 2002 13:54:00 -0600 (MDT) -Received: from pn2ml5so.prod.shaw.ca - (pn2ml5so-qfe0.prod.shaw.ca [10.0.121.149]) by l-daemon - (iPlanet Messaging Server 5.1 (built May 7 2001)) - with ESMTP id <0GVT00GCO5Y0ZV@l-daemon> for pgsql-hackers@postgresql.org; Wed, - 08 May 2002 13:54:00 -0600 (MDT) -Received: from refractions.net - (h24-65-178-198.gv.shawcable.net [24.65.178.198]) by l-daemon - (iPlanet Messaging Server 5.1 (built May 7 2001)) - with ESMTP id <0GVT00GCZ5XZ1F@l-daemon> for pgsql-hackers@postgresql.org; Wed, - 08 May 2002 13:54:00 -0600 (MDT) -Date: Wed, 08 May 2002 12:53:57 -0700 -From: Paul Ramsey <pramsey@refractions.net> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -To: mlw <markw@mohawksoft.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Message-ID: <3CD98255.4B52751@refractions.net> -MIME-Version: 1.0 -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.17 i586) -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7BIT -X-Accept-Language: en -References: <3CD91B88.38CD6C3@mohawksoft.com> <3CD9461E.1FDC6344@fourpalms.org> - <2681.1020873431@sss.pgh.pa.us> <3CD94E04.AF837261@fourpalms.org> - <3CD95253.45C01EC0@mohawksoft.com> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -mlw wrote: -> -> No matter what steps you take, cygwin will not be seen by Windows users as -> anything but a sloppy/messy/horrible hack. It is a fact of life. You are -> welcome to disagree, but I assure you it is true. - -Just to clarify here: is it confirmed that having the complete cygwin -distribution is a necessary condition to having a running PostgreSQL on -windows? Is it not possible that, having built postgresql with the full -cygwin, it would be possible to make a nice clean setup.exe package -which bundles the postgresql executables, the required cygwin dlls and -other niceties into an easy install package? Given that, I do not think -your putative windows user would care at all about what was going on -under the covers. As long as the install was clean, there were utilities -(pgadmin?) to start working with the database right away, and things -"just worked", the ugliness (or exquisite symmetry... I am not an -expert) of the fork() implementation really would not be an issue :) - -Of course, an imaginary beautiful packaging regime hinges on the -possibility of bundling the cygwin api libraries cleanly without -bundling all the rest of the cygwin scruft (unix directory heirarchy, -etc etc). Anyone have any light to shed on cygwin's "packagability"? - -P. - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22581@postgresql.org Wed May 8 17:58:25 2002 -Return-path: <pgsql-hackers-owner+M22581@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48LwP415342 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 17:58:25 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id CC3F3476BD3; Wed, 8 May 2002 17:36:38 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id F00F5476833; Wed, 8 May 2002 17:09:20 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id D372D4764F1 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 17:09:09 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id BC6DA4759FC - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 16:17:28 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g48KCHt24008; - Wed, 8 May 2002 16:12:17 -0400 -Message-ID: <3CD986A1.9DC78DD2@mohawksoft.com> -Date: Wed, 08 May 2002 16:12:17 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Paul Ramsey <pramsey@refractions.net> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -References: <3CD91B88.38CD6C3@mohawksoft.com> <3CD9461E.1FDC6344@fourpalms.org> - <2681.1020873431@sss.pgh.pa.us> <3CD94E04.AF837261@fourpalms.org> - <3CD95253.45C01EC0@mohawksoft.com> <3CD98255.4B52751@refractions.net> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Paul Ramsey wrote: -> -> mlw wrote: -> > -> > No matter what steps you take, cygwin will not be seen by Windows users as -> > anything but a sloppy/messy/horrible hack. It is a fact of life. You are -> > welcome to disagree, but I assure you it is true. -> -> Just to clarify here: is it confirmed that having the complete cygwin -> distribution is a necessary condition to having a running PostgreSQL on -> windows? Is it not possible that, having built postgresql with the full -> cygwin, it would be possible to make a nice clean setup.exe package -> which bundles the postgresql executables, the required cygwin dlls and -> other niceties into an easy install package? Given that, I do not think -> your putative windows user would care at all about what was going on -> under the covers. As long as the install was clean, there were utilities -> (pgadmin?) to start working with the database right away, and things -> "just worked", the ugliness (or exquisite symmetry... I am not an -> expert) of the fork() implementation really would not be an issue :) - -Windows users expect to have C:\my programs\postgres as the install location. A -person who has used or looked at MSSQL would expect to deal with the real file -system. The cygwin environment shields the UNIX program from Windows, the -Windows user would expect the program to deal with the system as is. - -The Windows user that would install PostgreSQL would expect it to be a real -windows program, but would be savvy enough (and prejudiced enough) to know if -it weren't. - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22585@postgresql.org Wed May 8 19:23:09 2002 -Return-path: <pgsql-hackers-owner+M22585@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g48NN8416625 - for <pgman@candle.pha.pa.us>; Wed, 8 May 2002 19:23:08 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 7823A475A2E; Wed, 8 May 2002 19:22:50 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 19B3C4768DA; Wed, 8 May 2002 18:52:18 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 260C14767D9 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 18:52:05 -0400 (EDT) -Received: from temp.joelburton.com (unknown [209.190.238.101]) - by postgresql.org (Postfix) with ESMTP id EF620475C14 - for <pgsql-hackers@postgresql.org>; Wed, 8 May 2002 18:09:39 -0400 (EDT) -Received: from joeltf0d13cyyp (unknown [209.190.238.100]) - by temp.joelburton.com (Postfix) with SMTP - id F16DF2B95F; Wed, 8 May 2002 18:14:05 -0400 (EDT) -From: "Joel Burton" <joel@joelburton.com> -To: "Paul Ramsey" <pramsey@refractions.net>, "mlw" <markw@mohawksoft.com> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -Date: Wed, 8 May 2002 18:09:41 -0400 -Message-ID: <JGEPJNMCKODMDHGOBKDNIEFNCNAA.joel@joelburton.com> -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Content-Transfer-Encoding: 7bit -X-Priority: 3 (Normal) -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2911.0) -Importance: Normal -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 -In-Reply-To: <3CD98255.4B52751@refractions.net> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -> -----Original Message----- -> From: pgsql-hackers-owner@postgresql.org -> [mailto:pgsql-hackers-owner@postgresql.org]On Behalf Of Paul Ramsey -> Sent: Wednesday, May 08, 2002 3:54 PM -> To: mlw -> Cc: PostgreSQL-development -> Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -> -> -> mlw wrote: -> > -> > No matter what steps you take, cygwin will not be seen by -> Windows users as -> > anything but a sloppy/messy/horrible hack. It is a fact of life. You are -> > welcome to disagree, but I assure you it is true. -> -> Just to clarify here: is it confirmed that having the complete cygwin -> distribution is a necessary condition to having a running PostgreSQL on -> windows? Is it not possible that, having built postgresql with the full -> cygwin, it would be possible to make a nice clean setup.exe package -> which bundles the postgresql executables, the required cygwin dlls and -> other niceties into an easy install package? Given that, I do not think -> your putative windows user would care at all about what was going on -> under the covers. As long as the install was clean, there were utilities -> (pgadmin?) to start working with the database right away, and things -> "just worked", the ugliness (or exquisite symmetry... I am not an -> expert) of the fork() implementation really would not be an issue :) -> -> Of course, an imaginary beautiful packaging regime hinges on the -> possibility of bundling the cygwin api libraries cleanly without -> bundling all the rest of the cygwin scruft (unix directory heirarchy, -> etc etc). Anyone have any light to shed on cygwin's "packagability"? - -Certainly, we don't need all of cygwin (eg bison, gcc, perl, et al). We'd -need the dll, sh, rm, and few other things. I'm not sure if it would need to -be in the standard cygwin file structure; I know that you can reconfigure -this when you use cygwin (I used to). In any event, instead of having to -have a novice pick & guess which of >100 packages they need, we could put -together the 5 or 6 they need. - -I'm not sure I agree entirely with mlw: some Windows admins will be afraid -of cygwin, but, I'll bet more than a few won't even notice that its being -used (especially if we can change the dir names, provide windows shortcuts -to the commands like initdb, create database, pg_ctl, etc., which would be -trivial to do). - -Still unanswered is real data on whether cygwin would be good for serious -production use by real people. However, for the test/play/try-out model, I -think cygwin would be a fine solution, and wouldn't (shouldn't?) require too -much work. - -- J. - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22603@postgresql.org Thu May 9 03:24:18 2002 -Return-path: <pgsql-hackers-owner+M22603@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g497OG421663 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 03:24:17 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id BD8C94762B1; Thu, 9 May 2002 03:24:11 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id A799C475F77; Thu, 9 May 2002 03:23:37 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 82716476077 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 03:23:11 -0400 (EDT) -Received: from smtp6.jaring.my (smtp6.jaring.my [61.6.32.56]) - by postgresql.org (Postfix) with ESMTP id AB0DD475A35 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 03:21:53 -0400 (EDT) -Received: from pc.mecomb.com (j202.crc20.jaring.my [61.6.157.216]) - by smtp6.jaring.my (8.11.4/8.11.4) with ESMTP id g497LYl12649; - Thu, 9 May 2002 15:21:35 +0800 (MYT) -Message-ID: <5.1.0.14.1.20020509143654.036387b0@192.228.128.13> -X-Sender: lyeoh@192.228.128.13 -X-Mailer: QUALCOMM Windows Eudora Version 5.1 -Date: Thu, 09 May 2002 15:34:06 +0800 -To: mlw <markw@mohawksoft.com>, Lee Kindness <lkindness@csl.co.uk> -From: Lincoln Yeoh <lyeoh@pop.jaring.my> -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -In-Reply-To: <3CD949FA.86BD95D2@mohawksoft.com> -References: <3CD91B88.38CD6C3@mohawksoft.com> - <15577.17903.180863.251963@kelvin.csl.co.uk> -MIME-Version: 1.0 -Content-Type: text/plain; charset="us-ascii"; format=flowed -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Who really is your target "market" on the windows platform? Microsoft -Access users (many)? MySQL users(insignificant?)? MSSQL (many)? - -Assuming that the postgresql team isn't getting lots of money or resources -to do it. I don't see why you would want to invest a lot to support windows -from a long term point of view. Windows can be a costly platform to support. - -Because if you become a serious threat, Microsoft can rip the rug from -beneath you any chance they get. Also Microsoft WILL always change their -APIs. They're not stupid. If Microsoft freezes their APIs they will end up -like "yet another BIOS manufacturer", and bye bye profit margins. Microsoft -will strive to keep it a proprietary AND changing API. - -Windows is rather different operationally. Automating vacuum etc on windows -is going to be different. Starting postgresql as a service is going to be -different as well. Same for uninstalling. So support requests are going to -be different. - -If your target market is consumer - Windows consumer users also have -different expectations. Most will want nicer GUIs (those that don't care -won't mind running Postgresql elsewhere). - -BTW if your target market is a bit higher end - typically those that "must -use" windows also "must use" MSSQL/Oracle/etc. You will thus have to build -brand recognition for Postgresql on Windows. - -All this will cost you. - -That said, is it easier to support only Windows NT/2000 and forget about -Win9x? The bigger dbs don't support win9x either (how does Oracle/DB2 -support NT? They seem to work ok). Leave MySQL to the Win9x people ;). BTW -does MySQL really perform OK on Win9x? - -Forget the Cygwin approach. Is there really a market for that? Unless -things have got a lot easier, installing Cygwin is like installing a new -O/S just to install your app. And installing and learning a new system has -got to be one of the major barriers, otherwise people will either buy a new -USD500 1.5+ GHz pc or use VMware+BSD/Linux+Postgresql ;). - -Cheerio, -Link. - -At 11:53 AM 5/8/02 -0400, mlw wrote: ->writing software for over 20 years now, and sometimes you just have to hold ->your nose. It would be nice if we could code what we want, the way we want, in ->the language we want, on the platforms we want. -> ->Windows represents a HUGE user base, it also represents a platform for which a ->real good native PostgreSQL should do well. There are, to my knowledge, no ->good ->and free databases available for Windows. -> ->PostgreSQL on Windows could be very cool as a serious poster child for why ->open-source is the way to go. - - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22605@postgresql.org Thu May 9 03:42:59 2002 -Return-path: <pgsql-hackers-owner+M22605@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g497gw422047 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 03:42:58 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id A01394762EE; Thu, 9 May 2002 03:42:53 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E51C14762AD; Thu, 9 May 2002 03:42:47 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 6547E475A24 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 03:42:19 -0400 (EDT) -Received: from salem.vale-housing.co.uk (mailgate.vale-housing.co.uk [193.195.77.162]) - by postgresql.org (Postfix) with SMTP id 2D2A5475A19 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 03:42:18 -0400 (EDT) -Subject: Re: [HACKERS] Path to PostgreSQL portabiliy -Date: Thu, 9 May 2002 08:42:18 +0100 -Message-ID: <214E9C0A75426D47A876A2FD8A07426E9747@salem.vale-housing.co.uk> -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 -Thread-Topic: Path to PostgreSQL portabiliy -Thread-Index: AcH251A9jOrpk8IETTmDgJDVmp55WQAAClTQABEg5nA= -From: "Dave Page" <dpage@vale-housing.co.uk> -To: "Dann Corbit" <DCorbit@connx.com>, - "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g497gw422047 -Status: RO - - - -> -----Original Message----- -> From: Dann Corbit [mailto:DCorbit@connx.com] -> Sent: 09 May 2002 00:31 -> To: PostgreSQL-development -> Subject: Re: Path to PostgreSQL portabiliy -> -> -> If you have a Win32 workstation... -> Look here: -> http://sources.redhat.com/cygwin/ -> -> Then click on the thing that says "Install Now" (Looks like a -> black "C" with a green tongue). -> -> after a small boatload of clicks, you will see a Window -> labeled "Cygwin Setup". Under +All you will find... -> +Admin -> +Archive -> +Base -> +Database -> -> Click on the plus sign next to the Database category. -> -> You will see: -> 7.2.1-1 [options] [Bin] [Src] [Package] posgresql: -> PostgreSQL Data Base Management System -> -> In other words, they already have an automated installation -> procedure for PostgreSQL if you are using Cygwin. - -The last time I tried that (coupla months ago) it listed the versions of -the packages in reverse order, so I spent about 15 very tedious minutes -making sure that I have the latest version of all the packages I wanted -selected. - -Then I spent an hour or 2 battling with ntsec and initdb on my laptop -(logged onto, but disconnected from the domain). After that I gave up -and went back to my very old release that works fine. - -The point I'm trying to make is that if I, as a not inexperienced -sysadmin of both Windows and Unix systems (not to mention PostgreSQL -which I like to think I'm fairly familiar with) has this trouble, what -impression is that going to give the first time user, who's probably -going to go elsewhere at the first sign of trouble? - -Regards, Dave. - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M22628@postgresql.org Thu May 9 10:26:16 2002 -Return-path: <pgsql-hackers-owner+M22628@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49EQF406536 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 10:26:16 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id A60614764BC; Thu, 9 May 2002 10:26:09 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 5A7754763DA; Thu, 9 May 2002 10:13:35 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 31877476414 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 10:13:23 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 2BD714764C9 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 10:10:25 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49E53t28604; - Thu, 9 May 2002 10:05:03 -0400 -Message-ID: <3CDA820F.136D65F5@mohawksoft.com> -Date: Thu, 09 May 2002 10:05:03 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Jan Wieck <janwieck@yahoo.com> -cc: Tom Lane <tgl@sss.pgh.pa.us>, "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] How much work is a native Windows application? -References: <200205091344.g49DiBp01273@saturn.janwieck.net> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Jan Wieck wrote: -> -> Tom Lane wrote: -> > "Marc G. Fournier" <scrappy@hub.org> writes: -> > > On Tue, 7 May 2002, Tom Lane wrote: -> > >> It'd be worth trying to understand cygwin issues in detail before we -> > >> sign up to do and support a native Windows port. -> > -> > > Actually, there are licensing issues involved ... we could never put a -> > > 'windows binary' up for anon-ftp, since to distribute it would require the -> > > cygwin.dll to be distributed, and to do that, there is a licensing cost -> > > ... of course, I guess we could require ppl to download cygwin seperately, -> > > install that, then install the binary over top of that ... -> > -> > <<itch>> And how much development time are we supposed to expend to -> > avoid that? -> > -> > Give me a technical case for avoiding Cygwin, and maybe I can get -> > excited about it. I'm not planning to lift a finger on the basis -> > of licensing though... after all, Windows users are accustomed to -> > paying for software, no? -> -> Nobody asked you to lift any of your fingers. A few people -> (including me) just see value in a native Windows port, -> kicking out the Cygwin requirement. -> -> I have the impression you never did use Cygwin. I did, thanks -> but no thanks. - -I have used the cygwin version too. It is a waste of time. No Windows user will -ever accept it. No windows-only user is going to use the cygwin tools. From a -production stand point, would anyone reading this trust their data to -PostgreSQL running on cygwin? Think about it, if you wouldn't, why would anyone -else. - -I think, and I know people are probably sick of me spouting opinions, that if -you want a Windows presence for PostgreSQL, then we should write a real Win32 -version. - -If the global/static variables which are initialized by the postmaster are -moved to a structure, we can should be able to remove the fork() requirement -and port to a Win32 native system. - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22630@postgresql.org Thu May 9 10:37:12 2002 -Return-path: <pgsql-hackers-owner+M22630@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49EbB409822 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 10:37:11 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 8ADB347661B; Thu, 9 May 2002 10:37:02 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 834AC4765D2; Thu, 9 May 2002 10:32:37 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id B04C04763ED - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 10:32:26 -0400 (EDT) -Received: from sss.pgh.pa.us (unknown [192.204.191.242]) - by postgresql.org (Postfix) with ESMTP id 858BD47644B - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 10:25:44 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.11.4/8.11.4) with ESMTP id g49EPhW19333; - Thu, 9 May 2002 10:25:43 -0400 (EDT) -To: mlw <markw@mohawksoft.com> -cc: Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] How much work is a native Windows application? -In-Reply-To: <3CDA820F.136D65F5@mohawksoft.com> -References: <200205091344.g49DiBp01273@saturn.janwieck.net> <3CDA820F.136D65F5@mohawksoft.com> -Comments: In-reply-to mlw <markw@mohawksoft.com> - message dated "Thu, 09 May 2002 10:05:03 -0400" -Date: Thu, 09 May 2002 10:25:43 -0400 -Message-ID: <19330.1020954343@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -mlw <markw@mohawksoft.com> writes: -> I have used the cygwin version too. It is a waste of time. No Windows user will -> ever accept it. No windows-only user is going to use the cygwin tools. - -With decent packaging, no windows-only user would even know we have -cygwin in there. The above argument is just plain irrelevant. The real -point is that we need a nice clean friendly GUI for both installation -and administration --- and AFAICS that will take about the same amount of -work to write whether the server requires cygwin internally or not. - -Rather than expending largely-pointless work on internal rewrites of -the server, people who care about this issue ought to be thinking about -the GUI problems. - -> From a production stand point, would anyone reading this trust their -> data to PostgreSQL running on cygwin? - -I wouldn't trust my data to *any* database running on a Microsoft OS. -Period. The above argument thus doesn't impress me at all, especially -when it's being made without offering a shred of evidence that cygwin -contributes any major degree of instability. - -I am especially unhappy about the prospect of major code revisions -and development time spent on chasing this rather than improving our -performance and stability on Unix-type OSes. I agree with the comment -someone else made: that's just playing Microsoft's game. - - regards, tom lane - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22634@postgresql.org Thu May 9 11:12:12 2002 -Return-path: <pgsql-hackers-owner+M22634@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49FCB419783 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 11:12:11 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id DCF27475C4C; Thu, 9 May 2002 11:12:06 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 5CAC8476567; Thu, 9 May 2002 11:08:52 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 582F94762CF - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 11:08:41 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 807C3475C8E - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 11:00:17 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49Et1t28775; - Thu, 9 May 2002 10:55:01 -0400 -Message-ID: <3CDA8DC5.A76330A1@mohawksoft.com> -Date: Thu, 09 May 2002 10:55:01 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Tom Lane <tgl@sss.pgh.pa.us> -cc: Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] How much work is a native Windows application? -References: <200205091344.g49DiBp01273@saturn.janwieck.net> <3CDA820F.136D65F5@mohawksoft.com> <19330.1020954343@sss.pgh.pa.us> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Tom Lane wrote: -> With decent packaging, no windows-only user would even know we have -> cygwin in there. The above argument is just plain irrelevant. The real -> point is that we need a nice clean friendly GUI for both installation -> and administration --- and AFAICS that will take about the same amount of -> work to write whether the server requires cygwin internally or not. - -Can a cygwin version of PostgreSQL see the native file system, like: C:\My -Database, D:\postgres? - -> > From a production stand point, would anyone reading this trust their -> > data to PostgreSQL running on cygwin? -> -> I wouldn't trust my data to *any* database running on a Microsoft OS. - -That is a prejudice that is affecting your judgment. Many people do trust -Windows, do I? No, but a lot of people do. People have trusted their businesses -on Windows NT/2K/XP, many are still doing so. We want these people to use -PostgreSQL, so when they see the error in their ways, they have a way out. - - -> The above argument thus doesn't impress me at all, especially -> when it's being made without offering a shred of evidence that cygwin -> contributes any major degree of instability. - ->From a software development standpoint, I am VERY uncomfortable with the -technique of a user space program copying its writeable memory to another -process's. It may work until Microsoft changes something with the next version -of IE. What about anti-virus software, cygwin has problems with them, and you -have to have anti-virus software on Windows. - -On top of that, the time spent copying the whole process is too long, and it -forces real memory to be allocated and initialized at process startup. - -So, the cygwin fork() will cause PostgreSQL to be slower and use more memory -than a native version, and will not co-exist well with anti-virus software. - -> -> I am especially unhappy about the prospect of major code revisions -> and development time spent on chasing this rather than improving our -> performance and stability on Unix-type OSes. I agree with the comment -> someone else made: that's just playing Microsoft's game. - -Maybe is is playing "Microsoft's Game" but the end result will be a program -that can seriously compete with MSSQL on Windows, and provide a REAL migration -path to UNIX. - -Many developers use MSSQL because they "have it" in MSDN, so to them, it is -free. Once they develop something using it, they are tied to Windows. When it -comes time to deploy their pet project, the company has to cough up the price -of the server. - -A native, friendly, Win32 PostgreSQL that works the same on Windows as it does -on FreeBSD, Linux, Solaris, etc. Will offer the developer real options away -from Windows. - -Also: I don't think it needs to be a major rewrite, no strategy needs to -change, it is basically renaming variables, i.e. my_global_var becomes -pg_globals.my_global_var. - -Once that is done, a port writer can do what ever they need to do to get that -structure to the child correctly. As an exercise, I bet if we did this, we -would find bugs which are lurking, as yet unfound. - -Besides, the discipline of using a globals structure will improve the code -base. Don't you agree? - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22635@postgresql.org Thu May 9 11:26:08 2002 -Return-path: <pgsql-hackers-owner+M22635@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49FQ7422749 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 11:26:07 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 2AD70475C8E; Thu, 9 May 2002 11:26:03 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 73B2E4764F7; Thu, 9 May 2002 11:23:55 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 53F84475FE2 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 11:23:46 -0400 (EDT) -Received: from myst.fourpalms.org (www.fourpalms.org [64.3.68.148]) - by postgresql.org (Postfix) with ESMTP id 5269D47626D - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 11:13:16 -0400 (EDT) -Received: from fourpalms.org (localhost.localdomain [127.0.0.1]) - by myst.fourpalms.org (Postfix) with ESMTP - id 254F4201196; Thu, 9 May 2002 08:13:18 -0700 (PDT) -Message-ID: <3CDA920D.9AF8F9CF@fourpalms.org> -Date: Thu, 09 May 2002 08:13:17 -0700 -From: Thomas Lockhart <lockhart@fourpalms.org> -Organization: Yes -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.8-34.1mdk i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: mlw <markw@mohawksoft.com> -cc: Lee Kindness <lkindness@csl.co.uk>, Jan Wieck <janwieck@yahoo.com>, - Tom Lane <tgl@sss.pgh.pa.us>, "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] How much work is a native Windows application? -References: <29206.1020833367@sss.pgh.pa.us> - <200205091344.g49DiBp01273@saturn.janwieck.net> <15578.33799.700751.945380@kelvin.csl.co.uk> <3CDA866D.25E7FADF@mohawksoft.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -... -> PostgreSQL's feature set and price ($0), with a good installer, would do VERY -> well. - -That may be (I'd like to think so!). - -We've identified at least a couple of barriers to folks running -PostgreSQL on Windows. The installer and GUI issue needs to be solved no -matter what, and we *could* have a version running on Windows with just -those things in place. - -imho if we are going down the path, we need to take the first steps. And -those do *not* require code rewrites to do so (or at least don't appear -to). - -If we had a package available for Windows -- with some developers such -as yourself supporting it -- then we could talk about putting more -resources into supporting that platform better. But the perception of at -least some of the key developers (including myself) is that *if* we did -the code rewrite, and *if* we spent the effort to end up as a native on -Windows, then we *very well might* be an unreliable database on an -unreliable platform. - -istm that getting a well packaged system running now, then being able to -identify *only cygwin* as the barrier to better reliability would get -more support for changes in the backend code. - -And if we were working toward some ability to do threading anyway (I -don't see that in the near future, but we've talked in the past about -structuring the query engine around "tuple sources" which could then be -distributed across threads or across machines) then maybe the next step -is easier. - -My 2c... - - - Thomas - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22644@postgresql.org Thu May 9 12:57:33 2002 -Return-path: <pgsql-hackers-owner+M22644@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49GvX424180 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 12:57:33 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id B60CA47643B; Thu, 9 May 2002 12:57:27 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 841634766DB; Thu, 9 May 2002 12:50:50 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5B98D476528 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:50:36 -0400 (EDT) -Received: from smtp012.mail.yahoo.com (smtp012.mail.yahoo.com [216.136.173.32]) - by postgresql.org (Postfix) with SMTP id D4DB2475AD5 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:41:12 -0400 (EDT) -Received: from psc.progress.com (HELO saturn.janwieck.net) (janwieck@192.233.92.200 with login) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 9 May 2002 16:41:17 -0000 -Received: (from wieck@localhost) - by saturn.janwieck.net (8.11.2/8.11.2) id g49GbGx01621; - Thu, 9 May 2002 12:37:16 -0400 -From: Jan Wieck <janwieck@yahoo.com> -Message-ID: <200205091637.g49GbGx01621@saturn.janwieck.net> -Subject: Re: [HACKERS] How much work is a native Windows application? -In-Reply-To: <3CDA820F.136D65F5@mohawksoft.com> from mlw at "May 9, 2002 10:05:03 - am" -To: mlw <markw@mohawksoft.com> -Date: Thu, 9 May 2002 12:37:16 -0400 (EDT) -cc: Jan Wieck <janwieck@yahoo.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL68 (25)] -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -mlw wrote: -> I think, and I know people are probably sick of me spouting opinions, that if -> you want a Windows presence for PostgreSQL, then we should write a real Win32 -> version. -> -> If the global/static variables which are initialized by the postmaster are -> moved to a structure, we can should be able to remove the fork() requirement -> and port to a Win32 native system. - - My opinion here is that until May 1998 Postgres did exec(), - so it was clean and okay for CreateProcess() up to then. Just - because we optimized it for the copy-on-write behaviour, - modern Unix kernels do with fork() only, is NO reason to - accept sloppy coding. The Postmaster and the backend have - different responsibilities. In fact, I still consider them - beeing different programs even if they reside in one - executable. Mixing global variables of one with the other is - wrong. - - -Jan - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22662@postgresql.org Thu May 9 14:47:23 2002 -Return-path: <pgsql-hackers-owner+M22662@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49IlM425877 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 14:47:22 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id C6581475F6B; Thu, 9 May 2002 14:47:21 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D1B6D476703; Thu, 9 May 2002 14:42:52 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id DB6884766AF - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 14:42:40 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 3726B47649E - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 14:28:24 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49IN2t29643; - Thu, 9 May 2002 14:23:02 -0400 -Message-ID: <3CDABE86.D38370F4@mohawksoft.com> -Date: Thu, 09 May 2002 14:23:02 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: cbbrowne@cbbrowne.com -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] How much work is a native Windows application? -References: <200205091344.g49DiBp01273@saturn.janwieck.net> <3CDA820F.136D65F5@mohawksoft.com> <20020509170233.2DC5A38CB3@cbbrowne.com> <3CDAB0B3.C7375A12@mohawksoft.com> <20020509174604.89E5938D1A@cbbrowne.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -cbbrowne@cbbrowne.com wrote: -> -> > cbbrowne@cbbrowne.com wrote: -> >>> I think, and I know people are probably sick of me spouting -> >>> opinions, that if you want a Windows presence for PostgreSQL, then -> >>> we should write a real Win32 version. -> >> -> >> The crucial wrong word is the word "we." -> -> >> If _you_ want a Windows presence, then _you_ should write a real -> >> Win32 version. That clearly attaches responsibility to someone who -> >> is interested. -> -> > I have already said that I am willing to write the pieces for a -> > Windows port. The issue is changes in PostgreSQL required to do it. -> -> No, I don't think you understand. -> -> If you're planning to do a port, then _all_ changes are your -> responsibility. Nobody ought to need to change PostgreSQL in order for -> you to write a Windows port; that, in fact, would be a waste of time, -> having several people working on something that should probably be done -> by one person. - -Without buy-in from the group, there is no point in me wasting my time doing -all the work necessary. I'm not interested in making Mark's special version of -PostgreSQL. - -If we can agree on a strategy and a course, then it is worth doing. If all the -changes made fall on the floor because the group does not like them, then I -wasted my time. Got it? - -Also, doing the Windows portions of the code will represent a significant -investment of my time. I'm not interested in doing a lot of work on a shoddy -project. If you ask the core group to put out a crappy version of PostgreSQL -for a UNIX, they would fight long and hard against it. Why should we be willing -to produce a crappy version for Windows, just because the people here don't -like Windows. - -I don't care about Solaris, but I understand WHY it is important to make -PostgreSQL work well on it. I don't understand why the people in this group -don't see the same purpose for a Windows port. To be honest, I think a good -Windows port will do wonders for PostgreSQL's acceptance. - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22680@postgresql.org Thu May 9 17:57:11 2002 -Return-path: <pgsql-hackers-owner+M22680@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49LvA428333 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 17:57:10 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 348D7476690; Thu, 9 May 2002 17:57:01 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 64C1747675C; Thu, 9 May 2002 17:56:24 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id CF8E1476162 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:56:13 -0400 (EDT) -Received: from rh72.home.ee (adsl1030.estpak.ee [213.168.29.11]) - by postgresql.org (Postfix) with ESMTP id F0DEF475F1A - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:55:09 -0400 (EDT) -Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) - by rh72.home.ee (8.11.6/8.11.6) with ESMTP id g49JrRc02592; - Fri, 10 May 2002 00:53:28 +0500 -Subject: Re: [HACKERS] How much work is a native Windows application? -From: Hannu Krosing <hannu@tm.ee> -To: Tom Lane <tgl@sss.pgh.pa.us> -cc: mlw <markw@mohawksoft.com>, Jan Wieck <janwieck@yahoo.com>, - "Marc G. Fournier" <scrappy@hub.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -In-Reply-To: <19330.1020954343@sss.pgh.pa.us> -References: <200205091344.g49DiBp01273@saturn.janwieck.net> - <3CDA820F.136D65F5@mohawksoft.com> <19330.1020954343@sss.pgh.pa.us> -Content-Type: text/plain -Content-Transfer-Encoding: 7bit -X-Mailer: Ximian Evolution 1.0.4 -Date: 10 May 2002 00:53:27 +0500 -Message-ID: <1020974008.2080.65.camel@rh72.home.ee> -MIME-Version: 1.0 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Thu, 2002-05-09 at 19:25, Tom Lane wrote: -> mlw <markw@mohawksoft.com> writes: -> > I have used the cygwin version too. It is a waste of time. No Windows user will -> > ever accept it. No windows-only user is going to use the cygwin tools. -> -> With decent packaging, no windows-only user would even know we have -> cygwin in there. The above argument is just plain irrelevant. The real -> point is that we need a nice clean friendly GUI for both installation -> and administration --- and AFAICS that will take about the same amount of -> work to write whether the server requires cygwin internally or not. - -<evil grin> -We can go the Oracle way and write a 200MB cross-platform java installer -requiring and exact version of java runtime -</evil grin> - -> Rather than expending largely-pointless work on internal rewrites of -> the server, people who care about this issue ought to be thinking about -> the GUI problems. - -pgAccess is quite nice (Disclaimer: I'm not a windows weenie, I run it -inside vmware/win98 IE browser test environment on my Linux workstation -;). - -Why not just bundle what we've got ? - -> > From a production stand point, would anyone reading this trust their -> > data to PostgreSQL running on cygwin? -> -> I wouldn't trust my data to *any* database running on a Microsoft OS. -> Period. - -Do we support Xenix and SCO ? - -> The above argument thus doesn't impress me at all, especially -> when it's being made without offering a shred of evidence that cygwin -> contributes any major degree of instability. - ->From the comments here it seems to be either cygwin or more likely -cygipc - -> I am especially unhappy about the prospect of major code revisions -> and development time spent on chasing this rather than improving our -> performance and stability on Unix-type OSes. I agree with the comment -> someone else made: that's just playing Microsoft's game. - -Not! - -I think that this thread is mostly about coordinating code and interface -cleanups that are likely beneficial for both *NIX and non-*NIX platforms -mainly - * cleaner support for semaphores - * separating shared and per-process data - * process creation - * (file operations) - * (init and service scripts) -if done properly none of these will degrade code quality nor -performance. - -Also, having a clean interface for those will not only enable any -interested party to make windows/BeOS/OSX/QNX binaries with less effort, -it will most likely make it easier make use of advances in *NIX world -like AIO, multiprocessor systems, NUMA and distributed systems, and just -make things more robust and reliable by making code inspection easier. - ---------------- -Hannu - - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22694@postgresql.org Thu May 9 21:02:16 2002 -Return-path: <pgsql-hackers-owner+M22694@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4A12F400739 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 21:02:15 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id F206D47693C; Thu, 9 May 2002 21:01:55 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 7D8704768C8; Thu, 9 May 2002 21:01:21 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 932C8475D9D - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 21:01:10 -0400 (EDT) -Received: from smtp001.bizmail.yahoo.com (smtp001.bizmail.yahoo.com [216.136.172.125]) - by postgresql.org (Postfix) with SMTP id 3159C475E90 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 20:59:55 -0400 (EDT) -Received: from unknown (HELO egutierrez) (eg@eldergriffon.org@205.216.186.2 with login) - by smtp1.bm.vip.sc5.yahoo.com with SMTP; 10 May 2002 00:59:59 -0000 -Message-ID: <00f701c1f7bd$ffdeddc0$8500005a@egutierrez> -Reply-To: "Ernesto Gutierrez" <egutierrez@eldergriffon.org> -From: "Ernesto Gutierrez" <egutierrez@eldergriffon.org> -To: "mlw" <markw@mohawksoft.com>, "Tom Lane" <tgl@sss.pgh.pa.us> -cc: "Jan Wieck" <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - "PostgreSQL-development" <pgsql-hackers@postgresql.org> -References: <200205091344.g49DiBp01273@saturn.janwieck.net> <3CDA820F.136D65F5@mohawksoft.com> <19330.1020954343@sss.pgh.pa.us> -Subject: Re: [HACKERS] How much work is a native Windows application? -Date: Thu, 9 May 2002 17:59:55 -0700 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 6.00.2600.0000 -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Tom Lane <tgl@sss.pgh.pa.us> writes: - -> mlw <markw@mohawksoft.com> writes: -> > I have used the cygwin version too. It is a waste of time. No Windows -user will -> > ever accept it. No windows-only user is going to use the cygwin tools. -> -> With decent packaging, no windows-only user would even know we have -> cygwin in there. The above argument is just plain irrelevant. The real -> point is that we need a nice clean friendly GUI for both installation -> and administration --- and AFAICS that will take about the same amount of -> work to write whether the server requires cygwin internally or not. - -I'm afraid I agree with mlw, Tom. I don't think the problem ends at the GUI, -although for many people it would. The issue extends at least also to -support and troubleshooting. In a production environment, I have a better -chance of figuring out what's going wrong with an application written -natively for an operating system dealing directly with that operating -system. I would take a dim view of using PostgreSQL running on cygwin unless -I had extensive experience doing it, or if there were no other alternative. - -> > From a production stand point, would anyone reading this trust their -> > data to PostgreSQL running on cygwin? -> -> I wouldn't trust my data to *any* database running on a Microsoft OS. -> Period. The above argument thus doesn't impress me at all, especially -> when it's being made without offering a shred of evidence that cygwin -> contributes any major degree of instability. - -If you could prove to me that cygwin doesn't contribute *any* instability, -I'd still be pretty worried, probably for the same reasons that you don't -trust any Microsoft OS. There are increased chances that something could go -critically wrong, particularly in an environment fundamentally different. I -think mlw's basic point is quite valid, that PG+cygwin will not ever find -favor with decision-makers who are used to Windows systems. Suspicion of -the other environment's foibles is common, and goes both ways. - -> I am especially unhappy about the prospect of major code revisions -> and development time spent on chasing this rather than improving our -> performance and stability on Unix-type OSes. I agree with the comment -> someone else made: that's just playing Microsoft's game. - -There I don't deny you may be right. - -Ernie Gutierrez -Walnut Creek, CA - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22642@postgresql.org Thu May 9 12:49:06 2002 -Return-path: <pgsql-hackers-owner+M22642@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Gn5424077 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 12:49:05 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id D130647648A; Thu, 9 May 2002 12:48:55 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 4AB694766F0; Thu, 9 May 2002 12:37:35 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id D272E4765B6 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:37:19 -0400 (EDT) -Received: from barry.xythos.com (sdsl-216-36-77-241.dsl.sjc.megapath.net [216.36.77.241]) - by postgresql.org (Postfix) with ESMTP id 1C87E476482 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:34:59 -0400 (EDT) -Received: from xythos.com (localhost.localdomain [127.0.0.1]) - by barry.xythos.com (8.11.6/8.11.6) with ESMTP id g49GGZg09296; - Thu, 9 May 2002 09:16:35 -0700 -Message-ID: <3CDAA0E3.5060706@xythos.com> -Date: Thu, 09 May 2002 09:16:35 -0700 -From: Barry Lind <barry@xythos.com> -User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc1) Gecko/20020417 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Tom Lane <tgl@sss.pgh.pa.us> -cc: "Henshall, Stuart - WCP" <SHenshall@westcountrypublications.co.uk>, - Thomas Lockhart <lockhart@fourpalms.org>, mlw <markw@mohawksoft.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - Dann Corbit <DCorbit@connx.com>, Joel Burton <joel@joelburton.com> -Subject: Re: [HACKERS] PG+Cygwin Production Experience (was RE: Path to PostgreSQL -References: <E2870D8CE1CCD311BAF50008C71EDE8E01F74896@MAIL_EXCHANGE> <19035.1020952312@sss.pgh.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -I have found this whole thread very interesting (I'm still not sure -where it is going though :-). But let me throw in some of my thoughts. - -A windows version of postgres (whether native of cygwin based) is -important. I have many developers with windows as their desktop OS and -they have a postgres db installed to do development work. Postgres on -cygwin is fine for this need. While I may not trust it in a production -environment it is certainly good enough for development. - -A second use we have for postgres on windows is in evals of our product. - We provide an eval version of our software as an InstallShield -installed .exe that includes our code, postgres and the necessary cygwin -parts. People doing evals just want to install the eval on their -everyday machine (most likely running windows) and it needs to be dead -simple to install. This can be done with postgres and cygwin. In this -example again the current postgres+cygwin works well enough for our -evals. Again I wouldn't run the production version in this environment, -but it is good enough for an eval. - -Our eval does show that it is possible to repackage postgres plus the -parts of cygwin it needs into a nice installer and have it work. (It is -a lot of work but is certainly possible). In fact in our eval install -we even use cygrunsrv to install postgres as a windows service. - -The biggest problem we have had is the fact that the utility scripts -(like pg_ctl, createdb, etc) are all shell scripts that call a whole -host of other utilities. It is pretty straight forward to package up -the postgres executable and the libraries it needs from cygwin. It is a -whole different problem making sure you have a standard unix style shell -environment with all the utilities installed so that you can run the -shell scripts. - -thanks, ---Barry - -Tom Lane wrote: -> "Henshall, Stuart - WCP" <SHenshall@westcountrypublications.co.uk> writes: -> ->>Cygwin is not the only additon needed, cygipc will also be needed (GPL) ->>(see: http://www.neuro.gatech.edu/users/cwilson/cygutils/cygipc/index.html ) -> -> -> Good point, but is this a requirement that we could get rid of, now that -> we have the SysV IPC stuff somewhat isolated? AFAICT cygipc provides -> the SysV IPC API (shmget, semget, etc) --- but if there are usable -> equivalents in the basic Cygwin environment, we could probably use them -> now. -> -> Considering how often we see the forgot-to-start-cygipc mistake, -> removing this requirement would be a clear win. -> -> regards, tom lane -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 3: if posting/reading through Usenet, please send an appropriate -> subscribe-nomail command to majordomo@postgresql.org so that your -> message can get through to the mailing list cleanly -> - - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22665@postgresql.org Thu May 9 15:30:11 2002 -Return-path: <pgsql-hackers-owner+M22665@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49JUA426599 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 15:30:10 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 2FCB8475B68; Thu, 9 May 2002 15:29:59 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 0739B47669C; Thu, 9 May 2002 15:28:49 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 4074C47642C - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 15:28:37 -0400 (EDT) -Received: from smtp017.mail.yahoo.com (smtp017.mail.yahoo.com [216.136.174.114]) - by postgresql.org (Postfix) with SMTP id 48B34476481 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 15:24:32 -0400 (EDT) -Received: from psc.progress.com (HELO saturn.janwieck.net) (janwieck@192.233.92.200 with login) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 9 May 2002 19:24:32 -0000 -Received: (from wieck@localhost) - by saturn.janwieck.net (8.11.2/8.11.2) id g49JKN402145; - Thu, 9 May 2002 15:20:23 -0400 -From: Jan Wieck <janwieck@yahoo.com> -Message-ID: <200205091920.g49JKN402145@saturn.janwieck.net> -Subject: Re: [HACKERS] PG+Cygwin Production Experience (was RE: Path to PostgreSQL -In-Reply-To: <3CDAA0E3.5060706@xythos.com> from Barry Lind at "May 9, 2002 09:16:35 - am" -To: Barry Lind <barry@xythos.com> -Date: Thu, 9 May 2002 15:20:23 -0400 (EDT) -cc: Tom Lane <tgl@sss.pgh.pa.us>, - "Henshall, Stuart - WCP" <SHenshall@westcountrypublications.co.uk>, - Thomas Lockhart <lockhart@fourpalms.org>, mlw <markw@mohawksoft.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org>, - Jan Wieck <janwieck@yahoo.com>, "Marc G. Fournier" <scrappy@hub.org>, - Dann Corbit <DCorbit@connx.com>, Joel Burton <joel@joelburton.com> -X-Mailer: ELM [version 2.4ME+ PL68 (25)] -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Barry Lind wrote: -> I have found this whole thread very interesting (I'm still not sure -> where it is going though :-). But let me throw in some of my thoughts. -> -> A windows version of postgres (whether native of cygwin based) is -> important. I have many developers with windows as their desktop OS and -> they have a postgres db installed to do development work. Postgres on -> cygwin is fine for this need. While I may not trust it in a production -> environment it is certainly good enough for development. -> -> A second use we have for postgres on windows is in evals of our product. -> We provide an eval version of our software as an InstallShield -> installed .exe that includes our code, postgres and the necessary cygwin -> parts. People doing evals just want to install the eval on their -> everyday machine (most likely running windows) and it needs to be dead -> simple to install. This can be done with postgres and cygwin. In this -> example again the current postgres+cygwin works well enough for our -> evals. Again I wouldn't run the production version in this environment, -> but it is good enough for an eval. -> -> Our eval does show that it is possible to repackage postgres plus the -> parts of cygwin it needs into a nice installer and have it work. (It is -> a lot of work but is certainly possible). In fact in our eval install -> we even use cygrunsrv to install postgres as a windows service. -> -> The biggest problem we have had is the fact that the utility scripts -> (like pg_ctl, createdb, etc) are all shell scripts that call a whole -> host of other utilities. It is pretty straight forward to package up -> the postgres executable and the libraries it needs from cygwin. It is a -> whole different problem making sure you have a standard unix style shell -> environment with all the utilities installed so that you can run the -> shell scripts. - - Do I read this right? You wrap the binary eval version of - your product, the binary PostgreSQL and CygWin including some - of the utility programs into one InstallShield .exe and ship - that? - - Hmmm, PostgreSQL's license is totally fine with that. And - your program is your program. But as far as I know bundling - with CygWin like this costs money. So you pay license fees to - RedHat for shipping eval copies of your product and don't see - any value in a native Windows port? Nobel, nobel, or does - your product have such an outstanding eval/sell ratio that it - doesn't matter? - - -Jan - -> -> thanks, -> --Barry -> -> Tom Lane wrote: -> > "Henshall, Stuart - WCP" <SHenshall@westcountrypublications.co.uk> writes: -> > -> >>Cygwin is not the only additon needed, cygipc will also be needed (GPL) -> >>(see: http://www.neuro.gatech.edu/users/cwilson/cygutils/cygipc/index.html ) -> > -> > -> > Good point, but is this a requirement that we could get rid of, now that -> > we have the SysV IPC stuff somewhat isolated? AFAICT cygipc provides -> > the SysV IPC API (shmget, semget, etc) --- but if there are usable -> > equivalents in the basic Cygwin environment, we could probably use them -> > now. -> > -> > Considering how often we see the forgot-to-start-cygipc mistake, -> > removing this requirement would be a clear win. -> > -> > regards, tom lane -> > -> > ---------------------------(end of broadcast)--------------------------- -> > TIP 3: if posting/reading through Usenet, please send an appropriate -> > subscribe-nomail command to majordomo@postgresql.org so that your -> > message can get through to the mailing list cleanly -> > -> -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 5: Have you checked our extensive FAQ? -> -> http://www.postgresql.org/users-lounge/docs/faq.html -> - - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22643@postgresql.org Thu May 9 12:55:39 2002 -Return-path: <pgsql-hackers-owner+M22643@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Gtc424128 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 12:55:38 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 8604C4759A4; Thu, 9 May 2002 12:55:11 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E12EE4766BF; Thu, 9 May 2002 12:50:48 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 69ED347650F - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:50:35 -0400 (EDT) -Received: from mail1.ihs.com (unknown [170.207.70.222]) - by postgresql.org (Postfix) with ESMTP id CA565475A6C - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 12:40:18 -0400 (EDT) -Received: from css120.ihs.com (css120.ihs.com [170.207.105.120]) - by mail1.ihs.com (8.12.3/8.12.3) with ESMTP id g49GdO1j016176 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 10:39:24 -0600 (MDT) -Date: Thu, 9 May 2002 10:34:58 -0600 (MDT) -From: Scott Marlowe <scott.marlowe@ihs.com> -To: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: [HACKERS] Issues tangential to win32 support -In-Reply-To: <3CDA820F.136D65F5@mohawksoft.com> -Message-ID: <Pine.LNX.4.33.0205091029070.3510-100000@css120.ihs.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-MailScanner: Found to be clean -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -There are some issues that the whole idea of a win32 port should bring up. -One of them is whether or not postgresql should be rewritten as a -multi-threaded app. - -If postgresql will never be rewritten as a multi-threaded app, then -performance under Windows is likely to ALWAYS be slow, since that -multi-thread is the preferred model for good performance on W32. note -that many Unixes prefer multi-threaded models as well (Solaris comes to -mind) so there's the possibility that a multi-threaded postgresql could -enjoy better performance on more than just windows. - -If postgresql IS going to eventually be multi-threaded, then the whole -win32 port should probably be delayed until then, since it would solve -many of the issues of fork() versus createprocess(). - -Just my thoughts on it. - -Scott - - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M22660@postgresql.org Thu May 9 14:31:54 2002 -Return-path: <pgsql-hackers-owner+M22660@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49IVs425698 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 14:31:54 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 3CD18476584; Thu, 9 May 2002 14:31:53 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C48014767E8; Thu, 9 May 2002 14:24:13 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5C1B34762A6 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 14:24:00 -0400 (EDT) -Received: from mail1.ihs.com (unknown [170.207.70.222]) - by postgresql.org (Postfix) with ESMTP id 0BF97476700 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 14:19:32 -0400 (EDT) -Received: from css120.ihs.com (css120.ihs.com [170.207.105.120]) - by mail1.ihs.com (8.12.3/8.12.3) with ESMTP id g49IIQsp027731; - Thu, 9 May 2002 12:18:26 -0600 (MDT) -Date: Thu, 9 May 2002 12:13:59 -0600 (MDT) -From: Scott Marlowe <scott.marlowe@ihs.com> -To: Jan Wieck <janwieck@yahoo.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Issues tangential to win32 support -In-Reply-To: <200205091751.g49HpTi01846@saturn.janwieck.net> -Message-ID: <Pine.LNX.4.33.0205091207540.3940-100000@css120.ihs.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-MailScanner: Found to be clean -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Thu, 9 May 2002, Jan Wieck wrote: - -> > If postgresql IS going to eventually be multi-threaded, then the whole -> > win32 port should probably be delayed until then, since it would solve -> > many of the issues of fork() versus createprocess(). -> -> If multi-threading is the plan, then there is light at the -> end of the tunnel ... the upcoming train... - -That's a bit extreme don't you think? I'm not fan of multi-threading as -the one true way, and since I use linux as my server for postgresql, there -is no gain for me in a multi-threaded model. In fact, I'd prefer -postgresql stay multi-process for robustness. - -BUT, if there are plans to go multi-thread, or could be plans, then those -should take priority over how to port to windows, since making postgresql -multi-threaded will change it so much as to make the current "how do we -port to windows" thread meaningless. - -One of the primary reasons given for avoiding cygwin is that postgresql -runs so slowly under it on windows, but I submit that it probably won't -run a heck of a lot faster if it was written as a native app as long as -it's running as a multi-process design. Since there's probably no great -gain to be had from moving it out from under cygwin, why bother? - -My vote would be to stay multi-process and Unix compatible. I have no -real use for windows as a server, and do NOT want to sacrifice the -performance / reliability I have with postgresql under Linux for a windows -port. - - - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22683@postgresql.org Thu May 9 18:20:10 2002 -Return-path: <pgsql-hackers-owner+M22683@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49MK9428615 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:20:10 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 723B04767BA; Thu, 9 May 2002 18:19:59 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id B32AF476783; Thu, 9 May 2002 18:19:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 1ED46475EFF - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:19:06 -0400 (EDT) -Received: from rh72.home.ee (adsl1030.estpak.ee [213.168.29.11]) - by postgresql.org (Postfix) with ESMTP id 1234E475B2D - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:16:40 -0400 (EDT) -Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) - by rh72.home.ee (8.11.6/8.11.6) with ESMTP id g49KF2c02624; - Fri, 10 May 2002 01:15:06 +0500 -Subject: Re: [HACKERS] Issues tangential to win32 support -From: Hannu Krosing <hannu@tm.ee> -To: Dann Corbit <DCorbit@connx.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> - <D90A5A6C612A39408103E6ECDD77B82920CE10@voyager.corporate.connx.com> - <D90A5A6C612A39408103E6ECDD77B82920CE10@voyager.corporate.connx.com> -Content-Type: text/plain -Content-Transfer-Encoding: 7bit -X-Mailer: Ximian Evolution 1.0.4 -Date: 10 May 2002 01:15:02 +0500 -Message-ID: <1020975306.2451.76.camel@rh72.home.ee> -MIME-Version: 1.0 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Fri, 2002-05-10 at 02:33, Dann Corbit wrote: -> -> It took a few hundred man hours to do it. - -About 2-8 weeks for one full time programmer ? - -> I see the whole Win32 port as -> a non issue. Several parties have already completed it (including the -> place where I work -- CONNX Solutions Inc.). If we did not do it or all -> parties who already did it were hit by a comet or something, someone -> else would accomplish it. It isn't trivial but it isn't impossible -> either. If a need is large enough, someone will manage it. The need is -> large enough. Ergo... - -Do you know which of these run ((reasonably) well) on win9x ? - -> Here are some other things related: -> -> A ready to go Win32 PosgreSQL package: -> http://www.dbexperts.net/postgresql - -Perhaps we should back up and let dbexperts et.al. recover their costs -and after that repent and commit changes back to main tree ;) - -## insert a little ad-hominem attack to everyone objecting a native -## win32 port as owning stock in some win32-pg-selling company - -BTW, do they have an evaluation version or do they think that people -would in that case evaluate on win32 and then buy a cheap linux box for -$495.- :) - --------------------- -Hannu - - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22676@postgresql.org Thu May 9 17:36:50 2002 -Return-path: <pgsql-hackers-owner+M22676@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Lan428029 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 17:36:49 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 2AB3947673E; Thu, 9 May 2002 17:36:47 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id BA90247671E; Thu, 9 May 2002 17:35:47 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id AA57D47660B - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:35:37 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id 87D3F475A41 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:34:39 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Issues tangential to win32 support -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -Date: Thu, 9 May 2002 14:33:40 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82920CE10@voyager.corporate.connx.com> -Thread-Topic: [HACKERS] Issues tangential to win32 support -Thread-Index: AcH3nsEyepyPj/gRTNiZtJugpq+PAQAAduvQ -From: "Dann Corbit" <DCorbit@connx.com> -To: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g49Lan428029 -Status: RO - -> -----Original Message----- -> From: Hannu Krosing [mailto:hannu@tm.ee] -> Sent: Thursday, May 09, 2002 12:10 PM -> To: Jan Wieck -> Cc: Scott Marlowe; PostgreSQL-development -> Subject: Re: [HACKERS] Issues tangential to win32 support -> -> -> On Thu, 2002-05-09 at 22:51, Jan Wieck wrote: -> > Scott Marlowe wrote: -> > > There are some issues that the whole idea of a win32 port -> should bring up. -> > > One of them is whether or not postgresql should be rewritten as a -> > > multi-threaded app. -> > -> > Please, don't add this one to it. -> > -> > I'm all for the native Windows port, yes, but I've discussed -> > the multi-thread questions for days at Great Bridge, then -> > again with my new employer, with people on shows and whatnot. -> > -> > Anything in the whole backend is designed with a multi- -> > process model in mind. You'll not do that in any reasonable -> > amount of time. -> -> IIRC you are replying to the man who _has_ actually don this ? -> -> Perhaps using an unreasonable amount of time but still ... :) - -It took a few hundred man hours to do it. I see the whole Win32 port as -a non issue. Several parties have already completed it (including the -place where I work -- CONNX Solutions Inc.). If we did not do it or all -parties who already did it were hit by a comet or something, someone -else would accomplish it. It isn't trivial but it isn't impossible -either. If a need is large enough, someone will manage it. The need is -large enough. Ergo... - -Here are some other things related: - -A ready to go Win32 PosgreSQL package: -http://www.dbexperts.net/postgresql - -An open source project to productize PostgreSQL for Windows (has gone -nowhere so far): -http://gborg.postgresql.org/project/winpackage/projdisplay.php - -A native Win32 port accomplished by a Japanese Group: -http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -If you look under the "Gists for Patch" it contains exactly the same -tasks that CONNX Solutions Inc. had to accomplish in every case. - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M22677@postgresql.org Thu May 9 17:48:03 2002 -Return-path: <pgsql-hackers-owner+M22677@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Lm3428149 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 17:48:03 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 0F0CF475A41; Thu, 9 May 2002 17:48:00 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id B847047670D; Thu, 9 May 2002 17:47:08 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id EAE1E475A41 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:46:57 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 527374766C2 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:46:55 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49LfTt30402; - Thu, 9 May 2002 17:41:37 -0400 -Message-ID: <3CDAED09.E890975B@mohawksoft.com> -Date: Thu, 09 May 2002 17:41:29 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Dann Corbit <DCorbit@connx.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Issues tangential to win32 support -References: <D90A5A6C612A39408103E6ECDD77B82920CE10@voyager.corporate.connx.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Dann Corbit wrote: -> It took a few hundred man hours to do it. I see the whole Win32 port as -> a non issue. Several parties have already completed it (including the -> place where I work -- CONNX Solutions Inc.). If we did not do it or all -> parties who already did it were hit by a comet or something, someone -> else would accomplish it. It isn't trivial but it isn't impossible -> either. If a need is large enough, someone will manage it. The need is -> large enough. Ergo... -> -> Here are some other things related: -> -> A ready to go Win32 PosgreSQL package: -> http://www.dbexperts.net/postgresql -> -> An open source project to productize PostgreSQL for Windows (has gone -> nowhere so far): -> http://gborg.postgresql.org/project/winpackage/projdisplay.php -> -> A native Win32 port accomplished by a Japanese Group: -> http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -> If you look under the "Gists for Patch" it contains exactly the same -> tasks that CONNX Solutions Inc. had to accomplish in every case. - -These packages are based upon cygwin. Problems with cygwin: - -(1) GNU license issues. -(2) Does not work well with anti-virus software -(3) Since OS level copy-on-write is negated, process creation is much slower. -(4) Since OS level copy on write is negated, memory that otherwise would not be -allocated to the process is forced to ba allocated when the parent process data -is copied. - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22679@postgresql.org Thu May 9 17:53:53 2002 -Return-path: <pgsql-hackers-owner+M22679@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Lrq428243 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 17:53:53 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id AF15A4766A3; Thu, 9 May 2002 17:53:48 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 9C26F4766EC; Thu, 9 May 2002 17:53:08 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 8F95D475D60 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:52:57 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id A2590475C8C - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 17:52:56 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Issues tangential to win32 support -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -Date: Thu, 9 May 2002 14:51:50 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82920CE12@voyager.corporate.connx.com> -Thread-Topic: Issues tangential to win32 support -Thread-Index: AcH3oxZJFXJ0zN07QyKdZT4UsSj7LQAAB7dA -From: "Dann Corbit" <DCorbit@connx.com> -To: "mlw" <markw@mohawksoft.com> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g49Lrq428243 -Status: RO - -> -----Original Message----- -> From: mlw [mailto:markw@mohawksoft.com] -> Sent: Thursday, May 09, 2002 2:41 PM -> To: Dann Corbit -> Cc: PostgreSQL-development -> Subject: Re: Issues tangential to win32 support -> -> -> Dann Corbit wrote: -> > It took a few hundred man hours to do it. I see the whole -> Win32 port as -> > a non issue. Several parties have already completed it -> (including the -> > place where I work -- CONNX Solutions Inc.). If we did not -> do it or all -> > parties who already did it were hit by a comet or something, someone -> > else would accomplish it. It isn't trivial but it isn't impossible -> > either. If a need is large enough, someone will manage it. -> The need is -> > large enough. Ergo... -> > -> > Here are some other things related: -> > -> > A ready to go Win32 PosgreSQL package: -> > http://www.dbexperts.net/postgresql -> > -> > An open source project to productize PostgreSQL for Windows -> (has gone -> > nowhere so far): -> > http://gborg.postgresql.org/project/winpackage/projdisplay.php -> > -> > A native Win32 port accomplished by a Japanese Group: -> > http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -> > If you look under the "Gists for Patch" it contains exactly the same -> > tasks that CONNX Solutions Inc. had to accomplish in every case. -> -> These packages are based upon cygwin. Problems with cygwin: -> -> (1) GNU license issues. -> (2) Does not work well with anti-virus software -> (3) Since OS level copy-on-write is negated, process creation -> is much slower. -> (4) Since OS level copy on write is negated, memory that -> otherwise would not be -> allocated to the process is forced to ba allocated when the -> parent process data -> is copied. - -Our package avoids Cygwin altogether. We wrote our own POSIX layer from -scratch, and we junked fork() for CreateProcess() {and inserted copious: -#ifdef ICKY_WIN32_KLUDGE -/* our code goes here */ -#else -/* Standard UNIX code goes here */ -#endif - -It's complete, and it performs like the burning blue blazes. We have -run the full PostgreSQL test suite to completion with success. However, -before we release any SQL tool, we have our own test suite with tens of -thousands of tests to perform. Hence, we won't have a release until -June at the earliest. - -I think the Japanese one also does not use Cygwin (but I have not tried -installing it yet). - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22681@postgresql.org Thu May 9 18:02:06 2002 -Return-path: <pgsql-hackers-owner+M22681@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49M26428426 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:02:06 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 6E81C476693; Thu, 9 May 2002 18:02:03 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 69A68476733; Thu, 9 May 2002 18:01:30 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id A3AC1475A7B - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:01:16 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 739E74759A5 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:01:15 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49Lu1t30454; - Thu, 9 May 2002 17:56:01 -0400 -Message-ID: <3CDAF071.CF3DAB58@mohawksoft.com> -Date: Thu, 09 May 2002 17:56:01 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Dann Corbit <DCorbit@connx.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Issues tangential to win32 support -References: <D90A5A6C612A39408103E6ECDD77B82920CE12@voyager.corporate.connx.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Dann Corbit wrote: -> Our package avoids Cygwin altogether. We wrote our own POSIX layer from -> scratch, and we junked fork() for CreateProcess() {and inserted copious: -> #ifdef ICKY_WIN32_KLUDGE -> /* our code goes here */ -> #else -> /* Standard UNIX code goes here */ -> #endif - -OK, what sorts of things did you do in your ICKY_WIN32_KLUDGE? Were they ever -migrated back into the main tree? Did you simulate fork() or a stand-alone? - -I know Windows very well, but I have thus far remained ignorant of PostgreSQL -internals. - -> -> It's complete, and it performs like the burning blue blazes. We have -> run the full PostgreSQL test suite to completion with success. However, -> before we release any SQL tool, we have our own test suite with tens of -> thousands of tests to perform. Hence, we won't have a release until -> June at the earliest. -> -> I think the Japanese one also does not use Cygwin (but I have not tried -> installing it yet). - -The japanese site claims cygwin. - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M22682@postgresql.org Thu May 9 18:17:03 2002 -Return-path: <pgsql-hackers-owner+M22682@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49MH3428574 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:17:03 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 745F04765DF; Thu, 9 May 2002 18:16:59 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C342F47678A; Thu, 9 May 2002 18:13:59 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5AF8D475FBD - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:13:42 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id 1612E47621B - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:11:46 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Issues tangential to win32 support -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -Date: Thu, 9 May 2002 15:10:43 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82920CE13@voyager.corporate.connx.com> -Thread-Topic: Issues tangential to win32 support -Thread-Index: AcH3pRcvhdfkS6Z+SXCu6lfzMZH4qAAAK5Cw -From: "Dann Corbit" <DCorbit@connx.com> -To: "mlw" <markw@mohawksoft.com> -cc: <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g49MH3428574 -Status: RO - -> -----Original Message----- -> From: mlw [mailto:markw@mohawksoft.com] -> Sent: Thursday, May 09, 2002 2:56 PM -> To: Dann Corbit -> Cc: PostgreSQL-development -> Subject: Re: Issues tangential to win32 support -> -> -> Dann Corbit wrote: -> > Our package avoids Cygwin altogether. We wrote our own -> POSIX layer from -> > scratch, and we junked fork() for CreateProcess() {and -> inserted copious: -> > #ifdef ICKY_WIN32_KLUDGE -> > /* our code goes here */ -> > #else -> > /* Standard UNIX code goes here */ -> > #endif -> -> OK, what sorts of things did you do in your -> ICKY_WIN32_KLUDGE? Were they ever -> migrated back into the main tree? Did you simulate fork() or -> a stand-alone? - -I explained it in another mail. - -We had quite a few changes we had to make (several hundred man-hours, -about half of which was the POSIX layer and the precise time routines). - -No sense trying to simulate fork() -- it stinks on Win32. The Cygwin -and PW32 implementations of fork() are dogs. Smarter folks than us -tried it and failed miserably. Why reinvent a broken wheel? We use -create process and our own startup code. Our version is competitive -with fork() on Linux for spawning tasks and in general the queries run -considerably faster. - -> I know Windows very well, but I have thus far remained -> ignorant of PostgreSQL -> internals. - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M22684@postgresql.org Thu May 9 18:34:44 2002 -Return-path: <pgsql-hackers-owner+M22684@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49MYi428719 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:34:44 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id BC4F84759C3; Thu, 9 May 2002 18:34:41 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 6AD90476737; Thu, 9 May 2002 18:33:51 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 6926D475B2D - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:33:41 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id 7563E4759C3 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:33:40 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Issues tangential to win32 support -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -Date: Thu, 9 May 2002 15:31:14 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82906F443@voyager.corporate.connx.com> -Thread-Topic: Issues tangential to win32 support -Thread-Index: AcH3pRcvhdfkS6Z+SXCu6lfzMZH4qAAA0jKA -From: "Dann Corbit" <DCorbit@connx.com> -To: "mlw" <markw@mohawksoft.com> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g49MYi428719 -Status: RO - -> -----Original Message----- -> From: mlw [mailto:markw@mohawksoft.com] -> Sent: Thursday, May 09, 2002 2:56 PM -> To: Dann Corbit -> Cc: PostgreSQL-development -> Subject: Re: Issues tangential to win32 support -> -> -> Dann Corbit wrote: -> > Our package avoids Cygwin altogether. We wrote our own -> POSIX layer from -> > scratch, and we junked fork() for CreateProcess() {and -> inserted copious: -> > #ifdef ICKY_WIN32_KLUDGE -> > /* our code goes here */ -> > #else -> > /* Standard UNIX code goes here */ -> > #endif -> -> OK, what sorts of things did you do in your -> ICKY_WIN32_KLUDGE? Were they ever -> migrated back into the main tree? Did you simulate fork() or -> a stand-alone? -> -> I know Windows very well, but I have thus far remained -> ignorant of PostgreSQL -> internals. -> -> > -> > It's complete, and it performs like the burning blue -> blazes. We have -> > run the full PostgreSQL test suite to completion with -> success. However, -> > before we release any SQL tool, we have our own test suite -> with tens of -> > thousands of tests to perform. Hence, we won't have a release until -> > June at the earliest. -> > -> > I think the Japanese one also does not use Cygwin (but I -> have not tried -> > installing it yet). -> -> The japanese site claims cygwin. - -This is not correct. (Fortunately, we have someone here who reads and -writes Japanese). -At any rate, it is a complete, native implementation of PostgreSQL -without any need for Cygwin. -Just to be sure, I did a "depends" on each of the binaries and none of -them use Cywin. - -So the Japanese site did exactly the same thing that we did. - -Here are bitmaps showing the complete dependency trees of both the -Japanese efforts and ours as well: -Us: -ftp://cap.connx.com/pub/chess-engines/new-approach/connx.bmp - -Japanese: -ftp://cap.connx.com/pub/chess-engines/new-approach/japanese.bmp - -No Cygwin in sight in either case. - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22685@postgresql.org Thu May 9 18:39:40 2002 -Return-path: <pgsql-hackers-owner+M22685@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Mde428784 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:39:40 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 6F0264767C5; Thu, 9 May 2002 18:39:37 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 9916F476790; Thu, 9 May 2002 18:39:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id E3B4C475F09 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:39:05 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id C52C3475B2D - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:39:04 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49MXot30610; - Thu, 9 May 2002 18:33:50 -0400 -Message-ID: <3CDAF94E.2F60382E@mohawksoft.com> -Date: Thu, 09 May 2002 18:33:50 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Dann Corbit <DCorbit@connx.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Issues tangential to win32 support -References: <D90A5A6C612A39408103E6ECDD77B82906F443@voyager.corporate.connx.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Dann Corbit wrote: -http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html - -Mentions cygwin, am I misunderstanding? - -Does not matter, the issue is that you guys said you did it. OK, have you been -able to bring the changed back into the main source tree? (Are you not trying?) - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M22686@postgresql.org Thu May 9 18:46:24 2002 -Return-path: <pgsql-hackers-owner+M22686@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49MkN428851 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:46:23 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 32CEF476649; Thu, 9 May 2002 18:46:00 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 232D6476760; Thu, 9 May 2002 18:45:39 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id A983647642B - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:45:28 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id 782BD475F09 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:44:49 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Issues tangential to win32 support -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -Date: Thu, 9 May 2002 15:43:47 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82920CE16@voyager.corporate.connx.com> -Thread-Topic: Issues tangential to win32 support -Thread-Index: AcH3ql/GnGAJD4NhSHug0+KSRuGWRAAAAz7Q -From: "Dann Corbit" <DCorbit@connx.com> -To: "mlw" <markw@mohawksoft.com> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g49MkN428851 -Status: RO - -> -----Original Message----- -> From: mlw [mailto:markw@mohawksoft.com] -> Sent: Thursday, May 09, 2002 3:34 PM -> To: Dann Corbit -> Cc: PostgreSQL-development -> Subject: Re: Issues tangential to win32 support -> -> -> Dann Corbit wrote: -> http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -> -> Mentions cygwin, am I misunderstanding? -> -> Does not matter, the issue is that you guys said you did it. -> OK, have you been -> able to bring the changed back into the main source tree? -> (Are you not trying?) - -I am not enrolled in the CVS project, and don't even know how to use it. -We use "Visual Source Safe" here -- really an icky tool but at least -everyone here knows it. - -There is some debate here as to whether to keep the changes private or -to turn them back to the project. Not sure how it will turn out. - -I am not sure that the project would want them anyway, since the -represent some pretty major surgery and impact the readability of the -code in a quite adverse way. - -At any rate, the Japanese version appears to be released. In fact, I -have downloaded the whole project and gave it a spin. It is actually -very nice. If you just need to use something for right now, why not go -with that version? - -In any case, there is simply no way possible that anything will ever -escape from here before June at the absolute earliest (full regression -test is company policy). - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22687@postgresql.org Thu May 9 18:57:40 2002 -Return-path: <pgsql-hackers-owner+M22687@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g49Mve428946 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 18:57:40 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 48E914767D3; Thu, 9 May 2002 18:57:28 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 91564476774; Thu, 9 May 2002 18:57:04 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id B1145475F1A - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:56:51 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP id 77DAA475C93 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 18:56:50 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g49MpWt30673; - Thu, 9 May 2002 18:51:36 -0400 -Message-ID: <3CDAFD74.177491F2@mohawksoft.com> -Date: Thu, 09 May 2002 18:51:32 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Dann Corbit <DCorbit@connx.com> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Issues tangential to win32 support -References: <D90A5A6C612A39408103E6ECDD77B82920CE16@voyager.corporate.connx.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Dann Corbit wrote: -> I am not enrolled in the CVS project, and don't even know how to use it. -> We use "Visual Source Safe" here -- really an icky tool but at least -> everyone here knows it. - -Source Safe? Yikes. I haven't used that in a long time. - -> -> There is some debate here as to whether to keep the changes private or -> to turn them back to the project. Not sure how it will turn out. -> -> I am not sure that the project would want them anyway, since the -> represent some pretty major surgery and impact the readability of the -> code in a quite adverse way. - -I hear you on that. I have tons of code that has #ifdef GCC and #ifdef WIN32 in -lots of places. - -Obviously you wrap what you can in macros and/or functions, but you can't do -that 100% the time. Some people REALLY hate #ifdef/#endif and view them as a -bad coding practice. Others, like myself, view them as a proper usage of the -language constructs and judicious use of them actually help the developer -understand the code better. - -> -> At any rate, the Japanese version appears to be released. In fact, I -> have downloaded the whole project and gave it a spin. It is actually -> very nice. If you just need to use something for right now, why not go -> with that version? - -I have no desire for a Windows version for myself, but I see the need for it. - -> -> In any case, there is simply no way possible that anything will ever -> escape from here before June at the absolute earliest (full regression -> test is company policy). - -ok - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22697@postgresql.org Thu May 9 21:51:20 2002 -Return-path: <pgsql-hackers-owner+M22697@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4A1pJ401192 - for <pgman@candle.pha.pa.us>; Thu, 9 May 2002 21:51:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 02BA5476885; Thu, 9 May 2002 21:51:12 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 1003F4768DF; Thu, 9 May 2002 21:50:45 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 9D095476366 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 21:50:33 -0400 (EDT) -Received: from sraigw.sra.co.jp (sraigw.sra.co.jp [202.32.10.2]) - by postgresql.org (Postfix) with ESMTP id 29196475F41 - for <pgsql-hackers@postgresql.org>; Thu, 9 May 2002 21:50:31 -0400 (EDT) -Received: from srascb.sra.co.jp (srascb [133.137.8.65]) - by sraigw.sra.co.jp (8.9.3/3.7W-sraigw) with ESMTP id KAA91464; - Fri, 10 May 2002 10:50:26 +0900 (JST) -Received: (from root@localhost) - by srascb.sra.co.jp (8.11.6/8.11.6) id g4A1nxJ71113; - Fri, 10 May 2002 10:49:59 +0900 (JST) - (envelope-from t-ishii@sra.co.jp) -Received: from sranhm.sra.co.jp (sranhm [133.137.170.62]) - by srascb.sra.co.jp (8.11.6/8.11.6av) with ESMTP id g4A1nwV71105; - Fri, 10 May 2002 10:49:58 +0900 (JST) - (envelope-from t-ishii@sra.co.jp) -Received: from localhost (IDENT:t-ishii@srapc1474.sra.co.jp [133.137.170.59]) - by sranhm.sra.co.jp (8.9.3+3.2W/3.7W-srambox) with ESMTP id KAA19819; - Fri, 10 May 2002 10:50:25 +0900 -To: markw@mohawksoft.com -cc: DCorbit@connx.com, pgsql-hackers@postgresql.org -Subject: Re: [HACKERS] Issues tangential to win32 support -In-Reply-To: <3CDAF94E.2F60382E@mohawksoft.com> -References: <D90A5A6C612A39408103E6ECDD77B82906F443@voyager.corporate.connx.com> - <3CDAF94E.2F60382E@mohawksoft.com> -X-Mailer: Mew version 1.94.2 on Emacs 20.7 / Mule 4.1 - =?iso-2022-jp?B?KBskQjAqGyhCKQ==?= -MIME-Version: 1.0 -Content-Type: Text/Plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Message-ID: <20020510104904P.t-ishii@sra.co.jp> -Date: Fri, 10 May 2002 10:49:04 +0900 -From: Tatsuo Ishii <t-ishii@sra.co.jp> -X-Dispatcher: imput version 20000228(IM140) -Lines: 16 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -> Dann Corbit wrote: -> http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -> -> Mentions cygwin, am I misunderstanding? - -Are you talking about following in the page? - ----------------------------------------------------------------- -* Notice: Based upon the GNU-cygwin, there is a version that works -similar to the Unix-compatible operability. Tanida-san Web site is -supporting this environment in Japanese. ----------------------------------------------------------------- - -It cleary refers to another work. --- -Tatsuo Ishii - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22721@postgresql.org Fri May 10 10:04:20 2002 -Return-path: <pgsql-hackers-owner+M22721@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4AE4J417221 - for <pgman@candle.pha.pa.us>; Fri, 10 May 2002 10:04:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id DFC5B47635A; Fri, 10 May 2002 10:04:05 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 59D6347691C; Fri, 10 May 2002 09:59:39 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id CC721476554 - for <pgsql-hackers@postgresql.org>; Fri, 10 May 2002 09:59:26 -0400 (EDT) -Received: from salem.vale-housing.co.uk (mailgate.vale-housing.co.uk [193.195.77.162]) - by postgresql.org (Postfix) with ESMTP id DDEE5475F77 - for <pgsql-hackers@postgresql.org>; Fri, 10 May 2002 09:55:50 -0400 (EDT) -Subject: [HACKERS] FW: Cygwin PostgreSQL Information and Suggestions -Date: Fri, 10 May 2002 14:55:53 +0100 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Message-ID: <214E9C0A75426D47A876A2FD8A07426E66B4@salem.vale-housing.co.uk> -content-class: urn:content-classes:message -X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 -Thread-Topic: Cygwin PostgreSQL Information and Suggestions -Thread-Index: AcH4KhqAuSFbFlyoSAuLblrF7gO4DQAACK+w -From: "Dave Page" <dpage@vale-housing.co.uk> -To: <pgsql-hackers@postgresql.org> -cc: <Jason@tishler.net> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g4AE4J417221 -Status: RO - -Some comments from Jason Tishler the Cygwin-PostgreSQL maintainer... - -> -----Original Message----- -> From: Jason Tishler [mailto:jason@tishler.net] -> Sent: 10 May 2002 15:00 -> To: Dave Page -> Cc: pgsql-cygwin@postgresql.org -> Subject: Cygwin PostgreSQL Information and Suggestions -> -> -> Dave, -> -> Would you forward this to pgsql-hackers since I'm not subscribed? -> -> On Thu, May 09, 2002 at 10:45:42PM +0100, Dave Page wrote: -> > > -----Original Message----- -> > > From: Jason Tishler [mailto:jason@tishler.net] -> > > Sent: 09 May 2002 21:52 -> > > To: Dave Page -> > > -> > > On Thu, May 09, 2002 at 07:51:33PM +0100, Dave Page wrote: -> > > > BTW Are you aware there is currently a rather busy thread -> > > > about native Windows/Beos ports on -hackers... -> > > -> > > No, I'm not subscribed, but I just read all that I could find -> > > in the archives. -> > > [snip] -> > > -> > > > ...which is currently drifting towards a cutdown Cygwin version? -> > > -> > > Maybe I'll be out of (another) job soon? :,) -> > -> > [snip] -> > -> > Personnally, I think (from a 'good for PostgreSQL' rather -> than 'good -> > for Cygwin' perspective) that the way forward is a Cygwin -> based system -> > but using a tailored downloader/installer that installs the system -> > 'like a Windows app' (and quickly & easily etc.) rather than the -> > current way which is Windows 'being' *nix. I think that's very -> > offputting for many potential users (as others have said on the -> > -hackers thread). -> -> I agree with the above, but more can be done with Cygwin and -> its setup.exe that can give a fair amount of bang for the -> buck for some good short time gains too. I will give some -> details below. -> -> I also wanted to dispel some misinformation (IMO) that I -> perceived from the above mentioned posts and/or elaborate on -> some of the items: -> -> 1. Cygwin's setup.exe supports categories and dependencies. -> Hence, there is no reason to install all Cygwin packages in -> order to ensure properly PostgreSQL operation. Someone just -> has to determine what is the minimal set of packages -> necessary for PostgreSQL and I will update the setup.hint -> accordingly. The current setup.hint is as follows: -> -> sdesc: "PostgreSQL Data Base Management System" -> category: Database -> requires: ash cygwin readline zlib libreadline5 -> -> Sorry, but since I install all Cygwin packages plus about 30 -> additional ones I haven't desire to determine what are the -> minimal requirements. -> -> 2. Cygwin's setup.exe is customizable. There is a tool -> called "upset" that generates the setup.ini file that drives -> setup.exe. PostgreSQL could offer a customized setup. For -> example, this is what the XEmacs folks are doing. -> -> 3. Cygwin's setup.exe can run package specific postinstall -> scripts during the installation. Hence, someone could -> automate the steps enumerated (e.g., postmaster NT service -> installation, initdb, etc.) in my README: -> - -http://www.tishler.net/jason/software/postgresql/postgresql-7.2.1.README - -to ease the installation burden. - -4. Cygwin PostgreSQL is perceived to have poor performance. I have -never done any benchmarks regarding this issue, but apparently Terry -Carlin (from the defunct Great Bridge) did: - - http://archives.postgresql.org/pgsql-cygwin/2001-08/msg00029.php - -Specifically, he indicates the following: - - BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C - benchmark performed very much the same as Linux PostgreSQL on the - exact hardware. - -5. Cygwin PostgreSQL is perceived to have poor reliability. -Unfortunately, I have not been able to gather data to concur or refute -this perception due a sudden job "change" last summer. :,) However, -there are reports such as the following on the pgsql-cygwin list: - - http://archives.postgresql.org/pgsql-cygwin/2002-04/msg00021.php - -IMO, the biggest reliability issue with Cygwin PostgreSQL is it's -dependency on cygipc. There is some very recent work to create a Cygwin -daemon to support features such as System V IPC. So soon the cygipc -dependency and its "problems" will be going way. - -Those interested in a "Windows" PostgreSQL should possibly consider -contributing in this area or other "hard edges" (due to Windows-isms) -that would improve the reliability of Cygwin PostgreSQL. BTW, I have -found the Cygwin core developers very responsive to PostgreSQL problems -because it drives the Cygwin DLL harder than most other applications. - -6. Satisfying the Cygwin license for binary distribution is very simple. -Just include the source for the Cygwin DLL and all executables that are -linked with it in your distribution package. It is really that easy. - -Jason - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22731@postgresql.org Fri May 10 12:36:48 2002 -Return-path: <pgsql-hackers-owner+M22731@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4AGal420683 - for <pgman@candle.pha.pa.us>; Fri, 10 May 2002 12:36:47 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 48C10476917; Fri, 10 May 2002 12:36:38 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 749E94767FA; Fri, 10 May 2002 12:32:53 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 393C4476885 - for <pgsql-hackers@postgresql.org>; Fri, 10 May 2002 12:32:42 -0400 (EDT) -Received: from sss.pgh.pa.us (unknown [192.204.191.242]) - by postgresql.org (Postfix) with ESMTP id 4EE7C47696B - for <pgsql-hackers@postgresql.org>; Fri, 10 May 2002 12:31:28 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.11.4/8.11.4) with ESMTP id g4AGV6W28998; - Fri, 10 May 2002 12:31:06 -0400 (EDT) -To: "Dave Page" <dpage@vale-housing.co.uk> -cc: pgsql-hackers@postgresql.org, Jason@tishler.net -Subject: Re: [HACKERS] FW: Cygwin PostgreSQL Information and Suggestions -In-Reply-To: <214E9C0A75426D47A876A2FD8A07426E66B4@salem.vale-housing.co.uk> -References: <214E9C0A75426D47A876A2FD8A07426E66B4@salem.vale-housing.co.uk> -Comments: In-reply-to "Dave Page" <dpage@vale-housing.co.uk> - message dated "Fri, 10 May 2002 14:55:53 +0100" -Date: Fri, 10 May 2002 12:31:06 -0400 -Message-ID: <28995.1021048266@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -"Dave Page" <dpage@vale-housing.co.uk> forwards: -> 4. Cygwin PostgreSQL is perceived to have poor performance. I have -> never done any benchmarks regarding this issue, but apparently Terry -> Carlin (from the defunct Great Bridge) did: - -> http://archives.postgresql.org/pgsql-cygwin/2001-08/msg00029.php - -> Specifically, he indicates the following: - -> BTW, Up through 40 users, PostgreSQL under CYGWIN using the TPC-C -> benchmark performed very much the same as Linux PostgreSQL on the -> exact hardware. - -It should be noted that the benchmark Terry is describing fires up -N concurrent backends and then measures the runtime for a specific query -workload. So it's not measuring connection startup time, which is -alleged by some to be Cygwin's weak spot. Nonetheless, I invite the -Postgres-on-Cygwin-isn't-worth-our-time camp to produce some benchmarks -supporting their position. I'm getting tired of reading unsubstantiated -assertions. - - regards, tom lane - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22748@postgresql.org Fri May 10 17:51:28 2002 -Return-path: <pgsql-hackers-owner+M22748@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4ALpR425360 - for <pgman@candle.pha.pa.us>; Fri, 10 May 2002 17:51:27 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id B8E63476930; Fri, 10 May 2002 17:51:25 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D9736476A51; Fri, 10 May 2002 17:50:11 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 055B3476966; Fri, 10 May 2002 17:49:59 -0400 (EDT) -Received: from rh72.home.ee (adsl1030.estpak.ee [213.168.29.11]) - by postgresql.org (Postfix) with ESMTP - id E7336476919; Fri, 10 May 2002 17:49:49 -0400 (EDT) -Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) - by rh72.home.ee (8.11.6/8.11.6) with ESMTP id g4AJmC601988; - Sat, 11 May 2002 00:48:15 +0500 -Subject: Re: [HACKERS] Native Win32, How about this? -From: Hannu Krosing <hannu@tm.ee> -To: mlw <markw@mohawksoft.com> -cc: Jan Wieck <janwieck@yahoo.com>, Jean-Michel POURE <jm.poure@freesurf.fr>, - Justin Clift <justin@postgresql.org>, "Marc G. Fournier" <scrappy@hub.org>, - Iavor Raytchev <iavor.raytchev@verysmall.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -In-Reply-To: <3CDC3AAE.E39FF877@mohawksoft.com> -References: <3CDC3AAE.E39FF877@mohawksoft.com> -Content-Type: text/plain -Content-Transfer-Encoding: 7bit -X-Mailer: Ximian Evolution 1.0.4 -Date: 11 May 2002 00:48:12 +0500 -Message-ID: <1021060097.1891.6.camel@rh72.home.ee> -MIME-Version: 1.0 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Sat, 2002-05-11 at 02:25, mlw wrote: -> A binary version of PostgreSQL for Windows should not use the cygwin dll. I -> know and understand there is some disagreement with this position, but in this -> I'm sure about this. - -... - -> I believe we can use the cygwin development environment, and direct gcc not to -> link with the cygwin dll. Last time I looked it was a command line option. This -> will produce a native windows application. No emulation, just a standard C -> runtime. - -It seems that mingw (http://www.mingw.org/) does exactly this and -provides needed headers/libs. And they have also non-cycwin minimal -build environment (MSYS) that supplies make,sh and other stuff we might -use for running initdb and other shell scripts. - -> Some of the hits will be file path manipulation, '/' vs '\', the notion of -> drive letters, and case insensitivity in file names. -> -> Unicode may be an issue, I haven't looked at that yet. Is that a must for the -> initial release? - -Probably not. - ->> -> A couple simple programs can be written using msvc to monitor, start and stop -> PostgreSQL. The programs will be simple using the application wizard, just make -> a small dialog box application. - -dev-c++ has also wizards for easy making of trivial user interfaces - -http://sourceforge.net/projects/dev-cpp/ - --------------- -Hannu - - - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M22745@postgresql.org Fri May 10 17:31:05 2002 -Return-path: <pgsql-hackers-owner+M22745@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4ALV5424831 - for <pgman@candle.pha.pa.us>; Fri, 10 May 2002 17:31:05 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 49E56476A11; Fri, 10 May 2002 17:31:03 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 7536F4769BC; Fri, 10 May 2002 17:30:42 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 05493475AC1; Fri, 10 May 2002 17:30:31 -0400 (EDT) -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by postgresql.org (Postfix) with ESMTP - id 9F61B475985; Fri, 10 May 2002 17:30:29 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g4ALP2t04627; - Fri, 10 May 2002 17:25:06 -0400 -Message-ID: <3CDC3AAE.E39FF877@mohawksoft.com> -Date: Fri, 10 May 2002 17:25:02 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.18-SMP-020426 i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Jan Wieck <janwieck@yahoo.com>, Jean-Michel POURE <jm.poure@freesurf.fr>, - Justin Clift <justin@postgresql.org>, "Marc G. Fournier" <scrappy@hub.org>, - Iavor Raytchev <iavor.raytchev@verysmall.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: [HACKERS] Native Win32, How about this? -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -A binary version of PostgreSQL for Windows should not use the cygwin dll. I -know and understand there is some disagreement with this position, but in this -I'm sure about this. - -The tools used to create the binary need not be Microsoft, many venders have -used Borland or Watcom, the run of the mill user/developer does not care. The -developers who do care won't mind the cygwin development environment as long as -it produces a native Windows binary that does not play tricks such as fork(). - -Windows developers don't care too much about source code. The build environment -will not be a problem. - -The issue is that the system must perform well and must be stable. I do not -believe that cygwin can meet this requirement. Having done some research for -these discussions, I think we know it has startup performance issues and -unknown operational issues. - -FYI: My PHP project msession, can produce both a Windows version and a Cygwin -version. It is threaded C++, but I have measured a performance improvements -using the native Windows version over the cygwin version. I have since -abandoned the cygwin version. - -I believe we can use the cygwin development environment, and direct gcc not to -link with the cygwin dll. Last time I looked it was a command line option. This -will produce a native windows application. No emulation, just a standard C -runtime. - -Some of the hits will be file path manipulation, '/' vs '\', the notion of -drive letters, and case insensitivity in file names. - -Unicode may be an issue, I haven't looked at that yet. Is that a must for the -initial release? - -There will be a need for some emulation/api specification of things like -semaphores, shared memory, file API (I would like to use Windows native -CreateFile routines, as these should be pretty fast.), and so on. - -We will also have to breakup postgres and postmaster, and for the Windows -version use CreateProcess. There are a number of ways to attack this, globals -in a structure based in shared memory, globals in a .DLL exported to processes -and shared, and so on. - -I think a huge time savings can be had by avoiding rewriting everything for the -Microsoft build environment. As far as I know, and please correct me if I'm -wrong, code produced by the cygwin gcc is freely distributable and need not be -GPL. - -Once we have it working without fork() using the cygwin build environment, we -will have a native Windows application, we can then further evaluate whether or -not we want to expend the work to make a MSC version. - -Once the backend and most of the tools are built without requiring the -cygwin.dll, installation is a breeze. Just dump it somewhere and run it. - -A couple simple programs can be written using msvc to monitor, start and stop -PostgreSQL. The programs will be simple using the application wizard, just make -a small dialog box application. - -Pgaccess will provide all the GUI stuff, and we may even be able to wrap the -monitor code into pgaccess. - -The server install can be done with install shield. - -There is code that will run any program as an NT service. We can use that for -server installations. We can use the MSVC wizard application to pop-up in the -tool bar. - -Have I missed anything? -Is this a realistic and attainable plan? - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M22762@postgresql.org Sat May 11 11:30:25 2002 -Return-path: <pgsql-hackers-owner+M22762@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4BFUP414425 - for <pgman@candle.pha.pa.us>; Sat, 11 May 2002 11:30:25 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 5492D475933; Sat, 11 May 2002 11:30:19 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 27EFF475D4A; Sat, 11 May 2002 11:29:38 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 84B5C475954 - for <pgsql-hackers@postgresql.org>; Sat, 11 May 2002 11:29:25 -0400 (EDT) -Received: from tomts19-srv.bellnexxia.net (tomts19.bellnexxia.net [209.226.175.73]) - by postgresql.org (Postfix) with ESMTP id D9DFB475933 - for <pgsql-hackers@postgresql.org>; Sat, 11 May 2002 11:29:23 -0400 (EDT) -Received: from cbbrowne.com ([64.229.208.28]) by tomts19-srv.bellnexxia.net - (InterMail vM.5.01.04.05 201-253-122-122-105-20011231) with ESMTP - id <20020511152928.RCBU27276.tomts19-srv.bellnexxia.net@cbbrowne.com> - for <pgsql-hackers@postgresql.org>; - Sat, 11 May 2002 11:29:28 -0400 -Received: from cbbrowne.com (localhost [127.0.0.1]) - by cbbrowne.com (Postfix) with ESMTP id CE43E36B5A - for <pgsql-hackers@postgresql.org>; Sat, 11 May 2002 11:26:18 -0400 (EDT) -X-Mailer: exmh version 2.5 07/13/2001 (debian 2.5-1) with nmh-1.0.4+dev -To: PostgreSQL-development <pgsql-hackers@postgresql.org> -From: cbbrowne@cbbrowne.com -Subject: Re: [HACKERS] Native Win32, How about this? -In-Reply-To: Message from mlw <markw@mohawksoft.com> - of "Fri, 10 May 2002 17:25:02 EDT." <3CDC3AAE.E39FF877@mohawksoft.com> -References: <3CDC3AAE.E39FF877@mohawksoft.com> -MIME-Version: 1.0 -Content-Type: multipart/signed; boundary="==_Exmh_-82808586P"; - micalg=pgp-sha1; protocol="application/pgp-signature" -Content-Transfer-Encoding: 7bit -Date: Sat, 11 May 2002 11:26:18 -0400 -Message-ID: <20020511152618.CE43E36B5A@cbbrowne.com> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - ---==_Exmh_-82808586P -Content-Type: text/plain; charset=us-ascii - -> A binary version of PostgreSQL for Windows should not use the cygwin -> dll. I know and understand there is some disagreement with this -> position, but in this I'm sure about this. - -That may ultimately be desirable. - -In the short term, it is likely preferable to use cygwin. - -It is only necessary to point at MySQL for an example. Cygwin is used there. -<http://www.mysql.com/downloads/mysql-3.23.html> It is being used widely, -"crap" or not. - -Cygwin may not ultimately be the ideal thing to use; we don't yet live in -Pangloss' "Best of All Possible Worlds," and thus have to live with some -things not being ideal. - -If having the installer install Cygwin as well as the DBMS makes it easy to -have something usable soon, and this allows 100,000 WinFolk to try out -PostgreSQL, then that's a Big Win. Out of 100K users, surely two or three may -be attracted into working on a more Panglossian solution. - -It may be fair to say that none of those 100K folk would be using PostgreSQL -to support HA applications involving hundreds of GB of data. That's _fine_. - -If there are new 100K folk using PostgreSQL/cygwin, _some_ of them will -outgrow its capabilities, and come looking for improvements. - -And as they're Windows users, accustomed to having to pay hefty amounts to -Microsoft to get support no better than that provided by the Psychic Friends -Network (see <http://www.bmug.org/news/articles/MSvsPF.html>), they'll -doubtless be prepared to have to pay _something_ in order for -"PostgreSQL/Win3K-Enterprise Edition" to become available. - -That seems a not too unreasonable path towards the "Best of All Possible -Worlds." There may be a bit of hyperbole in the above, but any time Voltaire -gets quoted, that's likely to happen :-). --- -(reverse (concatenate 'string "gro.gultn@" "enworbbc")) -http://www.cbbrowne.com/info/wp.html -Eagles may soar, but weasels don't get sucked into jet engines. - --- -(concatenate 'string "cbbrowne" "@ntlug.org") -http://www.cbbrowne.com/info/multiplexor.html -It's a little known fact that the Dark Ages were caused by the Y1K -problem. - - - ---==_Exmh_-82808586P -Content-Type: application/pgp-signature - ------BEGIN PGP SIGNED MESSAGE----- -Hash: SHA1 - -Content-Type: text/plain; charset=us-ascii - -> A binary version of PostgreSQL for Windows should not use the cygwin -> dll. I know and understand there is some disagreement with this -> position, but in this I'm sure about this. - -That may ultimately be desirable. - -In the short term, it is likely preferable to use cygwin. - -It is only necessary to point at MySQL for an example. Cygwin is used there. -<http://www.mysql.com/downloads/mysql-3.23.html> It is being used widely, -"crap" or not. - -Cygwin may not ultimately be the ideal thing to use; we don't yet live in -Pangloss' "Best of All Possible Worlds," and thus have to live with some -things not being ideal. - -If having the installer install Cygwin as well as the DBMS makes it easy to -have something usable soon, and this allows 100,000 WinFolk to try out -PostgreSQL, then that's a Big Win. Out of 100K users, surely two or three may -be attracted into working on a more Panglossian solution. - -It may be fair to say that none of those 100K folk would be using PostgreSQL -to support HA applications involving hundreds of GB of data. That's _fine_. - -If there are new 100K folk using PostgreSQL/cygwin, _some_ of them will -outgrow its capabilities, and come looking for improvements. - -And as they're Windows users, accustomed to having to pay hefty amounts to -Microsoft to get support no better than that provided by the Psychic Friends -Network (see <http://www.bmug.org/news/articles/MSvsPF.html>), they'll -doubtless be prepared to have to pay _something_ in order for -"PostgreSQL/Win3K-Enterprise Edition" to become available. - -That seems a not too unreasonable path towards the "Best of All Possible -Worlds." There may be a bit of hyperbole in the above, but any time Voltaire -gets quoted, that's likely to happen :-). -- -- -(reverse (concatenate 'string "gro.gultn@" "enworbbc")) -http://www.cbbrowne.com/info/wp.html -Eagles may soar, but weasels don't get sucked into jet engines. - -- -- -(concatenate 'string "cbbrowne" "@ntlug.org") -http://www.cbbrowne.com/info/multiplexor.html -It's a little known fact that the Dark Ages were caused by the Y1K -problem. - - ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.0.6 (GNU/Linux) -Comment: Exmh version 2.3.1 01/18/2001 (debian 2.3.1-1) - -iD8DBQE83TgaN7hZUGqmpxMRAqSeAJ9jkunhAG72NLz7rcPMVcWXbHWY+gCgxu+D -wumPJyqj0/9k5bc+v7NVvFI= -=pKbi ------END PGP SIGNATURE----- - ---==_Exmh_-82808586P-- - -From pgsql-hackers-owner+M22812@postgresql.org Mon May 13 11:30:34 2002 -Return-path: <pgsql-hackers-owner+M22812@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4DFUY429652 - for <pgman@candle.pha.pa.us>; Mon, 13 May 2002 11:30:34 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 5ADB2476B07; Mon, 13 May 2002 11:30:26 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C126F47616C; Mon, 13 May 2002 10:57:45 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 0592C475D9A; Mon, 13 May 2002 10:57:34 -0400 (EDT) -Received: from smtp.comcast.net (smtp.comcast.net [24.153.64.2]) - by postgresql.org (Postfix) with ESMTP - id 7C929476103; Mon, 13 May 2002 09:51:48 -0400 (EDT) -Received: from althea.tishler.net - (bgp572446bgs.eatntn01.nj.comcast.net [68.39.6.197]) - by mtaout03.icomcast.net (iPlanet Messaging Server 5.1 HotFix 0.6 (built Apr - 26 2002)) with SMTP id <0GW100GMXYIEET@mtaout03.icomcast.net>; Mon, - 13 May 2002 09:51:51 -0400 (EDT) -Received: by althea.tishler.net (sSMTP sendmail emulation); Mon, - 13 May 2002 09:59:04 -0400 -Date: Mon, 13 May 2002 09:59:04 -0400 -From: Jason Tishler <jason@tishler.net> -Subject: Re: [HACKERS] Native Win32, How about this? -In-Reply-To: <3CDC3AAE.E39FF877@mohawksoft.com> -To: mlw <markw@mohawksoft.com> -cc: Jan Wieck <janwieck@yahoo.com>, Jean-Michel POURE <jm.poure@freesurf.fr>, - Justin Clift <justin@postgresql.org>, "Marc G. Fournier" <scrappy@hub.org>, - Iavor Raytchev <iavor.raytchev@verysmall.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Mail-Followup-To: mlw <markw@mohawksoft.com>, - Jan Wieck <janwieck@yahoo.com>, - Jean-Michel POURE <jm.poure@freesurf.fr>, - Justin Clift <justin@postgresql.org>, - "Marc G. Fournier" <scrappy@hub.org>, - Iavor Raytchev <iavor.raytchev@verysmall.org>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Message-ID: <20020513135857.GB2224@tishler.net> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7BIT -Content-Disposition: inline -User-Agent: Mutt/1.3.24i -References: <3CDC3AAE.E39FF877@mohawksoft.com> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -mlw, - -On Fri, May 10, 2002 at 05:25:02PM -0400, mlw wrote: -> A binary version of PostgreSQL for Windows should not use the cygwin -> dll. I know and understand there is some disagreement with this position, -> but in this I'm sure about this. - -Sorry, but I'm not going to touch the above -- even with a ten foot pole. -Or, at least try not to... :,) - -> I believe we can use the cygwin development environment, and direct gcc -> not to link with the cygwin dll. Last time I looked it was a command line -> option. This will produce a native windows application. No emulation, -> just a standard C runtime. - -Yes, the above mentioned option is "-mno-cygwin". - -> Some of the hits will be file path manipulation, '/' vs '\', the notion of -> drive letters, and case insensitivity in file names. - -Case insensitivity is typically "enabled" regardless. Unless you are -referring to CYGWIN=check_case:strict, but almost no one uses this setting. - -Just to be explicit, another hit will be the loss of Posix. - -> [snip] -> -> I think a huge time savings can be had by avoiding rewriting everything -> for the Microsoft build environment. - -Yes, you should use Cygwin and gcc -mno-cygwin or MSYS and Mingw. - -> As far as I know, and please correct me if I'm wrong, code produced by -> the cygwin gcc is freely distributable and need not be GPL. - -The above is true only with gcc -mno-cygwin or Mingw code. Any code -produced by the normal Cygwin gcc (and hence, linked against cygwin1.dll) -is effectively GPL'd or at least required to be open source. - -> [snip] - -Jason - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M22887@postgresql.org Thu May 16 07:48:56 2002 -Return-path: <pgsql-hackers-owner+M22887@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4GBmtB15522 - for <pgman@candle.pha.pa.us>; Thu, 16 May 2002 07:48:55 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 0271647632A; Thu, 16 May 2002 07:48:50 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id BAB2B475985; Thu, 16 May 2002 07:48:23 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id CCF92475961 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 07:48:11 -0400 (EDT) -Received: from n05.sp.kp.dlr.de (gw.sp.kp.dlr.de [129.247.97.187]) - by postgresql.org (Postfix) with ESMTP id 241A9475958 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 07:48:10 -0400 (EDT) -Received: from localhost.localdomain (IDENT:root@yyy.kp.dlr.de [129.247.113.223]) - by n05.sp.kp.dlr.de (8.11.2/8.11.2) with ESMTP id g4GBmCa79404 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 13:48:12 +0200 -Received: from there (Joelap.sea.com [192.168.0.21]) - by localhost.localdomain (8.9.3/8.9.3) with SMTP id NAA14722 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 13:48:10 +0200 -Message-ID: <200205161148.NAA14722@localhost.localdomain> -Content-Type: text/plain; - charset="iso-8859-1" -From: Joerg Hessdoerfer <Joerg.Hessdoerfer@sea-gmbh.com> -Organization: S.E.A Datentechnik GmbH -To: pgsql-hackers@postgresql.org -Subject: [HACKERS] WIN32 native ... lets start?!? -Date: Thu, 16 May 2002 13:47:45 +0200 -X-Mailer: KMail [version 1.3.2] -MIME-Version: 1.0 -Content-Transfer-Encoding: 8bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Hi all, - -I followed the various threads regarding this for some time now. My current -situation is: - -I'm working at a company which does industrial automation, and does it's own -custom products. We try to be cross-platform, but it's a windoze world, as -far as most measurement devices or PLCs are concerned. We also employ -databases for various tasks (including simple ones as holding configuration -data, but also hammering production data into it at a rate of several hundred -records/sec.) -Well, we would *love* to use PostgreSQL in most our projects and products, -(and we do already use it in some), because it has proven to be very reliable -and quite fast. - -So, I'm faced with using PostgreSQL on windows also (you can't always put a -Linux box besides). We do this using cygwin, but it's a bit painful ;-) -(although it works!). - -Thinking about the hreads I read, it seems there are 2 obstacles to native PG -on W: - -1.) no fork, -2.) no SYSV IPC - -Ok, 1.) is an issue, but there's a fork() in MinGW, so it's 'just' going to -be a bit slow on new connections to the DB, right?? But this could be sorted -out once we *have* a native WIN32 build. - -The second one's a bit harder, but... I'm currently trying to find time to do -a minimal implementation of SYSV IPC on WIN32 calls, just enough to get PG up -(doesn't need msg*() for example, right?). -As far as I understand it, we would not need to have IPC items around *after* -all backends and postmaster have gone away, or? Then there's no need for a -'daemon' process like in cygwin. - -So, my route would be to get it to run *somehow* without paying attention to -speed and not to change much of the existing code, THEN see how we could get -rid of fork() on windows. - -What do you guys think? Anyone up to join efforts? (I'll start the IPC thingy -anyway, as an exercise, and see where I'll end). - -Greetings, - Joerg - -P.s.: thanks for a great database system!! --- -Leading SW developer - S.E.A GmbH -Mail: joerg.hessdoerfer@sea-gmbh.com -WWW: http://www.sea-gmbh.com - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M22888@postgresql.org Thu May 16 09:39:14 2002 -Return-path: <pgsql-hackers-owner+M22888@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g4GDdDB16601 - for <pgman@candle.pha.pa.us>; Thu, 16 May 2002 09:39:13 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 3B67F476017; Thu, 16 May 2002 09:39:07 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 2F5C2476361; Thu, 16 May 2002 09:38:37 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 79F99475E20 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 09:38:25 -0400 (EDT) -Received: from earth.hub.org (earth.hub.org [64.49.215.11]) - by postgresql.org (Postfix) with ESMTP id B5EB6475D63 - for <pgsql-hackers@postgresql.org>; Thu, 16 May 2002 09:38:24 -0400 (EDT) -Received: from localhost.localdomain (earth.hub.org [64.49.215.11]) - by localhost (Postfix) with ESMTP - id AB6651035F3; Thu, 16 May 2002 10:38:26 -0300 (ADT) -Received: from earth.hub.org (earth.hub.org [64.49.215.11]) - by earth.hub.org (Postfix) with ESMTP - id 92DBB1035CA; Thu, 16 May 2002 10:38:25 -0300 (ADT) -Date: Thu, 16 May 2002 10:38:25 -0300 (ADT) -From: "Marc G. Fournier" <scrappy@hub.org> -To: Joerg Hessdoerfer <Joerg.Hessdoerfer@sea-gmbh.com> -cc: pgsql-hackers@postgresql.org -Subject: Re: [HACKERS] WIN32 native ... lets start?!? -In-Reply-To: <200205161148.NAA14722@localhost.localdomain> -Message-ID: <20020516103501.Q6260-100000@mail1.hub.org> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - - -Actually, take a look at the thread starting at: - - http://archives.postgresql.org/pgsql-hackers/2002-05/msg00665.php - -Right now, IMHO, the big show stopper is passing global variables to the -child processes in Windows ... the above thread talks about a method of -pulling together the global variables *cleanly* that Tom seems to feel -wouldn't add much in the way of long term maintenance headaches ... *and*, -as I understand it, would provide us with a means to use threading in -future developments if deemed appropriate ... - ->From what I read by those 'in the know' about Windows programming, if we -could centralize the global variables somewhat, using CreateProcess in -Windows shouldn't be a big deal, eliminiating the whole fork() headache -... - -On Thu, 16 May 2002, Joerg Hessdoerfer wrote: - -> Hi all, -> -> I followed the various threads regarding this for some time now. My current -> situation is: -> -> I'm working at a company which does industrial automation, and does it's own -> custom products. We try to be cross-platform, but it's a windoze world, as -> far as most measurement devices or PLCs are concerned. We also employ -> databases for various tasks (including simple ones as holding configuration -> data, but also hammering production data into it at a rate of several hundred -> records/sec.) -> Well, we would *love* to use PostgreSQL in most our projects and products, -> (and we do already use it in some), because it has proven to be very reliable -> and quite fast. -> -> So, I'm faced with using PostgreSQL on windows also (you can't always put a -> Linux box besides). We do this using cygwin, but it's a bit painful ;-) -> (although it works!). -> -> Thinking about the hreads I read, it seems there are 2 obstacles to native PG -> on W: -> -> 1.) no fork, -> 2.) no SYSV IPC -> -> Ok, 1.) is an issue, but there's a fork() in MinGW, so it's 'just' going to -> be a bit slow on new connections to the DB, right?? But this could be sorted -> out once we *have* a native WIN32 build. -> -> The second one's a bit harder, but... I'm currently trying to find time to do -> a minimal implementation of SYSV IPC on WIN32 calls, just enough to get PG up -> (doesn't need msg*() for example, right?). -> As far as I understand it, we would not need to have IPC items around *after* -> all backends and postmaster have gone away, or? Then there's no need for a -> 'daemon' process like in cygwin. -> -> So, my route would be to get it to run *somehow* without paying attention to -> speed and not to change much of the existing code, THEN see how we could get -> rid of fork() on windows. -> -> What do you guys think? Anyone up to join efforts? (I'll start the IPC thingy -> anyway, as an exercise, and see where I'll end). -> -> Greetings, -> Joerg -> -> P.s.: thanks for a great database system!! -> -- -> Leading SW developer - S.E.A GmbH -> Mail: joerg.hessdoerfer@sea-gmbh.com -> WWW: http://www.sea-gmbh.com -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 2: you can get off all lists at once with the unregister command -> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) -> - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M23371@postgresql.org Mon Jun 3 07:19:20 2002 -Return-path: <pgsql-hackers-owner+M23371@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53BJJB21871 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 07:19:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 304D947586C; Mon, 3 Jun 2002 07:19:09 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id DE7D6475FD8; Sun, 2 Jun 2002 21:16:18 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id A3E99475AEC - for <pgsql-hackers@postgresql.org>; Sun, 2 Jun 2002 21:16:05 -0400 (EDT) -Received: from mta03.fuse.net (mx3.fuse.net [216.68.1.123]) - by postgresql.org (Postfix) with ESMTP id DCDF147590F - for <pgsql-hackers@postgresql.org>; Sun, 2 Jun 2002 21:14:20 -0400 (EDT) -Received: from void ([216.196.153.74]) by mta03.fuse.net - (InterMail vM.5.01.03.01 201-253-122-118-101-20010319) with ESMTP - id <20020603011508.MQKV21986.mta03.fuse.net@void> - for <pgsql-hackers@postgresql.org>; - Sun, 2 Jun 2002 21:15:08 -0400 -Message-ID: <010201c20a9b$8779a4a0$b401a8c0@vrlas> -Reply-To: "coventry" <coventry@one.net> -From: "coventry" <coventry@one.net> -To: "pg hackers" <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports -Date: Sun, 2 Jun 2002 21:11:02 -0400 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.2615.200 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2314.1300 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -I think its already been determined that the cygwin option is too low -performing. - -However, the apache stuff could be quite useful - but if that effort -were to be undertaken, it would make more sense to move all versions of the -code the -the apache runtime, for all platforms. Are there any other runtime -libraries out there -that are cross platform, open/free and high performance? I know the mozilla -XPCOM -libraries work quite nicely, but are geared more towards multithreaded -apps - and the -COM-alike infrastructure is something we wouldn't need. - -~Jon - ------ Original Message ----- -From: Bruce Momjian <pgman@candle.pha.pa.us> -To: mlw <markw@mohawksoft.com> -Cc: Tom Lane <tgl@sss.pgh.pa.us>; Marc G. Fournier <scrappy@hub.org>; -<pgsql-hackers@postgresql.org> -Sent: Sunday, June 02, 2002 8:49 PM -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports - - -> mlw wrote: -> > Like I told Marc, I don't care. You spec out what you want and I'll -write it -> > for Windows. -> > -> > That being said, a SysV IPC interface for native Windows would be kind -of cool -> > to have. -> -> I am wondering why we don't just use the Cygwin shm/sem code in our -> project, or maybe the Apache stuff; why bother reinventing the wheel. -> -> -- -> Bruce Momjian | http://candle.pha.pa.us -> pgman@candle.pha.pa.us | (610) 853-3000 -> + If your life is a hard drive, | 830 Blythe Avenue -> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 3: if posting/reading through Usenet, please send an appropriate -> subscribe-nomail command to majordomo@postgresql.org so that your -> message can get through to the mailing list cleanly - - - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From jason@tishler.net Mon Jun 3 09:19:17 2002 -Return-path: <jason@tishler.net> -Received: from smtp.comcast.net (smtp.comcast.net [24.153.64.2]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53DJFB23357 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 09:19:16 -0400 (EDT) -Received: from althea.tishler.net - (bgp572446bgs.eatntn01.nj.comcast.net [68.39.6.197]) - by mtaout03.icomcast.net (iPlanet Messaging Server 5.1 HotFix 0.8 (built May - 13 2002)) with SMTP id <0GX40012FSX60N@mtaout03.icomcast.net> for - pgman@candle.pha.pa.us; Mon, 03 Jun 2002 09:17:30 -0400 (EDT) -Received: by althea.tishler.net (sSMTP sendmail emulation); Mon, - 03 Jun 2002 09:18:41 -0400 -Date: Mon, 03 Jun 2002 09:18:40 -0400 -From: Jason Tishler <jason@tishler.net> -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports -In-Reply-To: <200206030049.g530nL822000@candle.pha.pa.us> -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: mlw <markw@mohawksoft.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -Mail-Followup-To: Bruce Momjian <pgman@candle.pha.pa.us>, - mlw <markw@mohawksoft.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -Message-ID: <20020603131840.GA1020@tishler.net> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7BIT -Content-Disposition: inline -User-Agent: Mutt/1.3.24i -References: <3CD318C1.FF21DFDB@mohawksoft.com> - <200206030049.g530nL822000@candle.pha.pa.us> -Status: RO - -Bruce, - -On Sun, Jun 02, 2002 at 08:49:21PM -0400, Bruce Momjian wrote: -> mlw wrote: -> > Like I told Marc, I don't care. You spec out what you want and I'll write it -> > for Windows. -> > -> > That being said, a SysV IPC interface for native Windows would be kind of -> > cool to have. -> -> I am wondering why we don't just use the Cygwin shm/sem code in our -> project, or maybe the Apache stuff; why bother reinventing the wheel. - -Are you referring to cygipc above? If so, they even one of the original -cygipc authors would discourage this: - - http://sources.redhat.com/ml/cygwin-apps/2001-09/msg00017.html - -Specifically, Ludovic Lange states the following: - - > I really think the solution would be to start again from scratch - > another implementation, as was suggested. The way we did it was - > quick and dirty, the goals weren't to have production systems - > running on it but only to run prototypes. So the internal design - > (if there is any) may not be adequate for the cygwin project. - -However, Rob Collins has contributed a MinGW daemon to Cygwin to support -switching users, System V IPC, etc. So, this code base may be a more -suitable starting point to satisfy PostgreSQL's native Win32 System V -IPC needs. - -Jason - -From pgsql-hackers-owner+M23378@postgresql.org Mon Jun 3 09:29:13 2002 -Return-path: <pgsql-hackers-owner+M23378@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53DTCB24153 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 09:29:12 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id E30C2475E32; Mon, 3 Jun 2002 09:29:03 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 026FB475D81; Mon, 3 Jun 2002 09:28:50 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 56123475BFD - for <pgsql-hackers@postgresql.org>; Mon, 3 Jun 2002 09:28:32 -0400 (EDT) -Received: from smtp.comcast.net (smtp.comcast.net [24.153.64.2]) - by postgresql.org (Postfix) with ESMTP id 5B1E2475A3E - for <pgsql-hackers@postgresql.org>; Mon, 3 Jun 2002 09:27:36 -0400 (EDT) -Received: from althea.tishler.net - (bgp572446bgs.eatntn01.nj.comcast.net [68.39.6.197]) - by mtaout02.icomcast.net (iPlanet Messaging Server 5.1 HotFix 0.8 (built May - 13 2002)) with SMTP id <0GX4003JUTE16I@mtaout02.icomcast.net> for - pgsql-hackers@postgresql.org; Mon, 03 Jun 2002 09:27:38 -0400 (EDT) -Received: by althea.tishler.net (sSMTP sendmail emulation); Mon, - 03 Jun 2002 09:28:48 -0400 -Date: Mon, 03 Jun 2002 09:28:48 -0400 -From: Jason Tishler <jason@tishler.net> -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports -In-Reply-To: <3CFAC785.4AAF9F79@mohawksoft.com> -To: mlw <markw@mohawksoft.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -Mail-Followup-To: mlw <markw@mohawksoft.com>, - Bruce Momjian <pgman@candle.pha.pa.us>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -Message-ID: <20020603132848.GB1020@tishler.net> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7BIT -Content-Disposition: inline -User-Agent: Mutt/1.3.24i -References: <200206030049.g530nL822000@candle.pha.pa.us> - <3CFAC785.4AAF9F79@mohawksoft.com> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -On Sun, Jun 02, 2002 at 09:33:57PM -0400, mlw wrote: -> Bruce Momjian wrote: -> > mlw wrote: -> > > Like I told Marc, I don't care. You spec out what you want and I'll write -> > > it for Windows. -> > > -> > > That being said, a SysV IPC interface for native Windows would be kind of -> > > cool to have. -> > -> > I am wondering why we don't just use the Cygwin shm/sem code in our -> > project, or maybe the Apache stuff; why bother reinventing the wheel. -> -> but! in the course of testing some code, I managed to gain some experience -> with cygwin. I have seen fork() problems with a large number of processes. - -Since Cygwin's fork() is implemented with WaitForMultipleObjects(), -it has a limitation of only 63 children per parent. Also, there can -be DLL base address conflicts (causing Cygwin fork() to fail) that are -avoidable by rebasing the appropriate DLLs. AFAICT, Cygwin PostgreSQL is -currently *not* affected by this issue where as other Cygwin applications -such as Python and Apache are. - -Jason - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23379@postgresql.org Mon Jun 3 10:08:15 2002 -Return-path: <pgsql-hackers-owner+M23379@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53E8EB27402 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 10:08:15 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 2B4DA475F6D; Mon, 3 Jun 2002 10:08:06 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 3D70D475DB5; Mon, 3 Jun 2002 09:54:41 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id CEDC6475C95 - for <pgsql-hackers@postgresql.org>; Mon, 3 Jun 2002 09:54:25 -0400 (EDT) -Received: from smtp014.mail.yahoo.com (smtp014.mail.yahoo.com [216.136.173.58]) - by postgresql.org (Postfix) with SMTP id D5BB0475DA3 - for <pgsql-hackers@postgresql.org>; Mon, 3 Jun 2002 09:46:48 -0400 (EDT) -Received: from unknown (HELO saturn.janwieck.net) (janwieck@192.233.92.205 with login) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 3 Jun 2002 13:46:50 -0000 -Received: (from wieck@localhost) - by saturn.janwieck.net (8.11.2/8.11.2) id g53Didi02442; - Mon, 3 Jun 2002 09:44:39 -0400 -From: Jan Wieck <janwieck@yahoo.com> -Message-ID: <200206031344.g53Didi02442@saturn.janwieck.net> -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports -In-Reply-To: <20020603132848.GB1020@tishler.net> from Jason Tishler at "Jun 3, - 2002 09:28:48 am" -To: Jason Tishler <jason@tishler.net> -Date: Mon, 3 Jun 2002 09:44:38 -0400 (EDT) -cc: mlw <markw@mohawksoft.com>, Bruce Momjian <pgman@candle.pha.pa.us>, - Tom Lane <tgl@sss.pgh.pa.us>, "Marc G. Fournier" <scrappy@hub.org>, - pgsql-hackers@postgresql.org -X-Mailer: ELM [version 2.4ME+ PL68 (25)] -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Jason Tishler wrote: -> On Sun, Jun 02, 2002 at 09:33:57PM -0400, mlw wrote: -> > Bruce Momjian wrote: -> > > mlw wrote: -> > > > Like I told Marc, I don't care. You spec out what you want and I'll write -> > > > it for Windows. -> > > > -> > > > That being said, a SysV IPC interface for native Windows would be kind of -> > > > cool to have. -> > > -> > > I am wondering why we don't just use the Cygwin shm/sem code in our -> > > project, or maybe the Apache stuff; why bother reinventing the wheel. -> > -> > but! in the course of testing some code, I managed to gain some experience -> > with cygwin. I have seen fork() problems with a large number of processes. -> -> Since Cygwin's fork() is implemented with WaitForMultipleObjects(), -> it has a limitation of only 63 children per parent. Also, there can -> be DLL base address conflicts (causing Cygwin fork() to fail) that are -> avoidable by rebasing the appropriate DLLs. AFAICT, Cygwin PostgreSQL is -> currently *not* affected by this issue where as other Cygwin applications -> such as Python and Apache are. - - Whatever technical problems there are, we can debate on and - on if it's worth working around them in PostgreSQL or fixing - them in CygWIN or whatever. - - The main problem will remain. That using PostgreSQL under - CygWIN requires some UNIX know how. So a pure Windows - user/shop needs UNIX knowledge to run our "Windows port" of - PostgreSQL? Interesting definition of "port". - - -Jan - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - - - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From markw@mohawksoft.com Mon Jun 3 17:40:50 2002 -Return-path: <markw@mohawksoft.com> -Received: from snoopy.mohawksoft.com (h0050bf7a618d.ne.client2.attbi.com [24.147.138.78]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53LemB04653 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 17:40:49 -0400 (EDT) -Received: from mohawksoft.com (localhost [127.0.0.1]) - by snoopy.mohawksoft.com (8.11.6/8.11.6) with ESMTP id g53LcIG12116; - Mon, 3 Jun 2002 17:38:18 -0400 -Sender: markw@snoopy.mohawksoft.com -Message-ID: <3CFBE1C9.A0B83716@mohawksoft.com> -Date: Mon, 03 Jun 2002 17:38:17 -0400 -From: mlw <markw@mohawksoft.com> -X-Mailer: Mozilla 4.79 [en] (X11; U; Linux 2.4.18-3smp i686) -X-Accept-Language: en -MIME-Version: 1.0 -To: Jason Tishler <jason@tishler.net> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -Subject: Re: [HACKERS] HEADS UP: Win32/OS2/BeOS native ports -References: <200206030049.g530nL822000@candle.pha.pa.us> - <3CFAC785.4AAF9F79@mohawksoft.com> <20020603132848.GB1020@tishler.net> - <3CFB70F3.63AE630B@mohawksoft.com> <20020603142957.GA952@tishler.net> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Status: RO - -Jason Tishler wrote: -> -> On Mon, Jun 03, 2002 at 09:36:51AM -0400, mlw wrote: -> > Jason Tishler wrote: -> > > -> > > On Sun, Jun 02, 2002 at 09:33:57PM -0400, mlw wrote: -> > > > Bruce Momjian wrote: -> > > > > mlw wrote: -> > > > > > Like I told Marc, I don't care. You spec out what you want and I'll -> > > > > > write it for Windows. -> > > > > > -> > > > > > That being said, a SysV IPC interface for native Windows would be -> > > > > > kind of cool to have. -> > > > > -> > > > > I am wondering why we don't just use the Cygwin shm/sem code in our -> > > > > project, or maybe the Apache stuff; why bother reinventing the wheel. -> > > > -> > > > but! in the course of testing some code, I managed to gain some experience -> > > > with cygwin. I have seen fork() problems with a large number of processes. -> > > -> > > Since Cygwin's fork() is implemented with WaitForMultipleObjects(), -> > > it has a limitation of only 63 children per parent. Also, there can -> > > be DLL base address conflicts (causing Cygwin fork() to fail) that are -> > > avoidable by rebasing the appropriate DLLs. AFAICT, Cygwin PostgreSQL is -> > > currently *not* affected by this issue where as other Cygwin applications -> > > such as Python and Apache are. -> > -> > Why would not PostgreSQL be affected by this? -> -> Sorry, if I was unclear -- I should have used two paragraphs above and -> maybe a few more words... :,) -> -> Cygwin PostgreSQL *is* affected by the Cygwin 63 children per parent -> fork limitation. -> -> PostgreSQL *can* be affected by the Cygwin DLL base address conflict -> fork issue, but in my experience (both personal and by monitoring the -> Cygwin and pgsql-cygwin lists), no one has been affected yet. The DLL -> base address conflict is a "probability" thing. The more DLLs loaded -> the greater the chance of a conflict (and fork() failing). Since, Cygwin -> PostgreSQL loads only a few DLLs, this has not become an issue (yet). - -I'm not sure the DLL load address is a big issue for PostgreSQL, AFAIK no -option DLLs will be loaded by Postmaster. So, with fork() it will be a simple -process. A PostgreSQL child will die upon completion, and never execute fork(). - -My concern would be the limit on the number of child processes allowed. 63 is -far below what would be considered a usable number in production, and as long -as that is an issue, I don't think anyone would take PostgreSQL seriously. - -A Windows version of PostgreSQL must run within the confines of the Windows OS. -The reason, IMHO, that no one has found any serious bugs in the cygwin version, -is because no one is seriously using it. Anyone who *would* seriously use it, -knows better. - -From robert.schrem@WiredMinds.de Mon Jun 3 10:08:28 2002 -Return-path: <robert.schrem@WiredMinds.de> -Received: from mail.wiredminds.de (mail.wiredminds.de [212.9.164.91]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g53E8QB27442 - for <pgman@candle.pha.pa.us>; Mon, 3 Jun 2002 10:08:27 -0400 (EDT) -Received: from pc-robert (roberts@pc-robert.wiredminds.de [192.168.111.59]) - by mail.wiredminds.de (8.11.3/8.11.4) with ESMTP id g53E8lC04991; - Mon, 3 Jun 2002 16:08:47 +0200 -Content-Type: text/plain; - charset="iso-8859-1" -From: Robert Schrem <robert.schrem@WiredMinds.de> -Reply-To: robert.schrem@WiredMinds.de -Organization: WiredMinds GmbH -To: Jason Tishler <jason@tishler.net>, Bruce Momjian <pgman@candle.pha.pa.us> -Subject: Re: HEADS UP: Win32/OS2/BeOS native ports - the 'BEST OPEN SOURCE database backend' -Date: Mon, 3 Jun 2002 16:08:14 +0200 -X-Mailer: KMail [version 1.4] -cc: mlw <markw@mohawksoft.com>, Tom Lane <tgl@sss.pgh.pa.us>, - "Marc G. Fournier" <scrappy@hub.org>, pgsql-hackers@postgresql.org -References: <3CD318C1.FF21DFDB@mohawksoft.com> <200206030049.g530nL822000@candle.pha.pa.us> <20020603131840.GA1020@tishler.net> -In-Reply-To: <20020603131840.GA1020@tishler.net> -MIME-Version: 1.0 -Message-ID: <200206031608.14726.robert.schrem@wiredminds.de> -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g53E8QB27442 -Status: RO - -Hi, - -You may want to have a look at: http://www.garret.ru/~knizhnik/ -You find there code for a 'Fast synchronized access to shared -memory for Windows and for i86 Unix-es". - -kind regards, - -Robert - -> Bruce, -> -> On Sun, Jun 02, 2002 at 08:49:21PM -0400, Bruce Momjian wrote: -> > mlw wrote: -> > > Like I told Marc, I don't care. You spec out what you want and I'll -> > > write it for Windows. -> > > -> > > That being said, a SysV IPC interface for native Windows would be kind -> > > of cool to have. -> > -> > I am wondering why we don't just use the Cygwin shm/sem code in our -> > project, or maybe the Apache stuff; why bother reinventing the wheel. -> -> Are you referring to cygipc above? If so, they even one of the original -> cygipc authors would discourage this: -> -> http://sources.redhat.com/ml/cygwin-apps/2001-09/msg00017.html -> -> Specifically, Ludovic Lange states the following: -> > I really think the solution would be to start again from scratch -> > another implementation, as was suggested. The way we did it was -> > quick and dirty, the goals weren't to have production systems -> > running on it but only to run prototypes. So the internal design -> > (if there is any) may not be adequate for the cygwin project. -> -> However, Rob Collins has contributed a MinGW daemon to Cygwin to support -> switching users, System V IPC, etc. So, this code base may be a more -> suitable starting point to satisfy PostgreSQL's native Win32 System V -> IPC needs. -> -> Jason -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 2: you can get off all lists at once with the unregister command -> (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - - -From pgsql-hackers-owner+M23404@postgresql.org Wed Jun 5 00:34:21 2002 -Return-path: <pgsql-hackers-owner+M23404@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g554YKs05329 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 00:34:20 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id F1588475998; Wed, 5 Jun 2002 00:34:15 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 6300547627A; Wed, 5 Jun 2002 00:34:02 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 2B9BA475A5B - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 00:33:49 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id AD19E475E84 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 00:33:43 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g554XiN05245 - for pgsql-hackers@postgreSQL.org; Wed, 5 Jun 2002 00:33:44 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206050433.g554XiN05245@candle.pha.pa.us> -Subject: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <20020516103501.Q6260-100000@mail1.hub.org> -To: PostgreSQL-development <pgsql-hackers@postgresql.org> -Date: Wed, 5 Jun 2002 00:33:44 -0400 (EDT) -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -OK, I think I am now caught up on the Win32/cygwin discussion, and would -like to make some remarks. - -First, are we doing enough to support the Win32 platform? I think the -answer is clearly "no". There are 3-5 groups/companies working on Win32 -ports of PostgreSQL. We always said there would not be PostgreSQL forks -if we were doing our job to meet user needs. Well, obviously, a number -of groups see a need for a better Win32 port and we aren't meeting that -need, so they are. I believe this is one of the few cases where groups -are going out on their own because we are falling behind. - -So, there is no question in my mind we need to do more to encourage -Win32 ports. Now, on to the details. - -INSTALLER ---------- - -We clearly need an installer that is zero-hassle for users. We need to -decide on a direction for this. - -GUI ---- - -We need a slick GUI. pgadmin2 seems to be everyone's favorite, with -pgaccess on Win32 also an option. What else do we need here? - -BINARY ------- - -This is the big daddy. It is broken down into several sections: - -FORK() - -How do we handle fork()? Do we use the cygwin method that copies the -whole data segment, or put the global data in shared memory and copy -that small part manually after we create a new process? - -THREADING - -Related to fork(), do we implement an optionally threaded postmaster, -which eliminates CreateProcess() entirely? I don't think we will have -superior performance on Win32 without it. (This would greatly help -Solaris as well.) - -IPC - -We can use Cygwin, MinGW, Apache, or our own code for this. Are there -other options? - -ENVIRONMENT - -Lots of our code requires a unix shell and utilities. Will we continue -using cygwin for this? - ---------------------------------------------------------------------------- - -As a roadmap, it would be good to get consensus on as many of these -items as possible so people can start working in these areas. We can -keep a web page of decisions we have made to help rally developers to -the project. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M23405@postgresql.org Wed Jun 5 01:02:39 2002 -Return-path: <pgsql-hackers-owner+M23405@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5552cs07802 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 01:02:38 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id C97A6475986; Wed, 5 Jun 2002 01:02:39 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 1F2124761F2; Wed, 5 Jun 2002 01:02:13 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 3866A475A3B - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 01:01:59 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id D4F2B475986 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 01:01:57 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: Re: [HACKERS] Roadmap for a Win32 port -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -content-class: urn:content-classes:message -Date: Tue, 4 Jun 2002 22:02:14 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82906F465@voyager.corporate.connx.com> -Thread-Topic: [HACKERS] Roadmap for a Win32 port -Thread-Index: AcIMSk/7WQpVSQqTSsiRN1SUew56HgAAWkLg -From: "Dann Corbit" <DCorbit@connx.com> -To: "Bruce Momjian" <pgman@candle.pha.pa.us>, - "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g5552cs07802 -Status: RO - -> -----Original Message----- -> From: Bruce Momjian [mailto:pgman@candle.pha.pa.us] -> Sent: Tuesday, June 04, 2002 9:34 PM -> To: PostgreSQL-development -> Subject: [HACKERS] Roadmap for a Win32 port -> -> -> OK, I think I am now caught up on the Win32/cygwin -> discussion, and would -> like to make some remarks. -> -> First, are we doing enough to support the Win32 platform? I think the -> answer is clearly "no". There are 3-5 groups/companies -> working on Win32 -> ports of PostgreSQL. We always said there would not be -> PostgreSQL forks -> if we were doing our job to meet user needs. Well, -> obviously, a number -> of groups see a need for a better Win32 port and we aren't -> meeting that -> need, so they are. I believe this is one of the few cases -> where groups -> are going out on their own because we are falling behind. -> -> So, there is no question in my mind we need to do more to encourage -> Win32 ports. Now, on to the details. -> -> INSTALLER -> --------- -> -> We clearly need an installer that is zero-hassle for users. -> We need to -> decide on a direction for this. -> -> GUI -> --- -> -> We need a slick GUI. pgadmin2 seems to be everyone's favorite, with -> pgaccess on Win32 also an option. What else do we need here? - -Nothing else. It is better than any commercial tools in current use. -An excellent piece of work. - -> BINARY -> ------ -> -> This is the big daddy. It is broken down into several sections: -> -> FORK() -> -> How do we handle fork()? Do we use the cygwin method that copies the -> whole data segment, or put the global data in shared memory and copy -> that small part manually after we create a new process? - -Do not try to do a fork() on Win32. The one at PW32 is better, but -still awful. Win32 just does not have fascilities for fork(). - -If you use Cygwin, it will kill the project for commercial use (at least -for many institutions). That's fine, but it will become an academic -exercise instead of a viable commercial tool. If they are comfortable -in that [Cygwin] environment, it makes no sense to use Cygwin instead of -Redhat. The Redhat version will fork() 100 times faster. After all, if -they are going to use unix tools in a unix interface with Unix scripts -you might as well use UNIX. And Cygwin requires a license for -commercial use. -http://cygwin.com/licensing.html - -> THREADING -> -> Related to fork(), do we implement an optionally threaded postmaster, -> which eliminates CreateProcess() entirely? I don't think we will have -> superior performance on Win32 without it. (This would greatly help -> Solaris as well.) - -CreateProcess() works well for Win32. That is the approach that we used -and also the approach used by the Japanese team. -It is very simple. Simply do a create process call and then perform the -same operations that were done up to that point. It isn't difficult. -Threading is another possibility. I think create process is better, -because you can clone the rights of the one who attaches for the spawned -server (if you want to do that). - -> -> IPC -> -> We can use Cygwin, MinGW, Apache, or our own code for this. Are there -> other options? - -We wrote our own from scratch. Cygwin will kill it. If there is a -MinGW version it might be OK, but if MinGW is GPL, that will kill it. -Have a look at ACE: -http://www.cs.wustl.edu/~schmidt/ACE.html -Their license is on the same level as a BSD license. Now, they use C++, -but you can always write: -extern "C" { -} -wrappers for stuff and keep PostgreSQL itself in pure, vanilla C. GCC -does come with a C++ compiler, so it isn't going to cut anyone off. - -> ENVIRONMENT -> -> Lots of our code requires a Unix shell and utilities. Will -> we continue -> using cygwin for this? - -We wrote our own utilities from scratch (e.g. initdb). The Japanese -group that did the port did the same thing. - -> -------------------------------------------------------------- -> ------------- -> -> As a roadmap, it would be good to get consensus on as many of these -> items as possible so people can start working in these areas. We can -> keep a web page of decisions we have made to help rally developers to -> the project. - -If you want a roadmap, the Japanese group laid it out for you. They -did the exact same steps as we did. Now, I don't know if we will be -able to contribute or not (it is very much up in the air). And we had -to do a lot of hacking of the source, so you might not want it if we -volunteered. - -Suggestion: -Ask the Japanese group if they would like to post their changes back or -expose them so that the programming team can get ideas form it. - -I actually like what they did better than what we did (A giant DLL and -all the binaries are microscopic -- it was how I suggested to do it here -but it was vetoed). - -Anyway, here is a roadmap laid out for you exactly. Just do what it -says and you will be fine: -http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html - -Look at where it says "Gists for patch" and do that. - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From markir@slingshot.co.nz Wed Jun 5 03:44:54 2002 -Return-path: <markir@slingshot.co.nz> -Received: from smtp-1.attica.net.nz (pop3-1.tranzpeer.net [202.180.66.199]) - by candle.pha.pa.us (8.11.6/8.10.1) with SMTP id g557iqs18525 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 03:44:53 -0400 (EDT) -Received: (qmail 93765 invoked from network); 5 Jun 2002 07:44:08 -0000 -Received: from p175.nas1.wlg.callplus.net.nz (202.180.103.175) - by pop3-1.tranzpeer.net with SMTP; 5 Jun 2002 07:44:08 -0000 -Subject: Re: [HACKERS] Roadmap for a Win32 port -From: Mark kirkwood <markir@slingshot.co.nz> -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgreSQL.org> -In-Reply-To: <200206050433.g554XiN05245@candle.pha.pa.us> -References: <200206050433.g554XiN05245@candle.pha.pa.us> -Content-Type: text/plain -Content-Transfer-Encoding: 7bit -X-Mailer: Evolution/1.0.2-5mdk -Date: 05 Jun 2002 19:38:52 +1200 -Message-ID: <1023262733.1314.7.camel@spikey.slithery.org> -MIME-Version: 1.0 -Status: ROr - -On Wed, 2002-06-05 at 16:33, Bruce Momjian wrote: -> OK, I think I am now caught up on the Win32/cygwin discussion, and would -> like to make some remarks. -> -> First, are we doing enough to support the Win32 platform? I think the -> answer is clearly "no". There are 3-5 groups/companies working on Win32 -> ports of PostgreSQL. We always said there would not be PostgreSQL forks -> if we were doing our job to meet user needs. Well, obviously, a number -> of groups see a need for a better Win32 port and we aren't meeting that -> need, so they are. I believe this is one of the few cases where groups -> are going out on their own because we are falling behind. -> -> So, there is no question in my mind we need to do more to encourage -> Win32 ports. Now, on to the details. -> -> INSTALLER -> --------- -> -> We clearly need an installer that is zero-hassle for users. We need to -> decide on a direction for this. -> -> GUI -> --- -> -> We need a slick GUI. pgadmin2 seems to be everyone's favorite, with -> pgaccess on Win32 also an option. What else do we need here? -> -> BINARY -> ------ -> -> This is the big daddy. It is broken down into several sections: -> -> FORK() -> -> How do we handle fork()? Do we use the cygwin method that copies the -> whole data segment, or put the global data in shared memory and copy -> that small part manually after we create a new process? -> -> THREADING -> -> Related to fork(), do we implement an optionally threaded postmaster, -> which eliminates CreateProcess() entirely? I don't think we will have -> superior performance on Win32 without it. (This would greatly help -> Solaris as well.) -> -> IPC -> -> We can use Cygwin, MinGW, Apache, or our own code for this. Are there -> other options? -> -> ENVIRONMENT -> -> Lots of our code requires a unix shell and utilities. Will we continue -> using cygwin for this? -> -> --------------------------------------------------------------------------- -> -> As a roadmap, it would be good to get consensus on as many of these -> items as possible so people can start working in these areas. We can -> keep a web page of decisions we have made to help rally developers to -> the project. -> -> -- -> Bruce Momjian | http://candle.pha.pa.us -> pgman@candle.pha.pa.us | (610) 853-3000 -> + If your life is a hard drive, | 830 Blythe Avenue -> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 5: Have you checked our extensive FAQ? -> -> http://www.postgresql.org/users-lounge/docs/faq.html -> -Is it worth looking at how the mysql crowd did their win32 port - -(or is that intrinsically a _bad_thing_ to do..) ? - -(I am guessing that is why their sources requires c++ ....) - -regards - -Mark - - -From pgsql-hackers-owner+M23408@postgresql.org Wed Jun 5 08:16:29 2002 -Return-path: <pgsql-hackers-owner+M23408@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55CGSs07449 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 08:16:28 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 6FA76475997; Wed, 5 Jun 2002 08:16:22 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id AECD347622F; Wed, 5 Jun 2002 08:14:38 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id AD0E7476110 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 08:14:27 -0400 (EDT) -Received: from smtp.comcast.net (smtp.comcast.net [24.153.64.2]) - by postgresql.org (Postfix) with ESMTP id D067D475FE1 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 08:05:47 -0400 (EDT) -Received: from althea.tishler.net - (bgp572446bgs.eatntn01.nj.comcast.net [68.39.6.197]) - by mtaout06.icomcast.net (iPlanet Messaging Server 5.1 HotFix 0.8 (built May - 13 2002)) with SMTP id <0GX800E3YEXHHV@mtaout06.icomcast.net> for - pgsql-hackers@postgreSQL.org; Wed, 05 Jun 2002 08:05:41 -0400 (EDT) -Received: by althea.tishler.net (sSMTP sendmail emulation); Wed, - 05 Jun 2002 08:07:06 -0400 -Date: Wed, 05 Jun 2002 08:07:06 -0400 -From: Jason Tishler <jason@tishler.net> -Subject: Re: [HACKERS] Roadmap for a Win32 port - <D90A5A6C612A39408103E6ECDD77B82906F465@voyager.corporate.connx.com> -To: Dann Corbit <DCorbit@connx.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Mail-Followup-To: Dann Corbit <DCorbit@connx.com>, - Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgreSQL.org> -Message-ID: <20020605120705.GA1544@tishler.net> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7BIT -Content-Disposition: inline -User-Agent: Mutt/1.3.24i -References: <D90A5A6C612A39408103E6ECDD77B82906F465@voyager.corporate.connx.com> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -Dan, - -The following is to help keep the archives accurate and should not be -construed as an argument against the native Win32 port. - -On Tue, Jun 04, 2002 at 10:02:14PM -0700, Dann Corbit wrote: -> And Cygwin requires a license for commercial use. -> http://cygwin.com/licensing.html - -The above is not necessarily true: - - Red Hat sells a special Cygwin License for customers who are unable - to provide their application in open source code form. - -Note that the above only comes into play if your application links -with the Cygwin DLL. This is easily avoidable by using JDBC, ODBC, -Win32 libpq, etc. Hence, most people will not be required to purchase -this license from Red Hat. - -Jason - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From Igor.Kovalenko@motorola.com Wed Jun 5 15:31:26 2002 -Return-path: <Igor.Kovalenko@motorola.com> -Received: from ftpbox.mot.com (ftpbox.mot.com [129.188.136.101]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55JVPs09926 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 15:31:26 -0400 (EDT) -Received: [from pobox3.mot.com (pobox3.mot.com [10.64.251.242]) by ftpbox.mot.com (ftpbox 2.1) with ESMTP id MAA21713; Wed, 5 Jun 2002 12:31:25 -0700 (MST)] -Received: [from pronto1.comm.mot.com (pronto1.comm.mot.com [173.6.1.22]) by pobox3.mot.com (MOT-pobox3 2.0) with ESMTP id MAA08146; Wed, 5 Jun 2002 12:31:08 -0700 (MST)] -Received: from kovalenkoigor (idennt19534 [145.1.195.34]) - by pronto1.comm.mot.com (8.9.3/8.9.3) with SMTP id OAA09587; - Wed, 5 Jun 2002 14:31:24 -0500 (CDT) -Message-ID: <11f301c20cc7$b1f73a70$22c30191@comm.mot.com> -From: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -To: "Bruce Momjian" <pgman@candle.pha.pa.us>, - "PostgreSQL-development" <pgsql-hackers@postgresql.org> -References: <200206050433.g554XiN05245@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Wed, 5 Jun 2002 14:32:13 -0500 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.2919.6600 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 -Status: ROr - -I might be naive here, but would not proper threading model remove the need -for fork() altogether? On both Unix and Win32? Should not be too hard to -come up with abstraction which encapsulates POSIX, BeOS and Win32 threads... -I am not sure how universal POSIX threads are by now. Any important Unix -platforms which don't support them yet? - -This has downside of letting any bug to kill the whole thing. On the bright -side, performance should be better on some platforms (note however, Apache -group still can't come up with implementation of threaded model which would -provide better performance than forked or other models). The need to deal -with possibility of 'alien' postmaster running along with orphaned backends -would also be removed since there would be only one process. - -Issue of thread safety of code will come up undoubtedly and some things will -probably have to be revamped. But in long term this is probably best way if -you want to have efficient and uniform Unix AND Win32 implementations. - -I am not too familiar with Win32. Speaking about POSIX threads, it would be -something like a thread pool with low & high watermarks. Main thread would -handle thread pool and hand over requests to worker threads (blocked on -condvar). How does that sound? - --- igor - ------ Original Message ----- -From: "Bruce Momjian" <pgman@candle.pha.pa.us> -To: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Sent: Tuesday, June 04, 2002 11:33 PM -Subject: [HACKERS] Roadmap for a Win32 port - - -> OK, I think I am now caught up on the Win32/cygwin discussion, and would -> like to make some remarks. -> -> First, are we doing enough to support the Win32 platform? I think the -> answer is clearly "no". There are 3-5 groups/companies working on Win32 -> ports of PostgreSQL. We always said there would not be PostgreSQL forks -> if we were doing our job to meet user needs. Well, obviously, a number -> of groups see a need for a better Win32 port and we aren't meeting that -> need, so they are. I believe this is one of the few cases where groups -> are going out on their own because we are falling behind. -> -> So, there is no question in my mind we need to do more to encourage -> Win32 ports. Now, on to the details. -> -> INSTALLER -> --------- -> -> We clearly need an installer that is zero-hassle for users. We need to -> decide on a direction for this. -> -> GUI -> --- -> -> We need a slick GUI. pgadmin2 seems to be everyone's favorite, with -> pgaccess on Win32 also an option. What else do we need here? -> -> BINARY -> ------ -> -> This is the big daddy. It is broken down into several sections: -> -> FORK() -> -> How do we handle fork()? Do we use the cygwin method that copies the -> whole data segment, or put the global data in shared memory and copy -> that small part manually after we create a new process? -> -> THREADING -> -> Related to fork(), do we implement an optionally threaded postmaster, -> which eliminates CreateProcess() entirely? I don't think we will have -> superior performance on Win32 without it. (This would greatly help -> Solaris as well.) -> -> IPC -> -> We can use Cygwin, MinGW, Apache, or our own code for this. Are there -> other options? -> -> ENVIRONMENT -> -> Lots of our code requires a unix shell and utilities. Will we continue -> using cygwin for this? -> -> -------------------------------------------------------------------------- -- -> -> As a roadmap, it would be good to get consensus on as many of these -> items as possible so people can start working in these areas. We can -> keep a web page of decisions we have made to help rally developers to -> the project. -> -> -- -> Bruce Momjian | http://candle.pha.pa.us -> pgman@candle.pha.pa.us | (610) 853-3000 -> + If your life is a hard drive, | 830 Blythe Avenue -> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 5: Have you checked our extensive FAQ? -> -> http://www.postgresql.org/users-lounge/docs/faq.html -> - - -From pgsql-hackers-owner+M23416@postgresql.org Wed Jun 5 16:05:36 2002 -Return-path: <pgsql-hackers-owner+M23416@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55K5Zs15637 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 16:05:36 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id D84B3476449; Wed, 5 Jun 2002 16:05:31 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id CD4754763D0; Wed, 5 Jun 2002 16:05:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 6CD45476001 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 16:05:07 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id 09559475FC9 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 16:05:06 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g55K52615577; - Wed, 5 Jun 2002 16:05:02 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206052005.g55K52615577@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <11f301c20cc7$b1f73a70$22c30191@comm.mot.com> -To: Igor Kovalenko <Igor.Kovalenko@motorola.com> -Date: Wed, 5 Jun 2002 16:05:02 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Igor Kovalenko wrote: -> I might be naive here, but would not proper threading model remove the need -> for fork() altogether? On both Unix and Win32? Should not be too hard to -> come up with abstraction which encapsulates POSIX, BeOS and Win32 threads... -> I am not sure how universal POSIX threads are by now. Any important Unix -> platforms which don't support them yet? -> -> This has downside of letting any bug to kill the whole thing. On the bright -> side, performance should be better on some platforms (note however, Apache -> group still can't come up with implementation of threaded model which would -> provide better performance than forked or other models). The need to deal -> with possibility of 'alien' postmaster running along with orphaned backends -> would also be removed since there would be only one process. -> -> Issue of thread safety of code will come up undoubtedly and some things will -> probably have to be revamped. But in long term this is probably best way if -> you want to have efficient and uniform Unix AND Win32 implementations. -> -> I am not too familiar with Win32. Speaking about POSIX threads, it would be -> something like a thread pool with low & high watermarks. Main thread would -> handle thread pool and hand over requests to worker threads (blocked on -> condvar). How does that sound? - -Good summary. I think we would support both threaded and fork() -operation, and users can control which they prefer. For a web backend -where many sessions are a single query, people may want to give up the -stability of fork() and go with threads, even on Unix. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From thomas@fourpalms.org Wed Jun 5 18:02:46 2002 -Return-path: <thomas@fourpalms.org> -Received: from myst.fourpalms.org (fwuser@sentry.sonalysts.com [198.6.208.103]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55M2js26493 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 18:02:45 -0400 (EDT) -Message-ID: <3CFE8A79.84738F2F@fourpalms.org> -Date: Wed, 05 Jun 2002 15:02:33 -0700 -From: Thomas Lockhart <thomas@fourpalms.org> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.8-34.1mdk i686) -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: Igor Kovalenko <Igor.Kovalenko@motorola.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -References: <200206052005.g55K52615577@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Status: RO - -... -> Good summary. I think we would support both threaded and fork() -> operation, and users can control which they prefer. For a web backend -> where many sessions are a single query, people may want to give up the -> stability of fork() and go with threads, even on Unix. - -I would think that we would build on our strengths of having a fork/exec -model for separate clients. A threaded model *could* benefit individual -clients who are doing queries on multiprocessor servers, and I would be -supportive of efforts to enable that. - -But the requirements for that may be less severe than for managing -multiple clients within the same process, and imho there is not strong -requirement to enable the latter for our current crop of well supported -targets. If it came for free then great, but if it came with a high cost -then the choice is not as obvious. It is also not a *requirement* if we -were instead able to do the multiple threads for a single client -scenerio first. - - - Thomas - -From pgsql-hackers-owner+M23421@postgresql.org Wed Jun 5 18:42:44 2002 -Return-path: <pgsql-hackers-owner+M23421@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55Mghs29966 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 18:42:44 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 96863475D45; Wed, 5 Jun 2002 18:42:41 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 8F68F47645B; Wed, 5 Jun 2002 18:36:44 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id D8C2B47630D - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 18:36:22 -0400 (EDT) -Received: from myst.fourpalms.org (sentry.sonalysts.com [198.6.208.103]) - by postgresql.org (Postfix) with ESMTP id 35C5647639F - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 18:21:31 -0400 (EDT) -Message-ID: <3CFE8EE2.46020ACC@fourpalms.org> -Date: Wed, 05 Jun 2002 15:21:22 -0700 -From: Thomas Lockhart <thomas@fourpalms.org> -X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.4.8-34.1mdk i686) -MIME-Version: 1.0 -To: Dann Corbit <DCorbit@connx.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - Igor Kovalenko <Igor.Kovalenko@motorola.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -References: <D90A5A6C612A39408103E6ECDD77B82920CF21@voyager.corporate.connx.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -... -> Notion: -> Have one version do both. Your server can fork(), and your sever can -> thread. It can fork() and thread, it can fork() or thread. -> That gives the best of all worlds. One client who has his attachments -> to a database all setup might want to do a bunch of similar queries. -> Hence a threaded model is nice. -> A server may be set up to clone the rights of the attaching process for -> security reasons. Then you launch a new server with fork(). - -Right. If/when that is possible then let's do it, as long as the cost is -not too high. But the intermediate steps are a possibility also, and are -not precluded from discussion. - -This will all work out as a *convergence* of interests imho. And there -is no great identifiable benefit for our current crop of platforms for -going to a threaded model *unless* that enables queries for a single -client to execute in parallel (all imho of course ;). - -So our convergence of interests for all platforms is in enabling -threading for these two purposes, and focusing on enabling the -multithreaded single client *first* means that the current crop of -clients don't have to accept all negatives while we start on the road to -better support of Win32 machines. - - - Thomas - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M23422@postgresql.org Wed Jun 5 19:23:03 2002 -Return-path: <pgsql-hackers-owner+M23422@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g55NN2s03496 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 19:23:02 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 66BF747611A; Wed, 5 Jun 2002 19:22:57 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 9D9824765FF; Wed, 5 Jun 2002 19:05:26 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 7939A476591 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 19:05:08 -0400 (EDT) -Received: from mail.celerityonline.com (unknown [65.90.8.22]) - by postgresql.org (Postfix) with SMTP id 52DB8476304 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 18:49:42 -0400 (EDT) -Received: (qmail 11143 invoked from network); 5 Jun 2002 23:09:05 -0000 -Received: from unknown (HELO jmf1) (199.3.237.161) - by 0 with SMTP; 5 Jun 2002 23:09:05 -0000 -Message-ID: <001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> -From: "Jon Franz" <coventry@one.net> -To: <pgsql-hackers@postgresql.org> -References: <200206052005.g55K52615577@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Wed, 5 Jun 2002 18:50:46 -0400 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 6.00.2600.0000 -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -One note: SGI developers discovered they could get amazing performance using -as hybrid threaded and forked-process model with apache - we might want to -look into this. They even have a library for network-communication -utilizing thier 'state threads' model. Please see: - -http://state-threads.sourceforge.net/docs/st.html - -Thus, on platforms where it can be supported, we should keep in mind that a -hybrid multiprocess/multithreaded postgresql might be the fastest -solution... - - ------ Original Message ----- -From: "Bruce Momjian" <pgman@candle.pha.pa.us> -To: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Sent: Wednesday, June 05, 2002 4:05 PM -Subject: Re: [HACKERS] Roadmap for a Win32 port - - -> Igor Kovalenko wrote: -> > I might be naive here, but would not proper threading model remove the -need -> > for fork() altogether? On both Unix and Win32? Should not be too hard to -> > come up with abstraction which encapsulates POSIX, BeOS and Win32 -threads... -> > I am not sure how universal POSIX threads are by now. Any important Unix -> > platforms which don't support them yet? -> > -> > This has downside of letting any bug to kill the whole thing. On the -bright -> > side, performance should be better on some platforms (note however, -Apache -> > group still can't come up with implementation of threaded model which -would -> > provide better performance than forked or other models). The need to -deal -> > with possibility of 'alien' postmaster running along with orphaned -backends -> > would also be removed since there would be only one process. -> > -> > Issue of thread safety of code will come up undoubtedly and some things -will -> > probably have to be revamped. But in long term this is probably best way -if -> > you want to have efficient and uniform Unix AND Win32 implementations. -> > -> > I am not too familiar with Win32. Speaking about POSIX threads, it would -be -> > something like a thread pool with low & high watermarks. Main thread -would -> > handle thread pool and hand over requests to worker threads (blocked on -> > condvar). How does that sound? -> -> Good summary. I think we would support both threaded and fork() -> operation, and users can control which they prefer. For a web backend -> where many sessions are a single query, people may want to give up the -> stability of fork() and go with threads, even on Unix. -> -> -- -> Bruce Momjian | http://candle.pha.pa.us -> pgman@candle.pha.pa.us | (610) 853-3000 -> + If your life is a hard drive, | 830 Blythe Avenue -> + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23423@postgresql.org Wed Jun 5 20:10:50 2002 -Return-path: <pgsql-hackers-owner+M23423@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g560Aos07172 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 20:10:50 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id D99C3475A0B; Wed, 5 Jun 2002 20:10:46 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id A128A476354; Wed, 5 Jun 2002 20:08:02 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id B15E44759BA - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 20:07:52 -0400 (EDT) -Received: from klamath.dyndns.org (CPE002078144ae0.cpe.net.cable.rogers.com [24.102.202.35]) - by postgresql.org (Postfix) with ESMTP id ADAE6475999 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 20:07:45 -0400 (EDT) -Received: from boston (unknown [192.168.40.12]) - by klamath.dyndns.org (Postfix) with SMTP - id 13A207010; Wed, 5 Jun 2002 20:07:48 -0400 (EDT) -Date: Wed, 5 Jun 2002 20:05:44 -0400 -From: Neil Conway <nconway@klamath.dyndns.org> -To: "Jon Franz" <coventry@one.net> -cc: pgsql-hackers@postgresql.org -Subject: Re: [HACKERS] Roadmap for a Win32 port -Message-ID: <20020605200544.4a486fe4.nconway@klamath.dyndns.org> -In-Reply-To: <001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> -References: <200206052005.g55K52615577@candle.pha.pa.us> - <001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> -X-Mailer: Sylpheed version 0.7.6 (GTK+ 1.2.10; i386-debian-linux-gnu) -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -On Wed, 5 Jun 2002 18:50:46 -0400 -"Jon Franz" <coventry@one.net> wrote: -> One note: SGI developers discovered they could get amazing performance using -> as hybrid threaded and forked-process model with apache - we might want to -> look into this. They even have a library for network-communication -> utilizing thier 'state threads' model. - -I think ST is designed for network I/O-bound apps -- last I checked, -disk I/O will still block an entire ST process. While you can get around -that by using another process to do disk I/O, it sounds like ST won't be -that useful. - -However, Chris KL. (I believe) raised the idea of using POSIX AIO for -PostgreSQL. Without having looked into it extensively, this technique -sounds promising. Perhaps someone who has looked into this further -(e.g. someone from Redhat) can comment? - -Cheers, - -Neil - --- -Neil Conway <neilconway@rogers.com> -PGP Key ID: DB3C29FC - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M23424@postgresql.org Wed Jun 5 20:56:59 2002 -Return-path: <pgsql-hackers-owner+M23424@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g560uws10602 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 20:56:58 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 33E48475FC6; Wed, 5 Jun 2002 20:56:55 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C7F5C476365; Wed, 5 Jun 2002 20:52:49 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 7BF93476263 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 20:52:34 -0400 (EDT) -Received: from ingenico.com.au (unknown [202.167.40.101]) - by postgresql.org (Postfix) with ESMTP id 2E2064764A7 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 20:50:40 -0400 (EDT) -Message-ID: <004301c20cf4$1b8d8c10$660d090a@software.ingenico.com.au> -From: "Nicolas Bazin" <nbazin@ingenico.com.au> -To: "Jon Franz" <coventry@one.net>, <pgsql-hackers@postgresql.org> -References: <200206052005.g55K52615577@candle.pha.pa.us> <001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Thu, 6 Jun 2002 10:50:09 +1000 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Yes I proposed to use the GNU Pth library instead. It's an event -demultiplexer just like the sgi library, but has a posix thread interface. -This architecture is actually the more robust and also the more scalable. On -a single processor server, you don't have the multi-thread synchronization -and context switching overhead and you also take full advantage of -multi-processor servers when you create several processes. Plus you have -much less concern about global variables. - -Also for those concerned about the licence of this library here is an -abstract of it: -"The author places this library under the LGPL to make sure that it -can be used both commercially and non-commercially provided that -modifications to the code base are always donated back to the official -code base under the same license conditions. Please keep in mind that -especially using this library in code not staying under the GPL or -the LGPL _is_ allowed and that any taint or license creap into code -that uses the library is not the authors intention. It is just the -case that _including_ this library into the source tree of other -applications is a little bit more inconvinient because of the LGPL. -But it has to be this way for good reasons. And keep in mind that -inconvinient doesn't mean not allowed or even impossible." - -So it can be used in both commercial and non commercial project. - - ------ Original Message ----- -From: "Jon Franz" <coventry@one.net> -To: <pgsql-hackers@postgresql.org> -Sent: Thursday, June 06, 2002 8:50 AM -Subject: Re: [HACKERS] Roadmap for a Win32 port - - -> One note: SGI developers discovered they could get amazing performance -using -> as hybrid threaded and forked-process model with apache - we might want to -> look into this. They even have a library for network-communication -> utilizing thier 'state threads' model. Please see: -> -> http://state-threads.sourceforge.net/docs/st.html -> -> Thus, on platforms where it can be supported, we should keep in mind that -a -> hybrid multiprocess/multithreaded postgresql might be the fastest -> solution... -> -> -> ----- Original Message ----- -> From: "Bruce Momjian" <pgman@candle.pha.pa.us> -> To: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -> Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -> Sent: Wednesday, June 05, 2002 4:05 PM -> Subject: Re: [HACKERS] Roadmap for a Win32 port -> -> -> > Igor Kovalenko wrote: -> > > I might be naive here, but would not proper threading model remove the -> need -> > > for fork() altogether? On both Unix and Win32? Should not be too hard -to -> > > come up with abstraction which encapsulates POSIX, BeOS and Win32 -> threads... -> > > I am not sure how universal POSIX threads are by now. Any important -Unix -> > > platforms which don't support them yet? -> > > -> > > This has downside of letting any bug to kill the whole thing. On the -> bright -> > > side, performance should be better on some platforms (note however, -> Apache -> > > group still can't come up with implementation of threaded model which -> would -> > > provide better performance than forked or other models). The need to -> deal -> > > with possibility of 'alien' postmaster running along with orphaned -> backends -> > > would also be removed since there would be only one process. -> > > -> > > Issue of thread safety of code will come up undoubtedly and some -things -> will -> > > probably have to be revamped. But in long term this is probably best -way -> if -> > > you want to have efficient and uniform Unix AND Win32 implementations. -> > > -> > > I am not too familiar with Win32. Speaking about POSIX threads, it -would -> be -> > > something like a thread pool with low & high watermarks. Main thread -> would -> > > handle thread pool and hand over requests to worker threads (blocked -on -> > > condvar). How does that sound? -> > -> > Good summary. I think we would support both threaded and fork() -> > operation, and users can control which they prefer. For a web backend -> > where many sessions are a single query, people may want to give up the -> > stability of fork() and go with threads, even on Unix. -> > -> > -- -> > Bruce Momjian | http://candle.pha.pa.us -> > pgman@candle.pha.pa.us | (610) 853-3000 -> > + If your life is a hard drive, | 830 Blythe Avenue -> > + Christ can be your backup. | Drexel Hill, Pennsylvania -19026 -> > -> > ---------------------------(end of broadcast)--------------------------- -> > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> -> - - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M23425@postgresql.org Wed Jun 5 21:01:51 2002 -Return-path: <pgsql-hackers-owner+M23425@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5611ps10999 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 21:01:51 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id E700E476412; Wed, 5 Jun 2002 21:01:30 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id CE484476430; Wed, 5 Jun 2002 21:00:21 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 37F39475A7F - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 21:00:10 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id EA1694763B1 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 20:53:19 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g560rF010370; - Wed, 5 Jun 2002 20:53:15 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206060053.g560rF010370@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <20020605200544.4a486fe4.nconway@klamath.dyndns.org> -To: Neil Conway <nconway@klamath.dyndns.org> -Date: Wed, 5 Jun 2002 20:53:15 -0400 (EDT) -cc: Jon Franz <coventry@one.net>, pgsql-hackers@postgresql.org -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Neil Conway wrote: -> On Wed, 5 Jun 2002 18:50:46 -0400 -> "Jon Franz" <coventry@one.net> wrote: -> > One note: SGI developers discovered they could get amazing performance using -> > as hybrid threaded and forked-process model with apache - we might want to -> > look into this. They even have a library for network-communication -> > utilizing thier 'state threads' model. -> -> I think ST is designed for network I/O-bound apps -- last I checked, -> disk I/O will still block an entire ST process. While you can get around -> that by using another process to do disk I/O, it sounds like ST won't be -> that useful. -> -> However, Chris KL. (I believe) raised the idea of using POSIX AIO for -> PostgreSQL. Without having looked into it extensively, this technique -> sounds promising. Perhaps someone who has looked into this further -> (e.g. someone from Redhat) can comment? - -I know Red Hat is interested in AIO. Only a few OS's support it so it -was hard to get exited about it at the time, but with threading, a -AIO-specific module could be attempted. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M23426@postgresql.org Wed Jun 5 21:07:19 2002 -Return-path: <pgsql-hackers-owner+M23426@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5617Js11634 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 21:07:19 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 6F5E14761D1; Wed, 5 Jun 2002 21:07:16 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id B3CC8476464; Wed, 5 Jun 2002 21:03:39 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id F20694762DC - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 21:03:27 -0400 (EDT) -Received: from candeias.terra.com.br (candeias.terra.com.br [200.176.3.18]) - by postgresql.org (Postfix) with ESMTP id 62EE047594F - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 21:01:57 -0400 (EDT) -Received: from smtp4-poa.terra.com.br (smtp4-poa.terra.com.br [200.176.3.35]) - by candeias.terra.com.br (Postfix) with ESMTP - id B442E43DB2; Wed, 5 Jun 2002 22:01:59 -0300 (EST) -Received: from 200.176.55.246 (cm-net-cwb-C8B037F6.brdterra.com.br [200.176.55.246]) - (authenticated user howe) - by smtp4-poa.terra.com.br (Postfix) with ESMTP - id 0F7F3AC5A2; Wed, 5 Jun 2002 22:01:57 -0300 (EST) -Date: Wed, 5 Jun 2002 22:05:11 -0300 -From: Steve Howe <howe@carcass.dhs.org> -X-Mailer: The Bat! (v1.60i) -Reply-To: Steve Howe <howe@carcass.dhs.org> -Organization: ACME -X-Priority: 3 (Normal) -Message-ID: <527177268.20020605220511@carcass.dhs.org> -To: Thomas Lockhart <thomas@fourpalms.org> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - Igor Kovalenko <Igor.Kovalenko@motorola.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <3CFE8A79.84738F2F@fourpalms.org> -References: <200206052005.g55K52615577@candle.pha.pa.us> - <3CFE8A79.84738F2F@fourpalms.org> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Hello Thomas, - -Wednesday, June 5, 2002, 7:02:33 PM, you wrote: - -TL> ... ->> Good summary. I think we would support both threaded and fork() ->> operation, and users can control which they prefer. For a web backend ->> where many sessions are a single query, people may want to give up the ->> stability of fork() and go with threads, even on Unix. - -TL> I would think that we would build on our strengths of having a fork/exec -TL> model for separate clients. A threaded model *could* benefit individual -TL> clients who are doing queries on multiprocessor servers, and I would be -TL> supportive of efforts to enable that. -Just a note - this is also the solution adopted by Interbase/Firebird -and it seems interesting. They already had the same problems -PostgreSQL has been under today. -Those interested in read about Interbase's architeture, please refer -to http://community.borland.com/article/0,1410,23217,00.html. -"Classic" is the fork() model, and the "SuperServer" is the threaded -model. -------------- -Best regards, - Steve Howe mailto:howe@carcass.dhs.org - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23427@postgresql.org Wed Jun 5 21:24:58 2002 -Return-path: <pgsql-hackers-owner+M23427@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g561Ovs13529 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 21:24:57 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 503F8476458; Wed, 5 Jun 2002 21:24:53 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 75959475FC6; Wed, 5 Jun 2002 21:24:26 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 87A5F475C05 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 21:23:59 -0400 (EDT) -Received: from ingenico.com.au (unknown [202.167.40.101]) - by postgresql.org (Postfix) with ESMTP id 0DE4B475BC7 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 21:23:57 -0400 (EDT) -Message-ID: <002001c20cf8$a6b86400$660d090a@software.ingenico.com.au> -From: "Nicolas Bazin" <nbazin@ingenico.com.au> -To: "Nicolas Bazin" <nbazin@ingenico.com.au>, "Jon Franz" <coventry@one.net>, - <pgsql-hackers@postgresql.org> -References: <200206052005.g55K52615577@candle.pha.pa.us> <001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> <004301c20cf4$1b8d8c10$660d090a@software.ingenico.com.au> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Thu, 6 Jun 2002 11:22:40 +1000 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Gnu Pth also supports AIO ------ Original Message ----- -From: "Nicolas Bazin" <nbazin@ingenico.com.au> -To: "Jon Franz" <coventry@one.net>; <pgsql-hackers@postgresql.org> -Sent: Thursday, June 06, 2002 10:50 AM -Subject: Re: [HACKERS] Roadmap for a Win32 port - - -> Yes I proposed to use the GNU Pth library instead. It's an event -> demultiplexer just like the sgi library, but has a posix thread interface. -> This architecture is actually the more robust and also the more scalable. -On -> a single processor server, you don't have the multi-thread synchronization -> and context switching overhead and you also take full advantage of -> multi-processor servers when you create several processes. Plus you have -> much less concern about global variables. -> -> Also for those concerned about the licence of this library here is an -> abstract of it: -> "The author places this library under the LGPL to make sure that it -> can be used both commercially and non-commercially provided that -> modifications to the code base are always donated back to the official -> code base under the same license conditions. Please keep in mind that -> especially using this library in code not staying under the GPL or -> the LGPL _is_ allowed and that any taint or license creap into code -> that uses the library is not the authors intention. It is just the -> case that _including_ this library into the source tree of other -> applications is a little bit more inconvinient because of the LGPL. -> But it has to be this way for good reasons. And keep in mind that -> inconvinient doesn't mean not allowed or even impossible." -> -> So it can be used in both commercial and non commercial project. -> -> -> ----- Original Message ----- -> From: "Jon Franz" <coventry@one.net> -> To: <pgsql-hackers@postgresql.org> -> Sent: Thursday, June 06, 2002 8:50 AM -> Subject: Re: [HACKERS] Roadmap for a Win32 port -> -> -> > One note: SGI developers discovered they could get amazing performance -> using -> > as hybrid threaded and forked-process model with apache - we might want -to -> > look into this. They even have a library for network-communication -> > utilizing thier 'state threads' model. Please see: -> > -> > http://state-threads.sourceforge.net/docs/st.html -> > -> > Thus, on platforms where it can be supported, we should keep in mind -that -> a -> > hybrid multiprocess/multithreaded postgresql might be the fastest -> > solution... -> > -> > -> > ----- Original Message ----- -> > From: "Bruce Momjian" <pgman@candle.pha.pa.us> -> > To: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -> > Cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -> > Sent: Wednesday, June 05, 2002 4:05 PM -> > Subject: Re: [HACKERS] Roadmap for a Win32 port -> > -> > -> > > Igor Kovalenko wrote: -> > > > I might be naive here, but would not proper threading model remove -the -> > need -> > > > for fork() altogether? On both Unix and Win32? Should not be too -hard -> to -> > > > come up with abstraction which encapsulates POSIX, BeOS and Win32 -> > threads... -> > > > I am not sure how universal POSIX threads are by now. Any important -> Unix -> > > > platforms which don't support them yet? -> > > > -> > > > This has downside of letting any bug to kill the whole thing. On the -> > bright -> > > > side, performance should be better on some platforms (note however, -> > Apache -> > > > group still can't come up with implementation of threaded model -which -> > would -> > > > provide better performance than forked or other models). The need to -> > deal -> > > > with possibility of 'alien' postmaster running along with orphaned -> > backends -> > > > would also be removed since there would be only one process. -> > > > -> > > > Issue of thread safety of code will come up undoubtedly and some -> things -> > will -> > > > probably have to be revamped. But in long term this is probably best -> way -> > if -> > > > you want to have efficient and uniform Unix AND Win32 -implementations. -> > > > -> > > > I am not too familiar with Win32. Speaking about POSIX threads, it -> would -> > be -> > > > something like a thread pool with low & high watermarks. Main thread -> > would -> > > > handle thread pool and hand over requests to worker threads (blocked -> on -> > > > condvar). How does that sound? -> > > -> > > Good summary. I think we would support both threaded and fork() -> > > operation, and users can control which they prefer. For a web backend -> > > where many sessions are a single query, people may want to give up the -> > > stability of fork() and go with threads, even on Unix. -> > > -> > > -- -> > > Bruce Momjian | http://candle.pha.pa.us -> > > pgman@candle.pha.pa.us | (610) 853-3000 -> > > + If your life is a hard drive, | 830 Blythe Avenue -> > > + Christ can be your backup. | Drexel Hill, Pennsylvania -> 19026 -> > > -> > > ---------------------------(end of -broadcast)--------------------------- -> > > TIP 1: subscribe and unsubscribe commands go to -majordomo@postgresql.org -> > -> > -> > ---------------------------(end of broadcast)--------------------------- -> > TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> > -> > -> -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 4: Don't 'kill -9' the postmaster -> -> - - - - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M23428@postgresql.org Wed Jun 5 21:36:56 2002 -Return-path: <pgsql-hackers-owner+M23428@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g561aus16058 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 21:36:56 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id D2A20475DCB; Wed, 5 Jun 2002 21:36:52 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 04705476424; Wed, 5 Jun 2002 21:34:17 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 761234761D1 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 21:34:06 -0400 (EDT) -Received: from matinhos.terra.com.br (matinhos.terra.com.br [200.176.3.21]) - by postgresql.org (Postfix) with ESMTP id C366E4760C3 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 21:33:59 -0400 (EDT) -Received: from mucuri.terra.com.br (mucuri.terra.com.br [200.176.3.39]) - by matinhos.terra.com.br (Postfix) with ESMTP - id 2AF4346F9A; Wed, 5 Jun 2002 22:34:03 -0300 (EST) -Received: from 200.176.55.246 (cm-net-cwb-C8B037F6.brdterra.com.br [200.176.55.246]) - (authenticated user howe) - by mucuri.terra.com.br (Postfix) with ESMTP - id BDDA2BE8C8; Wed, 5 Jun 2002 22:34:02 -0300 (EST) -Date: Wed, 5 Jun 2002 22:37:17 -0300 -From: Steve Howe <howe@carcass.dhs.org> -X-Mailer: The Bat! (v1.60i) -Reply-To: Steve Howe <howe@carcass.dhs.org> -Organization: ACME -X-Priority: 3 (Normal) -Message-ID: <17029102737.20020605223717@carcass.dhs.org> -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206050433.g554XiN05245@candle.pha.pa.us> -References: <200206050433.g554XiN05245@candle.pha.pa.us> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Hello Bruce, - -Wednesday, June 5, 2002, 1:33:44 AM, you wrote: - -BM> INSTALLER -BM> --------- - -BM> We clearly need an installer that is zero-hassle for users. We need to -BM> decide on a direction for this. -I suggest Nullsoft install system -(http://www.nullsoft.com/free/nsis/). It's real good and very simple -to use. I can help on this if you want. - -BM> ENVIRONMENT - -BM> Lots of our code requires a unix shell and utilities. Will we continue -BM> using cygwin for this? -There are other ports ( http://unxutils.sourceforge.net/ ) that won't -require Cygwin but they won't provide an environment so complete as -Cygwin does. - -I also would like to empathize that probably a small GUI for -controlling the PostgreSQL service/application would be nice. I think -about something sitting in the system tray like MSSQL, Oracle, -Interbase, etc. does. -I could code this in Delphi if you like. I don't have experience in -writing GUI apps in C. There is an open source versions of Delphi so -it won't be a problem compiling it. -Also coming with this, a code for starting the PostgreSQL as a service -would be really nice. For those from UNIX world that don't know what a -service is, think about it as a daemon for Windows. A service can be -automatically started when the machine boots up. - -------------- -Best regards, - Steve Howe mailto:howe@carcass.dhs.org - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M23429@postgresql.org Wed Jun 5 22:54:37 2002 -Return-path: <pgsql-hackers-owner+M23429@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g562sas28774 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 22:54:36 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 5F28C475956; Wed, 5 Jun 2002 22:54:32 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id B91B8476423; Wed, 5 Jun 2002 22:54:05 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 1A253475999 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 22:53:53 -0400 (EDT) -Received: from ftpbox.mot.com (ftpbox.mot.com [129.188.136.101]) - by postgresql.org (Postfix) with ESMTP id ED3F8475956 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 22:53:47 -0400 (EDT) -Received: [from pobox4.mot.com (pobox4.mot.com [10.64.251.243]) by ftpbox.mot.com (ftpbox 2.1) with ESMTP id TAA19790; Wed, 5 Jun 2002 19:53:41 -0700 (MST)] -Received: [from pronto1.comm.mot.com (pronto1.comm.mot.com [173.6.1.22]) by pobox4.mot.com (MOT-pobox4 2.0) with ESMTP id TAA00693; Wed, 5 Jun 2002 19:53:40 -0700 (MST)] -Received: from kovalenkoigor (idennt19534 [145.1.195.34]) - by pronto1.comm.mot.com (8.9.3/8.9.3) with SMTP id VAA03882; - Wed, 5 Jun 2002 21:53:39 -0500 (CDT) -Message-ID: <129501c20d05$7a671a10$22c30191@comm.mot.com> -From: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -To: "Neil Conway" <nconway@klamath.dyndns.org>, "Jon Franz" <coventry@one.net> -cc: <pgsql-hackers@postgresql.org> -References: <200206052005.g55K52615577@candle.pha.pa.us><001201c20ce3$6e21bed0$a1ed03c7@dev.ngcn> <20020605200544.4a486fe4.nconway@klamath.dyndns.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Wed, 5 Jun 2002 21:54:29 -0500 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.2919.6600 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -I think SGI gets amazing performance because they have very good (efficient) -synchronisation primitives on SGI. Some proprietary light-weight mutexes. -Using threaded or mixed model just by itself is not going to do a miracle. -Threads will save you some context switch time, but that will probably -translate into lower CPU usage rather than performance boost. And if your -mutexes are not fast or awkwardly implemented (say Linux), it might be even -worse. Apache is not all that fast on Linux as on SGI, whatever model you -chose. I also doubt that purely threaded model would be slower than mixed -one. - -Now about the AIO model. It is useful when you need to do something else -while I/O requests are being processed as long as platform does it in some -useful way. If all you can do is to submit requests and keep sitting in -select/poll then AIO does not buy you anything you can't get by just using -threaded model. However, if you can tag the requests and set up -notifications, then few I/O threads could handle relatively large number of -requests from different clients. Note, this means you don't have any -association between clients and servers at all, there is pool of generic I/O -threads which serve requests from whoever they come. It saves system -resources and scales very well. It also provides interesting possibilities -for fault recovery - since handlers are generic all the state information -would have to be kept in some kind of global context area. That area can be -saved into persistent memory or dumped onto disk and *recovered* after a -forced restart. Server and library could be designed in such a way that -clients may continue where they left with a recoverable error. - -In POSIX AIO model you can tag requests and set up notifications via -synchronous signals. You wait for them *synchronously* in 'waiter' thread -via sigwaitinfo() and avoid the headache of asynchronous signals hitting you -any time... Unfortunately on some platforms (Solaris) the depth of -synchronous signal queue is fixed at magic value 32 (and not adjustable). -This may not be a problem if you're sure that waiting thread will be able to -drain the queue faster than it gets filled with notifications... but I'm not -sure there is a portable way to guarantee that, so you need to check for -overloads and handle them... that complicates things. On Solaris you also -need a mile of compiler/linker switches to even get this scheme to work and -I am afraid other platforms may not support it at all (but then again, they -may not support AIO to begin with). - -And speaking about getting best of all worlds. Note how Apache spent nearly -3 years developing their portable Multi-Processing Modules scheme. What they -got for that is handful of models neither of which perform noticeably better -than original pre-fork() model. Trying to swallow all possible ways to -handle things on all possible platforms usually does not produce very fast -code. It tends to produce very complex code with mediocre performance and -introduces extra complexity into configuration process. If you consider all -that was done mostly to support Win32, one might doubt if it was worth the -while. - -What I am trying to say is, extra complexity in model to squeeze few percent -of performance is not a wise investment of time and efforts. On Win32 you -don't really compete in terms of performance. You compete in terms of -easyness and features. Spend 3 years trying to support Windows and Unix in -most optimal way including all subvariants of Unix ... meanwhile MSFT will -come up with some bundled SQL server. It probably will have more features -since they will spend time doing features rather than inventing a model to -support gazillion of platforms. Chances are, it will be faster too - due to -better integration with OS and better compiler. - -I am not in position to tell you what to do guys. But if I was asked, I'd -say supporting Win32 is only worth it if it comes as a natural result of a -simple, coherent and uniform model applied to Unix. Threaded model may not -have as much inherent stability as forked/mixed, but it has inherent -simplicity and better Unix/Windows/BeOS portability. It can be done faster -and simpler code will make work on features easier. - -Regards, -- Igor - -"There are 2 ways to design an efficient system - first is to design it so -complex that there are no obvious deficiencies, second is to design it so -simple that there are obviously no deficiencies. Second way is much harder" -(author unknown to me) - - ------ Original Message ----- -From: "Neil Conway" <nconway@klamath.dyndns.org> -To: "Jon Franz" <coventry@one.net> -Cc: <pgsql-hackers@postgresql.org> -Sent: Wednesday, June 05, 2002 7:05 PM -Subject: Re: [HACKERS] Roadmap for a Win32 port - - -> On Wed, 5 Jun 2002 18:50:46 -0400 -> "Jon Franz" <coventry@one.net> wrote: -> > One note: SGI developers discovered they could get amazing performance -using -> > as hybrid threaded and forked-process model with apache - we might want -to -> > look into this. They even have a library for network-communication -> > utilizing thier 'state threads' model. -> -> I think ST is designed for network I/O-bound apps -- last I checked, -> disk I/O will still block an entire ST process. While you can get around -> that by using another process to do disk I/O, it sounds like ST won't be -> that useful. -> -> However, Chris KL. (I believe) raised the idea of using POSIX AIO for -> PostgreSQL. Without having looked into it extensively, this technique -> sounds promising. Perhaps someone who has looked into this further -> (e.g. someone from Redhat) can comment? -> -> Cheers, -> -> Neil -> -> -- -> Neil Conway <neilconway@rogers.com> -> PGP Key ID: DB3C29FC -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 4: Don't 'kill -9' the postmaster -> - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M23430@postgresql.org Wed Jun 5 22:58:30 2002 -Return-path: <pgsql-hackers-owner+M23430@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g562wUs29151 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 22:58:30 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 04083476398; Wed, 5 Jun 2002 22:58:23 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D1058476456; Wed, 5 Jun 2002 22:57:50 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5C9D447627F - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 22:57:40 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id 2E0344760D1 - for <pgsql-hackers@postgreSQL.org>; Wed, 5 Jun 2002 22:56:59 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g562v0q28990 - for pgsql-hackers@postgreSQL.org; Wed, 5 Jun 2002 22:57:00 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206060257.g562v0q28990@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206050433.g554XiN05245@candle.pha.pa.us> -To: PostgreSQL-development <pgsql-hackers@postgresql.org> -Date: Wed, 5 Jun 2002 22:57:00 -0400 (EDT) -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - - -Here is a summary of the responses to my Win32 roadmap. I hope this -will allow further discussion. - ---------------------------------------------------------------------------- - -INSTALLER ---------- -Cygwin Setup.exe http://cygwin.com -Nullsoft http://www.nullsoft.com/free/nsis/ - -GUI ---- -pgAdmin2 http://pgadmin.postgresql.org/pgadmin2.php?ContentID=1 -pgaccess http://pgaccess.org/ -Java admin (to be written) -Dev-C++ admin (to be written) http://sourceforge.net/projects/dev-cpp/ - -BINARY ------- - - -FORK() - -cygwin fork() http://cygwin.com -CreateProcess() and copy global area - -THREADING - -Posix threads -Gnu pth http://www.gnu.org/software/pth/ -ST http://state-threads.sourceforge.net/docs/st.html -(single-session multi-threading possible) -(Posix AIO is possible) - -IPC - -Cygwin http://cygwin.com -MinGW http://www.mingw.org/ -ACE http://www.cs.wustl.edu/~schmidt/ACE.html -APR http://apr.apache.org/ -Our own - -ENVIRONMENT - -Cygwin http://cygwin.com -UnxUtils http://unxutils.sourceforge.net/ -Write own initdb - - -IMPLEMENTATIONS ---------------- -PostgreSQLe http://hp.vector.co.jp/authors/VA023283/PostgreSQLe.html -Dbexperts http://www.dbexperts.net/postgresql -Connx http://www.connx.com/ -gborg http://gborg.postgresql.org/project/winpackage/projdisplay.php -Interbase http://community.borland.com/article/0,1410,23217,00.html - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23432@postgresql.org Thu Jun 6 01:01:09 2002 -Return-path: <pgsql-hackers-owner+M23432@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g56518s09229 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 01:01:08 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 4E125476364; Thu, 6 Jun 2002 01:01:10 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C658E47644F; Thu, 6 Jun 2002 01:00:02 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id BB1CF475ADA - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 00:59:53 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id 85238475AFB - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 00:59:51 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g564xaS09100; - Thu, 6 Jun 2002 00:59:36 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206060459.g564xaS09100@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <129501c20d05$7a671a10$22c30191@comm.mot.com> -To: Igor Kovalenko <Igor.Kovalenko@motorola.com> -Date: Thu, 6 Jun 2002 00:59:36 -0400 (EDT) -cc: Neil Conway <nconway@klamath.dyndns.org>, Jon Franz <coventry@one.net>, - pgsql-hackers@postgresql.org -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Igor Kovalenko wrote: -> I think SGI gets amazing performance because they have very good (efficient) -> synchronization primitives on SGI. Some proprietary light-weight mutexes. -> Using threaded or mixed model just by itself is not going to do a miracle. -> Threads will save you some context switch time, but that will probably -> translate into lower CPU usage rather than performance boost. And if your -> mutexes are not fast or awkwardly implemented (say Linux), it might be even -> worse. Apache is not all that fast on Linux as on SGI, whatever model you -> chose. I also doubt that purely threaded model would be slower than mixed -> one. - -Let me throw out an idea. I have been mentioning full fork, light -fork(copy globals only), and threading as possible solutions. - -Another idea uses neither threading nor copying. It is the old system -we used before I removed exec() from our code. We used to pass the -database name as an argument to an exec'ed postgres binary that -continued with the database connection. - -We removed the exec, then started moving what we could into the -postmaster so each backend didn't need to do the initialization. - -One solution is to return to that for Win32 only, so instead of doing: - - initialization() - want for connection() - fork backend() - -we do for Win32: - - want for connection() - exec backend() - initialization() - -It wouldn't be hard to do. We would still do CreateProcess rather than -CreateThread, but it eliminates the fork/threading issues. We don't -know the database before the connection arrives, so we don't do a whole -lot of initialization. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From janwieck@yahoo.com Thu Jun 6 09:40:20 2002 -Return-path: <janwieck@yahoo.com> -Received: from smtp018.mail.yahoo.com (smtp018.mail.yahoo.com [216.136.174.115]) - by candle.pha.pa.us (8.11.6/8.10.1) with SMTP id g56DeJs00804 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 09:40:19 -0400 (EDT) -Received: from unknown (HELO saturn.janwieck.net) (janwieck@192.233.92.205 with login) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 6 Jun 2002 13:40:18 -0000 -Received: (from wieck@localhost) - by saturn.janwieck.net (8.11.2/8.11.2) id g56DZFt26403; - Thu, 6 Jun 2002 09:35:15 -0400 -From: Jan Wieck <janwieck@yahoo.com> -Message-ID: <200206061335.g56DZFt26403@saturn.janwieck.net> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206060459.g564xaS09100@candle.pha.pa.us> from Bruce Momjian - at "Jun 6, 2002 00:59:36 am" -To: Bruce Momjian <pgman@candle.pha.pa.us> -Date: Thu, 6 Jun 2002 09:35:14 -0400 (EDT) -cc: Igor Kovalenko <Igor.Kovalenko@motorola.com>, - Neil Conway <nconway@klamath.dyndns.org>, Jon Franz <coventry@one.net>, - pgsql-hackers@postgresql.org -X-Mailer: ELM [version 2.4ME+ PL68 (25)] -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Status: RO - -Bruce Momjian wrote: -> -> Let me throw out an idea. I have been mentioning full fork, light -> fork(copy globals only), and threading as possible solutions. -> -> Another idea uses neither threading nor copying. It is the old system -> we used before I removed exec() from our code. We used to pass the -> database name as an argument to an exec'ed postgres binary that -> continued with the database connection. -> -> We removed the exec, then started moving what we could into the -> postmaster so each backend didn't need to do the initialization. -> -> One solution is to return to that for Win32 only, so instead of doing: -> -> initialization() -> want for connection() -> fork backend() -> -> we do for Win32: -> -> want for connection() -> exec backend() -> initialization() - - Summarizes pretty much what we discussed Monday on the phone. - Except that the postmaster still has to initialize the shared - memory and other stuff. It's just that the backends and - helper processes need to reinitialize themself (attach). - -> It wouldn't be hard to do. We would still do CreateProcess rather than -> CreateThread, but it eliminates the fork/threading issues. We don't -> know the database before the connection arrives, so we don't do a whole -> lot of initialization. - - All I see so far is the reading of the postgresql.conf, the - pg_hba.conf and the password files. Nothing fancy and the - postmaster could easily write out a binary content only file - that the backends then read, eliminating the parsing - overhead. - - The bad news is that Tom is right. We did a terrible job in - using the new side effect, that the shared memory segment is - at the same address in all forked processes, after removing - the need to reattach. - - In detail the XLog code, the FreeSpaceMap code and the - "shared memory" hashtable code now use pointers, located in - shared memory. For the XLog and FreeSpace code this is - understandable, because they where developed under the fork() - only model. But the dynahash code used offsets only until - v7.1! - - All three (no claim that that's all) make it impossible to - ever have someone attaching to the shared memory from the - outside. So with these moves we made the shared memory a - "Postmaster and children" only thing. Raises the question, - why we need an IPC key at all any more. - - Anyhow, looks as if I can get that fork() vs. fork()+exec() - feature done pretty soon. It'll be controlled by another - Postmaster commandline switch. After cleaning up the mess I - did to get it working quick, I'll provide a patch for - discussion. - - -Jan - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - - - -From pgsql-hackers-owner+M23442@postgresql.org Thu Jun 6 11:14:35 2002 -Return-path: <pgsql-hackers-owner+M23442@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g56FEZs11270 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 11:14:35 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 9055E4765D8; Thu, 6 Jun 2002 11:14:24 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id F0E4C476584; Thu, 6 Jun 2002 11:11:44 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5646247635D - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 11:11:33 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id DF1964765F7 - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 11:06:24 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g56F6IW10267; - Thu, 6 Jun 2002 11:06:18 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206061506.g56F6IW10267@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206061335.g56DZFt26403@saturn.janwieck.net> -To: Jan Wieck <janwieck@yahoo.com> -Date: Thu, 6 Jun 2002 11:06:18 -0400 (EDT) -cc: Igor Kovalenko <Igor.Kovalenko@motorola.com>, - Neil Conway <nconway@klamath.dyndns.org>, Jon Franz <coventry@one.net>, - pgsql-hackers@postgresql.org -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Jan Wieck wrote: -> > One solution is to return to that for Win32 only, so instead of doing: -> > -> > initialization() -> > want for connection() -> > fork backend() -> > -> > we do for Win32: -> > -> > want for connection() -> > exec backend() -> > initialization() -> -> Summarizes pretty much what we discussed Monday on the phone. -> Except that the postmaster still has to initialize the shared -> memory and other stuff. It's just that the backends and -> helper processes need to reinitialize themself (attach). - -Yes, obviously I simplified, and I do believe our optimizations are -helping on Unix. It is just that I think for Win32 the fork is more -harmful than removing those optimizations. - -One thing that may not have been clear is that we don't need to play -with globals at all. We just pass whatever info we want to the child -via command-line arguments, rather than shared memory. - -> > It wouldn't be hard to do. We would still do CreateProcess rather than -> > CreateThread, but it eliminates the fork/threading issues. We don't -> > know the database before the connection arrives, so we don't do a whole -> > lot of initialization. -> -> All I see so far is the reading of the postgresql.conf, the -> pg_hba.conf and the password files. Nothing fancy and the -> postmaster could easily write out a binary content only file -> that the backends then read, eliminating the parsing -> overhead. - -Yes, that is clearly possible. Another option is to just write out a -no-comments, no-whitespace version of each file and just have the -backends read those. The advantage is that we can use the same code to -read them, and I don't think it would be any slower than a binary file. - -> The bad news is that Tom is right. We did a terrible job in -> using the new side effect, that the shared memory segment is -> at the same address in all forked processes, after removing -> the need to reattach. -> -> In detail the XLog code, the FreeSpaceMap code and the -> "shared memory" hashtable code now use pointers, located in -> shared memory. For the XLog and FreeSpace code this is -> understandable, because they where developed under the fork() -> only model. But the dynahash code used offsets only until -> v7.1! -> -> All three (no claim that that's all) make it impossible to -> ever have someone attaching to the shared memory from the -> outside. So with these moves we made the shared memory a -> "Postmaster and children" only thing. Raises the question, -> why we need an IPC key at all any more. - -Well, we could force shmat() to bind to the same address, but I suspect -that might fail in some cases. - -> Anyhow, looks as if I can get that fork() vs. fork()+exec() -> feature done pretty soon. It'll be controlled by another -> Postmaster commandline switch. After cleaning up the mess I -> did to get it working quick, I'll provide a patch for -> discussion. - -Yes, very little impact. We then need someone to do some Win32 timings -to see if things have improved. As Tom mentioned, we need some hard -numbers for these things. In fact, I would like a Win32 test that takes -our code and compares fork(), then exit(), with CreateProcess(), exit(). -It doesn't have create a db session, but I would like to see some -timings to know what we are gaining. Heck, time CreateThread too and -let's see what that shows. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M23447@postgresql.org Thu Jun 6 13:18:53 2002 -Return-path: <pgsql-hackers-owner+M23447@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g56HIqs22989 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 13:18:52 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 099C0476682; Thu, 6 Jun 2002 13:18:51 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 43A26476705; Thu, 6 Jun 2002 13:15:06 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 1D3D447667B - for <pgsql-hackers@postgreSQL.org>; Thu, 6 Jun 2002 13:14:55 -0400 (EDT) -Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) - by postgresql.org (Postfix) with SMTP id 52DB64765A1 - for <pgsql-hackers@postgreSQL.org>; Thu, 6 Jun 2002 13:10:32 -0400 (EDT) -Received: (qmail 15366 invoked by uid 0); 6 Jun 2002 17:10:31 -0000 -Received: from pd902f0fa.dip0.t-ipconnect.de (217.2.240.250) - by mail.gmx.net (mp007-rz3) with SMTP; 6 Jun 2002 17:10:31 -0000 -Date: Thu, 6 Jun 2002 19:11:12 +0200 (CEST) -From: Peter Eisentraut <peter_e@gmx.net> -X-X-Sender: peter@localhost.localdomain -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206050433.g554XiN05245@candle.pha.pa.us> -Message-ID: <Pine.LNX.4.44.0206061855500.838-100000@localhost.localdomain> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -Bruce Momjian writes: - -> Lots of our code requires a unix shell and utilities. Will we continue -> using cygwin for this? - -We should probably get rid of using shell scripts for application programs -altogether, for a number of reasons besides this one, such as the -inability to properly handle input values with spaces, commas, etc. (we -probably don't handle very long values either on some platforms), the -inability to maintain open database connections so that createlang needs -to prompt for the same password thrice, general portable scripting -headaches, and the lack of internationalization facilities. - -I'd even volunteer to do this. Comments? - --- -Peter Eisentraut peter_e@gmx.net - - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M23453@postgresql.org Thu Jun 6 15:28:52 2002 -Return-path: <pgsql-hackers-owner+M23453@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g56JSqs06231 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 15:28:52 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 3F4C2476828; Thu, 6 Jun 2002 15:28:50 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 96B12476900; Thu, 6 Jun 2002 14:52:04 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 4313B476855 - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 14:51:53 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id 88ED6476852 - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 13:57:10 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g56Hv5D27106; - Thu, 6 Jun 2002 13:57:05 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206061757.g56Hv5D27106@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <Pine.LNX.4.44.0206061855500.838-100000@localhost.localdomain> -To: Peter Eisentraut <peter_e@gmx.net> -Date: Thu, 6 Jun 2002 13:57:05 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Peter Eisentraut wrote: -> Bruce Momjian writes: -> -> > Lots of our code requires a unix shell and utilities. Will we continue -> > using cygwin for this? -> -> We should probably get rid of using shell scripts for application programs -> altogether, for a number of reasons besides this one, such as the -> inability to properly handle input values with spaces, commas, etc. (we -> probably don't handle very long values either on some platforms), the -> inability to maintain open database connections so that createlang needs -> to prompt for the same password thrice, general portable scripting -> headaches, and the lack of internationalization facilities. -> -> I'd even volunteer to do this. Comments? - -I know I have discouraged it because I think shell script language has a -good toolset for those applications. I have fixed all the spacing -issues. - -What language where you thinking of using? C? - -Also, it seems Win32 doesn't need these scripts, except initdb. -PostgreSQLe didn't use the, it just did initdb, and the rest were done -using a GUI. However, initdb would remain a problem. PostgreSQLe wrote -its own. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M23466@postgresql.org Fri Jun 7 03:43:24 2002 -Return-path: <pgsql-hackers-owner+M23466@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g577hNs29367 - for <pgman@candle.pha.pa.us>; Fri, 7 Jun 2002 03:43:23 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 0CDD6475AF5; Fri, 7 Jun 2002 03:43:20 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E5D12476626; Fri, 7 Jun 2002 03:42:51 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id EB46E4758D8 - for <pgsql-hackers@postgresql.org>; Fri, 7 Jun 2002 03:42:33 -0400 (EDT) -Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) - by postgresql.org (Postfix) with ESMTP id 276C247517F - for <pgsql-hackers@postgresql.org>; Fri, 7 Jun 2002 03:42:33 -0400 (EDT) -Received: from mailgate.vale-housing.co.uk ([193.195.77.162] helo=dogbert.vale-housing.co.uk) - by anchor-post-30.mail.demon.net with esmtp (Exim 3.35 #1) - id 17GEOH-000ApS-0U; Fri, 07 Jun 2002 08:42:33 +0100 -content-class: urn:content-classes:message -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Subject: Re: [HACKERS] Roadmap for a Win32 port -X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 -Date: Fri, 7 Jun 2002 08:42:33 +0100 -Message-ID: <D85C66DA59BA044EB96AB9683819CF610150CB@dogbert.vale-housing.co.uk> -Thread-Topic: Roadmap for a Win32 port -Thread-Index: AcINqHe1e6l54BF0TYqaBR+Lc+A3PwATWOng -From: "Dave Page" <dpage@vale-housing.co.uk> -To: "Steve Howe" <howe@carcass.dhs.org>, - "Bruce Momjian" <pgman@candle.pha.pa.us> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g577hNs29367 -Status: RO - - - -> -----Original Message----- -> From: Steve Howe [mailto:howe@carcass.dhs.org] -> Sent: 06 June 2002 02:37 -> To: Bruce Momjian -> Cc: PostgreSQL-development -> Subject: Re: Roadmap for a Win32 port -> -> -> Hello Bruce, -> -> Wednesday, June 5, 2002, 1:33:44 AM, you wrote: -> -> BM> INSTALLER -> BM> --------- -> -> BM> We clearly need an installer that is zero-hassle for -> users. We need -> BM> to decide on a direction for this. -> I suggest Nullsoft install system -> (http://www.nullsoft.com/free/nsis/). It's > real good and very -> simple to use. I can help on this if you want. - -I think that a Windows Installer compatible package would be better as -it would allow us to build the package as a merge module which others -could use in their installers for their PostgreSQL based apps, allowing -one installation to install everything they require easily and (more -importantly) correctly. An example of this can be found in the psqlODBC -installer. - -I can handle this if required. - -> BM> ENVIRONMENT -> -> I also would like to empathize that probably a small GUI for -> controlling the PostgreSQL service/application would be nice. - -I'm happy to add such code to pgAdmin - seems like the natural thing to -do (to me at least!). - -Regards, Dave. - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23560@postgresql.org Mon Jun 10 10:09:49 2002 -Return-path: <pgsql-hackers-owner+M23560@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5AE9ms04329 - for <pgman@candle.pha.pa.us>; Mon, 10 Jun 2002 10:09:48 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 6D20B4762F3; Mon, 10 Jun 2002 09:46:34 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id A1731476422; Mon, 10 Jun 2002 09:30:48 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 134104763B9 - for <pgsql-hackers@postgreSQL.org>; Fri, 7 Jun 2002 18:08:40 -0400 (EDT) -Mailbox-Line: From ss@technicalpursuit.com Fri Jun 7 18:08:40 2002 -Received: from sccrmhc01.attbi.com (sccrmhc01.attbi.com [204.127.202.61]) - by postgresql.org (Postfix) with ESMTP id 54385476379 - for <pgsql-hackers@postgreSQL.org>; Fri, 7 Jun 2002 18:08:38 -0400 (EDT) -Received: from idearatxp ([12.253.59.186]) by sccrmhc01.attbi.com - (InterMail vM.4.01.03.27 201-229-121-127-20010626) with SMTP - id <20020607220840.TUBC1024.sccrmhc01.attbi.com@idearatxp> - for <pgsql-hackers@postgreSQL.org>; - Fri, 7 Jun 2002 22:08:40 +0000 -Message-ID: <032201c20e6f$815a1b40$80c310ac@idearatxp> -From: "Scott Shattuck" <ss@technicalpursuit.com> -To: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -References: <Pine.LNX.4.44.0206062106400.1028-100000@localhost.localdomain> -Subject: Re: [HACKERS] Roadmap for a Win32 port -Date: Fri, 7 Jun 2002 16:05:58 -0600 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 6.00.2600.0000 -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 -X-Spam-Status: Yes, hits=5.0 required=5.0 tests=RCVD_IN_OSIRUSOFT_COM,X_OSIRU_SPAM_SRC version=2.20 -X-Spam-Flag: YES -X-Spam-Level: ***** -X-Spam-Checker-Version: SpamAssassin 2.20 (devel $PostgreSQL: pgsql/doc/TODO.detail/win32,v 1.7 2003/11/29 22:39:38 pgsql Exp $) -X-Spam-Report: Detailed Report -SPAM: -------------------- Start SpamAssassin results ---------------------- - SPAM: This mail is probably spam. The original message has been altered - SPAM: so you can recognise or block similar unwanted mail in future. - SPAM: See http://spamassassin.org/tag/ for more details. - SPAM: - SPAM: Content analysis details: (5 hits, 5 required) - SPAM: Hit! (2.0 points) Received via a relay in relays.osirusoft.com - SPAM: [RBL check: found 61.202.127.204.relays.osirusoft.com., type: 127.0.0.4] - SPAM: Hit! (3.0 points) DNSBL: sender is Confirmed Spam Source - SPAM: - SPAM: -------------------- End of SpamAssassin results --------------------- -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -How about a SOAP interface and a web-based front end that provides the cross -platform support? My company's TIBET framework would provide a solid -foundation for this kind of admin suite. In fact, we're already in the -planning stages on doing just that. - -ss - -Scott Shattuck -Technical Pursuit Inc. - - ------ Original Message ----- -From: "Peter Eisentraut" <peter_e@gmx.net> -To: "Bruce Momjian" <pgman@candle.pha.pa.us> -Cc: "PostgreSQL-development" <pgsql-hackers@postgreSQL.org> -Sent: Friday, June 07, 2002 11:42 AM -Subject: Re: [HACKERS] Roadmap for a Win32 port - - -> Bruce Momjian writes: -> -> > GUI -> > --- -> > pgAdmin2 -http://pgadmin.postgresql.org/pgadmin2.php?ContentID=1 -> > pgaccess http://pgaccess.org/ -> > Java admin (to be written) -> > Dev-C++ admin (to be written) -http://sourceforge.net/projects/dev-cpp/ -> -> Surely Unix folks would like a GUI as well? -> -> -- -> Peter Eisentraut peter_e@gmx.net -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23489@postgresql.org Fri Jun 7 18:31:35 2002 -Return-path: <pgsql-hackers-owner+M23489@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g57MVYs01005 - for <pgman@candle.pha.pa.us>; Fri, 7 Jun 2002 18:31:34 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id CFFC547671F; Fri, 7 Jun 2002 18:31:28 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 682B44767FC; Fri, 7 Jun 2002 18:27:47 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 63436476915 - for <pgsql-hackers@postgresql.org>; Fri, 7 Jun 2002 18:27:34 -0400 (EDT) -Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) - by postgresql.org (Postfix) with SMTP id 1A6AB47666E - for <pgsql-hackers@postgresql.org>; Fri, 7 Jun 2002 18:27:09 -0400 (EDT) -Received: (qmail 15805 invoked by uid 0); 7 Jun 2002 22:27:10 -0000 -Received: from pd902f0ad.dip0.t-ipconnect.de (217.2.240.173) - by mail.gmx.net (mp002-rz3) with SMTP; 7 Jun 2002 22:27:10 -0000 -Date: Sat, 8 Jun 2002 00:27:59 +0200 (CEST) -From: Peter Eisentraut <peter_e@gmx.net> -X-X-Sender: peter@localhost.localdomain -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <200206061757.g56Hv5D27106@candle.pha.pa.us> -Message-ID: <Pine.LNX.4.44.0206072008310.935-100000@localhost.localdomain> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -Bruce Momjian writes: - -> I know I have discouraged it because I think shell script language has a -> good toolset for those applications. I have fixed all the spacing -> issues. - -My point is that it is not, for the reasons that I listed. Handling -spaces is a small part of one of the several problems, there are problems -with newlines, tabs, commas, slashes, quotes -- everytime you call sed or -read you lose one character. - -> What language where you thinking of using? C? - -Yes, that way we can share code (pg_dumpall<->pg_dump, initdb<->postgres), -use the established internationalization facilities, and use libpq -directly in create* and drop*. - -> Also, it seems Win32 doesn't need these scripts, except initdb. - -The utility of these programs is independent of the platform. If we think -pg_dumpall is not useful, then let's remove it. - --- -Peter Eisentraut peter_e@gmx.net - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From tgl@sss.pgh.pa.us Sat Jun 8 11:48:49 2002 -Return-path: <tgl@sss.pgh.pa.us> -Received: from sss.pgh.pa.us (root@[192.204.191.242]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g58Fmns11593 - for <pgman@candle.pha.pa.us>; Sat, 8 Jun 2002 11:48:49 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.11.4/8.11.4) with ESMTP id g58FmKb13969; - Sat, 8 Jun 2002 11:48:21 -0400 (EDT) -To: Peter Eisentraut <peter_e@gmx.net> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <Pine.LNX.4.44.0206072008310.935-100000@localhost.localdomain> -References: <Pine.LNX.4.44.0206072008310.935-100000@localhost.localdomain> -Comments: In-reply-to Peter Eisentraut <peter_e@gmx.net> - message dated "Sat, 08 Jun 2002 00:27:59 +0200" -Date: Sat, 08 Jun 2002 11:48:20 -0400 -Message-ID: <13966.1023551300@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -Status: ROr - -Peter Eisentraut <peter_e@gmx.net> writes: ->> Also, it seems Win32 doesn't need these scripts, except initdb. - -> The utility of these programs is independent of the platform. If we think -> pg_dumpall is not useful, then let's remove it. - -I have been seriously considering converting pg_dumpall to C anyway, -because it's already *very* messy, and I don't see any reasonable -way to make it support dumping per-database and per-user config -settings. (Do you really want to try to parse array values in a -shell script?) - -(I'd actually consider making pg_dumpall a part of the pg_dump -executable; then it could invoke pg_dump as a subroutine call...) - -If Peter's got the time/energy to convert 'em all, I'm for it. - - regards, tom lane - -From pgsql-hackers-owner+M23524@postgresql.org Sat Jun 8 17:48:57 2002 -Return-path: <pgsql-hackers-owner+M23524@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g58Lmus13022 - for <pgman@candle.pha.pa.us>; Sat, 8 Jun 2002 17:48:56 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 1C2704758FB; Sat, 8 Jun 2002 17:48:54 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 27ACF475DD1; Sat, 8 Jun 2002 17:48:29 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id E92D64759A6 - for <pgsql-hackers@postgresql.org>; Sat, 8 Jun 2002 17:48:17 -0400 (EDT) -Received: from candle.pha.pa.us (216-55-132-35.dsl.san-diego.abac.net [216.55.132.35]) - by postgresql.org (Postfix) with ESMTP id 0CDA4475951 - for <pgsql-hackers@postgresql.org>; Sat, 8 Jun 2002 17:48:16 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g58LmCa13018; - Sat, 8 Jun 2002 17:48:12 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200206082148.g58LmCa13018@candle.pha.pa.us> -Subject: Re: [HACKERS] Roadmap for a Win32 port -In-Reply-To: <Pine.LNX.4.44.0206072008310.935-100000@localhost.localdomain> -To: Peter Eisentraut <peter_e@gmx.net> -Date: Sat, 8 Jun 2002 17:48:12 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL97 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: ROr - -Peter Eisentraut wrote: -> Bruce Momjian writes: -> -> > I know I have discouraged it because I think shell script language has a -> > good toolset for those applications. I have fixed all the spacing -> > issues. -> -> My point is that it is not, for the reasons that I listed. Handling -> spaces is a small part of one of the several problems, there are problems -> with newlines, tabs, commas, slashes, quotes -- everytime you call sed or -> read you lose one character. -> -> > What language where you thinking of using? C? -> -> Yes, that way we can share code (pg_dumpall<->pg_dump, initdb<->postgres), -> use the established internationalization facilities, and use libpq -> directly in create* and drop*. -> -> > Also, it seems Win32 doesn't need these scripts, except initdb. -> -> The utility of these programs is independent of the platform. If we think -> pg_dumpall is not useful, then let's remove it. - -I think the first two targets for C-ification would be pg_dumpall and -initdb. The others have SQL equivalents. Maybe pg_ctl too. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 853-3000 - + If your life is a hard drive, | 830 Blythe Avenue - + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M23541@postgresql.org Sun Jun 9 07:10:14 2002 -Return-path: <pgsql-hackers-owner+M23541@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g59BAEs18595 - for <pgman@candle.pha.pa.us>; Sun, 9 Jun 2002 07:10:14 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 78848475BCE; Sun, 9 Jun 2002 07:09:39 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 34984475908; Sun, 9 Jun 2002 06:41:03 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 8A3F84758E6 - for <pgsql-hackers@postgresql.org>; Sun, 9 Jun 2002 06:40:01 -0400 (EDT) -Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) - by postgresql.org (Postfix) with ESMTP id 1ACAB4758E6 - for <pgsql-hackers@postgresql.org>; Sun, 9 Jun 2002 06:38:35 -0400 (EDT) -Received: from mailgate.vale-housing.co.uk ([193.195.77.162] helo=dogbert.vale-housing.co.uk) - by anchor-post-30.mail.demon.net with esmtp (Exim 3.35 #1) - id 17H05a-000G8M-0U; Sun, 09 Jun 2002 11:38:27 +0100 -content-class: urn:content-classes:message -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Subject: Re: [HACKERS] Roadmap for a Win32 port -X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 -Date: Sun, 9 Jun 2002 11:38:26 +0100 -Message-ID: <D85C66DA59BA044EB96AB9683819CF610150D6@dogbert.vale-housing.co.uk> -Thread-Topic: Roadmap for a Win32 port -Thread-Index: AcIPOqo6zyhIgICZRXi+W7OR5HfNigAZldCg -From: "Dave Page" <dpage@vale-housing.co.uk> -To: "Bruce Momjian" <pgman@candle.pha.pa.us>, - "Peter Eisentraut" <peter_e@gmx.net> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g59BAEs18595 -Status: RO - - - -> -----Original Message----- -> From: Bruce Momjian [mailto:pgman@candle.pha.pa.us] -> Sent: 08 June 2002 22:48 -> To: Peter Eisentraut -> Cc: PostgreSQL-development -> Subject: Re: Roadmap for a Win32 port -> -> -> > -> > > Also, it seems Win32 doesn't need these scripts, except initdb. -> > -> > The utility of these programs is independent of the -> platform. If we -> > think pg_dumpall is not useful, then let's remove it. -> -> I think the first two targets for C-ification would be -> pg_dumpall and initdb. The others have SQL equivalents. -> Maybe pg_ctl too. - -I looked at this issue some time ago & came to the conclusion that the -only scripts that Win32 really needed were pg_dumpall, initdb & -initlocation. - -The others have SQL equivalents as you say, apart from pg_ctl which -under Windows should probably (and generally is) be replaced by the SCM -(Service Control Manager). The only thing that comes to mind that the -SCM can't do is a reload. - -Regards, Dave. - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M23406@postgresql.org Wed Jun 5 01:06:31 2002 -Return-path: <pgsql-hackers-owner+M23406@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5556Vs08055 - for <pgman@candle.pha.pa.us>; Wed, 5 Jun 2002 01:06:31 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 169794762A7; Wed, 5 Jun 2002 01:06:33 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id C60EB47625B; Wed, 5 Jun 2002 01:06:25 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id EB789475C75 - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 01:06:14 -0400 (EDT) -Received: from voyager.corporate.connx.com (unknown [209.20.248.131]) - by postgresql.org (Postfix) with ESMTP id 4B950475A3B - for <pgsql-hackers@postgresql.org>; Wed, 5 Jun 2002 01:06:14 -0400 (EDT) -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Subject: [HACKERS] Cooperation -X-MimeOLE: Produced By Microsoft Exchange V6.0.4712.0 -content-class: urn:content-classes:message -Date: Tue, 4 Jun 2002 22:06:31 -0700 -Message-ID: <D90A5A6C612A39408103E6ECDD77B82920CF1A@voyager.corporate.connx.com> -Thread-Topic: Cooperation -Thread-Index: AcIMTsGaRnYrKZMWTBSGbLPlP1vlAQ== -From: "Dann Corbit" <DCorbit@connx.com> -To: <sogapj@fb.freeserve.ne.jp>, <ichiro@ichiro.org>, <tosiyuki@gol.com> -cc: <pgsql-hackers@postgresql.org> -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g5556Vs08055 -Status: RO - -I apologize for my English language message. I am unable to speak -Japanese. We do have a native Japanese speaker here, who could be -called upon if necessary. - -The PostgreSQL team is planning to do a native Win32 port. Perhaps you -would like to help with the effort. In that way, your changes will get -propagated back up the source code tree and you can gain the benefits -from future development efforts without performing any work. - -We did a port to Win32 also, but your approach seems much better. We -have very fat executables and you have a marvelous DLL approach. -Probably, the way that you perform the operations is much better. - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M23451@postgresql.org Thu Jun 6 15:09:15 2002 -Return-path: <pgsql-hackers-owner+M23451@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g56J9Es04710 - for <pgman@candle.pha.pa.us>; Thu, 6 Jun 2002 15:09:14 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 233E7476798; Thu, 6 Jun 2002 15:09:12 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 53BA8476C21; Thu, 6 Jun 2002 13:48:28 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 5FF6E475B2B - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 03:39:06 -0400 (EDT) -Received: from ns.astrodesign.co.jp (ns.astrodesign.co.jp [210.169.228.106]) - by postgresql.org (Postfix) with ESMTP id A7083475AD1 - for <pgsql-hackers@postgresql.org>; Thu, 6 Jun 2002 03:39:00 -0400 (EDT) -Date: Thu, 6 Jun 2002 16:38:55 +0900 -From: ISHIKAWA Toshiyuki <t-ishikawa@astrodesign.co.jp> -To: "Dann Corbit" <DCorbit@connx.com> -cc: sogapj@fb.freeserve.ne.jp, ichiro@ichiro.org, pgsql-hackers@postgresql.org -Subject: Re: [HACKERS] Cooperation -Message-ID: <20020606163855.4d8f2be5.t-ishikawa@astrodesign.co.jp> -In-Reply-To: <D90A5A6C612A39408103E6ECDD77B82920CF1A@voyager.corporate.connx.com> -References: <D90A5A6C612A39408103E6ECDD77B82920CF1A@voyager.corporate.connx.com> -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Dann Corbit wrote: - -> I apologize for my English language message. I am unable to speak -> Japanese. We do have a native Japanese speaker here, who could be -> called upon if necessary. - -There is no need to aplogize writing an e-mail in English. -It's global standards, but some portion is a bit difficult -to understand. Anyhow, we must firstly express our thanks -for your interest in our project, though we are facing also -hard obstacles as listed on the Web site. - -> The PostgreSQL team is planning to do a native Win32 port. Perhaps you -> would like to help with the effort. In that way, your changes will get -> propagated back up the source code tree and you can gain the benefits -> from future development efforts without performing any work. - -It is nice to hear that the PostgreSQL development team has also working -on this subject. Will you please illustrate the procedure more clearly how -to we contribute our effort to your project. The last four words in the -above clause mean that once we supply you with the changed source, then -everything afterwords could be handled by the team? How the copy right -will be dealt with? - -The development has been continued by the volunteer developers here, -however, we have to admit that businesses (companies) are also involved -to support those people providing time to work on the development, -not to commercialization purpose but expecting some return, e.g. earning -company's prestige. So, we have to regulate those backgrouds first based -upon your proposal. We are positive to help you with our effort anyway, -if things goes well. - -> We did a port to Win32 also, but your approach seems much better. We -> have very fat executables and you have a marvelous DLL approach. -> Probably, the way that you perform the operations is much better. - -Thanks. - -Toshi - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From dpage@vale-housing.co.uk Sun Jun 9 06:38:29 2002 -Return-path: <dpage@vale-housing.co.uk> -Received: from anchor-post-30.mail.demon.net (anchor-post-30.mail.demon.net [194.217.242.88]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g59AcSs05017 - for <pgman@candle.pha.pa.us>; Sun, 9 Jun 2002 06:38:29 -0400 (EDT) -Received: from mailgate.vale-housing.co.uk ([193.195.77.162] helo=dogbert.vale-housing.co.uk) - by anchor-post-30.mail.demon.net with esmtp (Exim 3.35 #1) - id 17H05a-000G8M-0U; Sun, 09 Jun 2002 11:38:27 +0100 -content-class: urn:content-classes:message -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Subject: RE: Roadmap for a Win32 port -X-MimeOLE: Produced By Microsoft Exchange V6.0.5762.3 -Date: Sun, 9 Jun 2002 11:38:26 +0100 -Message-ID: <D85C66DA59BA044EB96AB9683819CF610150D6@dogbert.vale-housing.co.uk> -Thread-Topic: Roadmap for a Win32 port -Thread-Index: AcIPOqo6zyhIgICZRXi+W7OR5HfNigAZldCg -From: "Dave Page" <dpage@vale-housing.co.uk> -To: "Bruce Momjian" <pgman@candle.pha.pa.us>, - "Peter Eisentraut" <peter_e@gmx.net> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id g59AcSs05017 -Status: RO - - - -> -----Original Message----- -> From: Bruce Momjian [mailto:pgman@candle.pha.pa.us] -> Sent: 08 June 2002 22:48 -> To: Peter Eisentraut -> Cc: PostgreSQL-development -> Subject: Re: Roadmap for a Win32 port -> -> -> > -> > > Also, it seems Win32 doesn't need these scripts, except initdb. -> > -> > The utility of these programs is independent of the -> platform. If we -> > think pg_dumpall is not useful, then let's remove it. -> -> I think the first two targets for C-ification would be -> pg_dumpall and initdb. The others have SQL equivalents. -> Maybe pg_ctl too. - -I looked at this issue some time ago & came to the conclusion that the -only scripts that Win32 really needed were pg_dumpall, initdb & -initlocation. - -The others have SQL equivalents as you say, apart from pg_ctl which -under Windows should probably (and generally is) be replaced by the SCM -(Service Control Manager). The only thing that comes to mind that the -SCM can't do is a reload. - -Regards, Dave. - -From pgsql-hackers-owner+M23620@postgresql.org Tue Jun 11 10:20:54 2002 -Return-path: <pgsql-hackers-owner+M23620@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5BEKrs26980 - for <pgman@candle.pha.pa.us>; Tue, 11 Jun 2002 10:20:53 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id E71DB476475; Tue, 11 Jun 2002 10:20:47 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E021E47641C; Tue, 11 Jun 2002 10:20:29 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 78C77475905 - for <pgsql-hackers@postgresql.org>; Tue, 11 Jun 2002 10:20:17 -0400 (EDT) -Received: from mail.gne.de (mail.gne.de [213.83.0.2]) - by postgresql.org (Postfix) with ESMTP id C02B0475864 - for <pgsql-hackers@postgresql.org>; Tue, 11 Jun 2002 10:20:15 -0400 (EDT) -Received: from DO5GNE-MTA by mail.gne.de - with Novell_GroupWise; Tue, 11 Jun 2002 16:19:39 +0200 -Message-ID: <sd06231b.068@mail.gne.de> -X-Mailer: Novell GroupWise Internet Agent 6.0.1 -Date: Tue, 11 Jun 2002 16:19:21 +0200 -From: "Ulrich Neumann" <U_Neumann@gne.de> -To: <pgsql-hackers@postgresql.org> -Subject: [HACKERS] Native Win32/OS2/BeOS/NetWare ports -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Content-Disposition: inline -X-Guinevere: 1.1.14 ; GNE Grebe Neumann Gl -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Hello together - -i've seen a lot of discussion about a native win32/OS2/BEOS port of -PostgreSQL. - -During the last months i've ported PostgreSQL over to Novell NetWare -and i've -changed the code that I use pthreads instead of fork() now. - -I had a lot of work with the variables and cleanup but mayor parts are -done. - -I would appreciate if we could combine this work. - -My plan was to finish this port, discuss the port with other people and -offer all the work -to the PostgreSQL source tree, but now i'm jumping in here because of -all the discussions. - -What i've done in detail: -- i've defined #USE_PTHREADS in pg_config.h to differentiate between -the forked and the -threaded backend. -- I've added several parts in postmaster.c so all functions are based -on pthreads now. -- I've changed the signal handling because signals are process based -- I've changed code in ipc.c to have a clean shutdown of threads -- I've written some functions to switch the global variables. The -globals are controled with -POSIX semaphores. -- I've written a new implementation of shared memory and semaphores- -With pthreads I don't -need real shared memory any more and i'm using POSIX semaphores now -- Several minor changes. - -There is still some more work to do like fixing memory leaks or -handling bad situations, but in general it's -functional on NetWare. - -BTW: Is it possible to add some lines on the PostgreSQL webpage that -there is a first beta of -PostgreSQL for NetWare available and to offer a binary download for the -NetWare version? - -Ulrich Neumann - - ----------------------------------- - This e-mail is virus scanned - Diese e-mail ist virusgeprueft - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M23641@postgresql.org Tue Jun 11 15:01:17 2002 -Return-path: <pgsql-hackers-owner+M23641@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5BJ1Gs23405 - for <pgman@candle.pha.pa.us>; Tue, 11 Jun 2002 15:01:17 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id 950F7476CC5; Tue, 11 Jun 2002 15:01:14 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 113114768E2; Tue, 11 Jun 2002 14:48:15 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 83CF5475B98 - for <pgsql-hackers@postgresql.org>; Tue, 11 Jun 2002 14:48:02 -0400 (EDT) -Received: from ftpbox.mot.com (ftpbox.mot.com [129.188.136.101]) - by postgresql.org (Postfix) with ESMTP id BC57F4760D1 - for <pgsql-hackers@postgresql.org>; Tue, 11 Jun 2002 14:14:13 -0400 (EDT) -Received: [from pobox.mot.com (pobox.mot.com [129.188.137.100]) by ftpbox.mot.com (ftpbox 2.1) with ESMTP id LAA03778; Tue, 11 Jun 2002 11:14:07 -0700 (MST)] -Received: [from pronto1.comm.mot.com (pronto1.comm.mot.com [173.6.1.22]) by pobox.mot.com (MOT-pobox 2.0) with ESMTP id LAA14457; Tue, 11 Jun 2002 11:14:07 -0700 (MST)] -Received: from kovalenkoigor (idennt19534 [145.1.195.34]) - by pronto1.comm.mot.com (8.9.3/8.9.3) with SMTP id NAA23438; - Tue, 11 Jun 2002 13:14:06 -0500 (CDT) -Message-ID: <00c901c21173$e5f95870$22c30191@comm.mot.com> -From: "Igor Kovalenko" <Igor.Kovalenko@motorola.com> -To: "Ulrich Neumann" <U_Neumann@gne.de>, <pgsql-hackers@postgresql.org> -References: <sd06231b.068@mail.gne.de> -Subject: Re: [HACKERS] Native Win32/OS2/BeOS/NetWare ports -Date: Tue, 11 Jun 2002 13:14:58 -0500 -MIME-Version: 1.0 -Content-Type: text/plain; - charset="iso-8859-1" -Content-Transfer-Encoding: 7bit -X-Priority: 3 -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook Express 5.00.2919.6600 -X-MimeOLE: Produced By Microsoft MimeOLE V5.00.2919.6600 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -> Hello together -> -> i've seen a lot of discussion about a native win32/OS2/BEOS port of -> PostgreSQL. -> -> During the last months i've ported PostgreSQL over to Novell NetWare -> and i've -> changed the code that I use pthreads instead of fork() now. -> -> I had a lot of work with the variables and cleanup but mayor parts are -> done. -> -> I would appreciate if we could combine this work. - -Very nice... I have patches for QNX6 which also involved redoing shared -memory and sempahores stuff. It would make very good sense to intergate, -especially since you managed to do something very close to what I wanted :) - -> My plan was to finish this port, discuss the port with other people and -> offer all the work -> to the PostgreSQL source tree, but now i'm jumping in here because of -> all the discussions. -> -> What i've done in detail: -> - i've defined #USE_PTHREADS in pg_config.h to differentiate between -> the forked and the -> threaded backend. -> - I've added several parts in postmaster.c so all functions are based -> on pthreads now. -> - I've changed the signal handling because signals are process based - -Careful here. On certain systems (on many, I suspect) POSIX semantics for -signals is NOT default. Enforcing POSIX semantics requires certain compile -time switches which will also change behavior of various functions. - -> - I've changed code in ipc.c to have a clean shutdown of threads -> - I've written some functions to switch the global variables. The -> globals are controled with -> POSIX semaphores. -> - I've written a new implementation of shared memory and semaphores- -> With pthreads I don't -> need real shared memory any more and i'm using POSIX semaphores now - -POSIX semaphores for what? I assume by the conext that you're talking about -replacing SysV semaphores which are used to control access to shared memory. -If that is the case, POSIX semaphores are not the best choice really. POSIX -mutexes would be okay, but on SMP systems spinlocks (hardware TAS based -macros or POSIX spinlocks) would probably be better anyway. Note that on -most platforms spinlocks are used for that and SysV semaphores were just a -'last resort' which had unacceptable performance and so I guess it was not -used at all. - -Do you have your patch somewhere online? - --- igor - - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M23662@postgresql.org Wed Jun 12 04:38:26 2002 -Return-path: <pgsql-hackers-owner+M23662@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g5C8cQs16000 - for <pgman@candle.pha.pa.us>; Wed, 12 Jun 2002 04:38:26 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP - id BFF694758D8; Wed, 12 Jun 2002 04:38:16 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 627664767B0; Wed, 12 Jun 2002 04:37:56 -0400 (EDT) -Received: from localhost.localdomain (postgresql.org [64.49.215.8]) - by localhost (Postfix) with ESMTP id 26D69475961 - for <pgsql-hackers@postgresql.org>; Wed, 12 Jun 2002 04:37:42 -0400 (EDT) -Received: from mail.gne.de (mail.gne.de [213.83.0.2]) - by postgresql.org (Postfix) with ESMTP id BE69B475D95 - for <pgsql-hackers@postgresql.org>; Wed, 12 Jun 2002 04:36:40 -0400 (EDT) -Received: from DO5GNE-MTA by mail.gne.de - with Novell_GroupWise; Wed, 12 Jun 2002 10:35:57 +0200 -Message-ID: <sd07240d.003@mail.gne.de> -X-Mailer: Novell GroupWise Internet Agent 6.0.1 -Date: Wed, 12 Jun 2002 10:35:24 +0200 -From: "Ulrich Neumann" <U_Neumann@gne.de> -To: <pgsql-hackers@postgresql.org> -Subject: Antw: Re: [HACKERS] Native Win32/OS2/BeOS/NetWare ports -MIME-Version: 1.0 -Content-Type: text/plain; charset=US-ASCII -Content-Transfer-Encoding: 7bit -Content-Disposition: inline -X-Guinevere: 1.1.14 ; GNE Grebe Neumann Gl -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -Status: RO - -Hi Igor, - -Thanks for your information. - -I was aware of the "signal" problems and i've done it with thread based -signals -This part is functional on my platform but it isn't fully cooked. -Another problem -is to make this part portable. - -Your assumption to replace SysV semaphores with POSIX semaphores is -correct. -My first guess was to use mutexes instead of semaphores at all because -the -way semaphores are used in Postgres is more something like a "mutex", -but only semaphores worked for me at this time because the underlying -C Library had some problems with mutexes and spinlocks. (I'm also -working on a new C Library for a future OS). - -Actually I don't have my code downloadable somewhere because the code -doesn't look very nice in some parts. There is also temporary debug -code -in it right now. The best I think is to send it to you via email. If -this is OK -please give me a short notice or send an email to me and I'll send you -a -copy. - -Ulrich - ->>> "Igor Kovalenko" <Igor.Kovalenko@motorola.com> 11.06.2002 20:14:58 ->>> -> Hello together -> -> i've seen a lot of discussion about a native win32/OS2/BEOS port of -> PostgreSQL. -> -> During the last months i've ported PostgreSQL over to Novell NetWare -> and i've -> changed the code that I use pthreads instead of fork() now. -> -> I had a lot of work with the variables and cleanup but mayor parts -are -> done. -> -> I would appreciate if we could combine this work. - -Very nice... I have patches for QNX6 which also involved redoing -shared -memory and sempahores stuff. It would make very good sense to -intergate, -especially since you managed to do something very close to what I -wanted :) - -> My plan was to finish this port, discuss the port with other people -and -> offer all the work -> to the PostgreSQL source tree, but now i'm jumping in here because -of -> all the discussions. -> -> What i've done in detail: -> - i've defined #USE_PTHREADS in pg_config.h to differentiate between -> the forked and the -> threaded backend. -> - I've added several parts in postmaster.c so all functions are -based -> on pthreads now. -> - I've changed the signal handling because signals are process based - -Careful here. On certain systems (on many, I suspect) POSIX semantics -for -signals is NOT default. Enforcing POSIX semantics requires certain -compile -time switches which will also change behavior of various functions. - -> - I've changed code in ipc.c to have a clean shutdown of threads -> - I've written some functions to switch the global variables. The -> globals are controled with -> POSIX semaphores. -> - I've written a new implementation of shared memory and semaphores- -> With pthreads I don't -> need real shared memory any more and i'm using POSIX semaphores now - -POSIX semaphores for what? I assume by the conext that you're talking -about -replacing SysV semaphores which are used to control access to shared -memory. -If that is the case, POSIX semaphores are not the best choice really. -POSIX -mutexes would be okay, but on SMP systems spinlocks (hardware TAS -based -macros or POSIX spinlocks) would probably be better anyway. Note that -on -most platforms spinlocks are used for that and SysV semaphores were -just a -'last resort' which had unacceptable performance and so I guess it was -not -used at all. - -Do you have your patch somewhere online? - --- igor - - - ----------------------------(end of -broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html ----------------------------------- - This e-mail is virus scanned - Diese e-mail ist virusgeprueft - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M28769@postgresql.org Thu Sep 12 13:30:45 2002 -Return-path: <pgsql-hackers-owner+M28769@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8CHUhE10966 - for <pgman@candle.pha.pa.us>; Thu, 12 Sep 2002 13:30:44 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 40E144762BC; Thu, 12 Sep 2002 13:29:53 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 74F634761BD; Thu, 12 Sep 2002 13:29:51 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id B0228475BEC; Thu, 12 Sep 2002 13:29:47 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP - id 54553475AE5; Thu, 12 Sep 2002 13:29:46 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id NAA10985; - Thu, 12 Sep 2002 13:30:07 -0400 -Message-ID: <3D80CEF0.1010900@mascari.com> -Date: Thu, 12 Sep 2002 13:29:20 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Mike Mascari <mascarm@mascari.com> -cc: "scott.marlowe" <scott.marlowe@ihs.com>, - Justin Clift <justin@postgresql.org>, Dave Page <dpage@vale-housing.co.uk>, - Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL Hackers Mailing List <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] PGXLOG variable worthwhile? -References: <Pine.LNX.4.33.0209120945260.10924-100000@css120.ihs.com> <3D80C847.1070000@mascari.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -I wrote: -> scott.marlowe wrote: - >> ->> I wouldn't assume that. It's been years since I tested it, but back ->> then, the command line and all program I used could see the link ->> created by ln that came with the resource kit. They were distinctly ->> different from the shortcut type of links, in that they seems ->> transparent like short cuts in unix generally are. ->> ->> Do you have the resource kit or the gnu utils from it? -> -> -> The situation appears to be this: -> -> 1. Soft links are available on NTFS 5 (2K/XP) as Reparse Points via the -> DeviceIoControl() function for any application using the standard C -> library routines. -> -> 2. Soft links are available on any filesystem under 95/98/ME/NT4/2K/XP -> as OLE streams (.lnk files) for Shell-aware applications. -> -> 3. Hard links are available on NTFS 5 (2K/XP) via the CreateHardLink() API. - -<snip> - -> 4. Hard links are available on NTFS (NT3.1/NT4) via the BackupWrite() -> API by writing a special stream to the NTFS. - -I also believe (I could be wrong) that for directories, the only -two methods of links are the Soft link methods above. So PGXLOG -cannot use soft links on a non-XP/2K machine unless it is -"Shell-Aware". For example, in a cygwin bash command window: - -mkdir dir1 -ln dir1 dir2 <- Error using Cygwin implementation -ln -s dir1 dir2 <- Creates a Shell short-cut (NT4) -echo "Hello" > dir1/test.txt -cat dir2/test.txt -"Hello" <- Cygwin's cat(bash?) is shell short-cut aware - -Now, in a Windows NT command prompt: - -notepad dir2\test.txt <- Notepad can't find file -notepad dir2.lnk <- Displays link contents - -That means for a native port with a different PGXLOG directory -running on NT4, the only choice *using links* is to make the -native port shell short-cut aware. - -I could be wrong but I don't think so. - -Mike Mascari -mascarm@mascari.com - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From mascarm@mascari.com Thu Sep 12 13:01:55 2002 -Return-path: <mascarm@mascari.com> -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8CH1oE07922 - for <pgman@candle.pha.pa.us>; Thu, 12 Sep 2002 13:01:53 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id NAA10893; - Thu, 12 Sep 2002 13:01:42 -0400 -Message-ID: <3D80C847.1070000@mascari.com> -Date: Thu, 12 Sep 2002 13:00:55 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: "scott.marlowe" <scott.marlowe@ihs.com> -cc: Justin Clift <justin@postgresql.org>, - Dave Page - <dpage@vale-housing.co.uk>, - Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL - Hackers Mailing List <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] PGXLOG variable worthwhile? -References: <Pine.LNX.4.33.0209120945260.10924-100000@css120.ihs.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: RO - -scott.marlowe wrote: -> On Fri, 13 Sep 2002, Justin Clift wrote: - > ->>Would it be correct to say that the 'ln' command in the MS Resource Kit ->>creates this kind of shortcut too, as the Reparse Points feature doesn't ->>seem to be possible under NT4? -> -> -> I wouldn't assume that. It's been years since I tested it, but back then, -> the command line and all program I used could see the link created by ln -> that came with the resource kit. They were distinctly different from the -> shortcut type of links, in that they seems transparent like short cuts in -> unix generally are. -> -> Do you have the resource kit or the gnu utils from it? - -The situation appears to be this: - -1. Soft links are available on NTFS 5 (2K/XP) as Reparse Points -via the DeviceIoControl() function for any application using the -standard C library routines. - -2. Soft links are available on any filesystem under -95/98/ME/NT4/2K/XP as OLE streams (.lnk files) for Shell-aware -applications. - -3. Hard links are available on NTFS 5 (2K/XP) via the -CreateHardLink() API. - -See: - -http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createhardlink.asp - -4. Hard links are available on NTFS (NT3.1/NT4) via the -BackupWrite() API by writing a special stream to the NTFS. - -Example: - -http://www.mvps.org/win32/ntfs/lnw.cpp - -The cygwin implementation of link(): - -http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/winsup/cygwin/syscalls.cc?rev=1.149.2.23&content-type=text/x-cvsweb-markup&cvsroot=src - -1. Will use CreateHardLink() if on 2K/XP -2. Will try to use the BackupWrite() method -3. Failing #2 will just copy the file - -See how fun Microsoft makes things? - -Mike Mascari -mascarm@mascari.com - - -From pgsql-hackers-owner+M28774@postgresql.org Thu Sep 12 15:12:54 2002 -Return-path: <pgsql-hackers-owner+M28774@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8CJCqE21744 - for <pgman@candle.pha.pa.us>; Thu, 12 Sep 2002 15:12:52 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 77755476CA2; Thu, 12 Sep 2002 15:12:48 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 98016476ABD; Thu, 12 Sep 2002 15:12:31 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 3A604476A7F; Thu, 12 Sep 2002 15:12:28 -0400 (EDT) -Received: from sss.pgh.pa.us (unknown [192.204.191.242]) - by postgresql.org (Postfix) with ESMTP - id B93FD475D87; Thu, 12 Sep 2002 15:12:20 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g8CJC9Ko009064; - Thu, 12 Sep 2002 15:12:09 -0400 (EDT) -To: Curt Sampson <cjs@cynic.net> -cc: Justin Clift <justin@postgresql.org>, - PostgreSQL Hackers Mailing List <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] PGXLOG variable worthwhile? -In-Reply-To: <Pine.NEB.4.44.0209130127550.891-100000@angelic.cynic.net> -References: <Pine.NEB.4.44.0209130127550.891-100000@angelic.cynic.net> -Comments: In-reply-to Curt Sampson <cjs@cynic.net> - message dated "Fri, 13 Sep 2002 01:28:39 +0900" -Date: Thu, 12 Sep 2002 15:12:09 -0400 -Message-ID: <9063.1031857929@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ROr - -Curt Sampson <cjs@cynic.net> writes: -> On Thu, 12 Sep 2002, Justin Clift wrote: ->> Am just wondering if we've ever considered adding a PGXLOG environment ->> variable that would point to the pg_xlog directory? - -> IMHO, a much better way to support this is to put this information into -> the config file. That way it can't easily change when you happen to, say, -> start postgres in the wrong window. - -Yes. We rejected environment-variable-based xlog location for reasons -that apply equally well to Windows. The xlog location *must* be stored -in a physical file in the data directory; anything else is too unsafe. -The current technology for that is a symlink. - -While it doesn't have to be a symlink as opposed to some sort of config -file, I don't have the slightest problem with saying that we don't -support relocation of xlog on older Windoid platforms. - - regards, tom lane - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M29089@postgresql.org Thu Sep 19 01:07:35 2002 -Return-path: <pgsql-hackers-owner+M29089@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8J57XE17033 - for <pgman@candle.pha.pa.us>; Thu, 19 Sep 2002 01:07:34 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id C4A62476A3C; Thu, 19 Sep 2002 01:07:34 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id A818A4760B0; Thu, 19 Sep 2002 01:07:32 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 4E7414769C9 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:07:26 -0400 (EDT) -Received: from ece.rice.edu (ece.rice.edu [128.42.4.34]) - by postgresql.org (Postfix) with ESMTP id B6B5447590C - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:07:24 -0400 (EDT) -Received: from localhost (localhost [127.0.0.1]) - by ece.rice.edu (Postfix) with ESMTP - id 337C368A68; Thu, 19 Sep 2002 00:07:24 -0500 (CDT) -Received: from wallace.ece.rice.edu (wallace.ece.rice.edu [128.42.12.154]) - by ece.rice.edu (Postfix) with ESMTP - id 1EF0D68A65; Thu, 19 Sep 2002 00:07:23 -0500 (CDT) -Received: from reedstrm by wallace.ece.rice.edu with local (Exim 3.34 #1 (Debian)) - id 17rtX8-00042E-00; Thu, 19 Sep 2002 00:07:22 -0500 -Date: Thu, 19 Sep 2002 00:07:22 -0500 -From: "Ross J. Reedstrom" <reedstrm@rice.edu> -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -Message-ID: <20020919050722.GC15352@rice.edu> -Mail-Followup-To: "Ross J. Reedstrom" <reedstrm@ece.rice.edu>, - Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -References: <200209190001.g8J01gG13849@candle.pha.pa.us> -MIME-Version: 1.0 -Content-Type: text/plain; charset=us-ascii -Content-Disposition: inline -In-Reply-To: <200209190001.g8J01gG13849@candle.pha.pa.us> -User-Agent: Mutt/1.3.27i -X-Virus-Scanned: by AMaViS snapshot-20020300 -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: - -> Second, when you unlink() a file on Win32, do applications continue -> accessing the old file contents if they had the file open before the -> unlink? - -I'm pretty sure it errors with 'file in use'. Pretty ugly, huh? - -Ross - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29091@postgresql.org Thu Sep 19 01:24:54 2002 -Return-path: <pgsql-hackers-owner+M29091@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8J5OqE18478 - for <pgman@candle.pha.pa.us>; Thu, 19 Sep 2002 01:24:53 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id A5031476A31; Thu, 19 Sep 2002 01:24:52 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id F2ED047698F; Thu, 19 Sep 2002 01:24:50 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id BA69E476086 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:24:47 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id 56A2D475FE3 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:24:46 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA15293; - Thu, 19 Sep 2002 01:23:54 -0400 -Message-ID: <3D895F60.4010902@mascari.com> -Date: Thu, 19 Sep 2002 01:23:45 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209190001.g8J01gG13849@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ROr - -Bruce Momjian wrote: -> I am working with several groups getting the Win32 port ready for 7.4 -> and I have a few questions: -> -> What is the standard workaround for the fact that rename() isn't atomic -> on Win32? Do we need to create our own locking around the -> reading/writing of files that are normally updated in place using -> rename()? - -Visual C++ comes with the source to Microsoft's C library: - -rename() calls MoveFile() which will error if: - -1. The target file exists -2. The source file is in use - -MoveFileEx() (not available on 95/98) can overwrite the target -file if it exists. The Apache APR portability library uses -MoveFileEx() to rename files if under NT/XP/2K vs. a sequence of : - -1. CreateFile() to test for target file existence -2. DeleteFile() to remove the target file -3. MoveFile() to rename the old file to new - -under Windows 95/98. Of course, some other process could create -the target file between 2 and 3, so their rename() would just -error out in that situation. I haven't tested it, but I recall -reading somewhere that MoveFileEx() has the ability to rename an -opened file. I'm 99% sure MoveFile() will fail if the source -file is open. - -> -> Second, when you unlink() a file on Win32, do applications continue -> accessing the old file contents if they had the file open before the -> unlink? -> - -unlink() just calls DeleteFile() which will error if: - -1. The target file is in use - -CreateFile() has the option: - -FILE_FLAG_DELETE_ON_CLOSE - -which might be able to be used to simulate traditional unlink() -behavior. - -Hope that helps, - -Mike Mascari -mascarm@mascari.com - - - - - - - - - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M29090@postgresql.org Thu Sep 19 01:23:40 2002 -Return-path: <pgsql-hackers-owner+M29090@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8J5NcE18313 - for <pgman@candle.pha.pa.us>; Thu, 19 Sep 2002 01:23:38 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 8B685476A38; Thu, 19 Sep 2002 01:23:39 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 54C6E4769AA; Thu, 19 Sep 2002 01:23:37 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 47A9B4762E6 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:23:33 -0400 (EDT) -Received: from houston.familyhealth.com.au (unknown [203.59.48.253]) - by postgresql.org (Postfix) with ESMTP id 9D4C6476171 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:23:31 -0400 (EDT) -Received: (from root@localhost) - by houston.familyhealth.com.au (8.11.6/8.11.6) id g8J5NUJ42439 - for pgsql-hackers@postgresql.org; Thu, 19 Sep 2002 13:23:30 +0800 (WST) - (envelope-from chriskl@familyhealth.com.au) -Received: from mariner (mariner.internal [192.168.0.101]) - by houston.familyhealth.com.au (8.11.6/8.9.3) with SMTP id g8J5NSk42348; - Thu, 19 Sep 2002 13:23:28 +0800 (WST) -From: "Christopher Kings-Lynne" <chriskl@familyhealth.com.au> -To: "Ross J. Reedstrom" <reedstrm@rice.edu> -cc: "PostgreSQL-development" <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -Date: Thu, 19 Sep 2002 13:24:01 +0800 -Message-ID: <GNELIHDDFBOCMGBFGEFOGEFCCEAA.chriskl@familyhealth.com.au> -MIME-Version: 1.0 -Content-Type: text/plain; - charset="US-ASCII" -Content-Transfer-Encoding: 7bit -X-Priority: 3 (Normal) -X-MSMail-Priority: Normal -X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) -In-Reply-To: <20020919050722.GC15352@rice.edu> -X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 -Importance: Normal -X-scanner: scanned by Inflex 0.1.5c - (http://www.inflex.co.za/) -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -> On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: -> -> > Second, when you unlink() a file on Win32, do applications continue -> > accessing the old file contents if they had the file open before the -> > unlink? -> -> I'm pretty sure it errors with 'file in use'. Pretty ugly, huh? - -Yeah - the windows filesystem is pretty poor when it comes to multiuser -access. That's why even as administrator I cannot delete borked files and -people's profiles and stuff off our NT server - the files are always 'in -use'. Even if you kick all users off, reboot the machine, do whatever. -It's terrible. - -Chris - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29092@postgresql.org Thu Sep 19 01:32:51 2002 -Return-path: <pgsql-hackers-owner+M29092@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8J5WnE19160 - for <pgman@candle.pha.pa.us>; Thu, 19 Sep 2002 01:32:50 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id A34DA476A7D; Thu, 19 Sep 2002 01:32:50 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 80422476A62; Thu, 19 Sep 2002 01:32:48 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 496D1476A44 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:32:44 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id 228C74769F6 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 01:32:43 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA15313; - Thu, 19 Sep 2002 01:31:28 -0400 -Message-ID: <3D896127.2070103@mascari.com> -Date: Thu, 19 Sep 2002 01:31:19 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Christopher Kings-Lynne <chriskl@familyhealth.com.au> -cc: "Ross J. Reedstrom" <reedstrm@rice.edu>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <GNELIHDDFBOCMGBFGEFOGEFCCEAA.chriskl@familyhealth.com.au> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Christopher Kings-Lynne wrote: ->>On Wed, Sep 18, 2002 at 08:01:42PM -0400, Bruce Momjian wrote: ->> ->> ->>>Second, when you unlink() a file on Win32, do applications continue ->>>accessing the old file contents if they had the file open before the ->>>unlink? ->> ->>I'm pretty sure it errors with 'file in use'. Pretty ugly, huh? -> -> -> Yeah - the windows filesystem is pretty poor when it comes to multiuser -> access. That's why even as administrator I cannot delete borked files and -> people's profiles and stuff off our NT server - the files are always 'in -> use'. Even if you kick all users off, reboot the machine, do whatever. -> It's terrible. - > - > Chris - > - -Yep. That's why often it requires rebooting to uninstall -software. How can the installer remove itself? Under Windows -95/98/ME, you have to manually add entries to WININIT.INI. With -Windows NT/XP/2K, MoveFileEx() with a NULL target and the -MOVEFILE_DELAY_UNTIL_REBOOT flag will add the appropriate -entries into the system registry so that the next time the -machine reboots it will remove the files specified. Its a real -pain and a real hack of an OS. - -Mike Mascari -mascarm@mascari.com - - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29135@postgresql.org Thu Sep 19 16:26:02 2002 -Return-path: <pgsql-hackers-owner+M29135@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8JKPvE10469 - for <pgman@candle.pha.pa.us>; Thu, 19 Sep 2002 16:25:57 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 55024476101; Thu, 19 Sep 2002 16:25:40 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id B87A6476A3F; Thu, 19 Sep 2002 16:25:34 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id CC7F5476101 - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 16:24:38 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id E04B8475AFF - for <pgsql-hackers@postgresql.org>; Thu, 19 Sep 2002 16:24:35 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8JKO1g10337; - Thu, 19 Sep 2002 16:24:01 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209192024.g8JKO1g10337@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D895F60.4010902@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Thu, 19 Sep 2002 16:24:01 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ROr - -Mike Mascari wrote: -> Bruce Momjian wrote: -> > I am working with several groups getting the Win32 port ready for 7.4 -> > and I have a few questions: -> > -> > What is the standard workaround for the fact that rename() isn't atomic -> > on Win32? Do we need to create our own locking around the -> > reading/writing of files that are normally updated in place using -> > rename()? -> -> Visual C++ comes with the source to Microsoft's C library: -> -> rename() calls MoveFile() which will error if: -> -> 1. The target file exists -> 2. The source file is in use -> -> MoveFileEx() (not available on 95/98) can overwrite the target -> file if it exists. The Apache APR portability library uses -> MoveFileEx() to rename files if under NT/XP/2K vs. a sequence of : -> -> 1. CreateFile() to test for target file existence -> 2. DeleteFile() to remove the target file -> 3. MoveFile() to rename the old file to new -> -> under Windows 95/98. Of course, some other process could create -> the target file between 2 and 3, so their rename() would just -> error out in that situation. I haven't tested it, but I recall -> reading somewhere that MoveFileEx() has the ability to rename an -> opened file. I'm 99% sure MoveFile() will fail if the source -> file is open. - -OK, I downloaded APR and see in apr_file_rename(): - - if (MoveFileEx(frompath, topath, MOVEFILE_REPLACE_EXISTING | - MOVEFILE_COPY_ALLOWED)) - - -Looking at the entire APR function, they have lots of tests so it works -on Win9X and wide characters. I think we will just use the APR as a -guide in implementing the things we need. I think MoveFileEx() is the -proper way to go; any other solution requires loop tests for rename. - -I see the MoveFileEx manual page at: - - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/movefile.asp - -> > Second, when you unlink() a file on Win32, do applications continue -> > accessing the old file contents if they had the file open before the -> > unlink? -> > -> -> unlink() just calls DeleteFile() which will error if: -> -> 1. The target file is in use -> -> CreateFile() has the option: -> -> FILE_FLAG_DELETE_ON_CLOSE -> -> which might be able to be used to simulate traditional unlink() -> behavior. - -No, that flag isn't going to help us. I wonder what MoveFileEx does if -the target file exists _and_ is open by another user? I don't see any -loop in that Win32 rename() routine, and I looked at the Unix version of -apr_file_rename and its just a straight rename() call. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgman Thu Sep 19 22:50:41 2002 -Return-path: <pgman> -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8K2ofr29042; - Thu, 19 Sep 2002 22:50:41 -0400 (EDT) -From: Bruce Momjian <pgman> -Message-ID: <200209200250.g8K2ofr29042@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <200209192024.g8JKO1g10337@candle.pha.pa.us> -To: Bruce Momjian <pgman@candle.pha.pa.us> -Date: Thu, 19 Sep 2002 22:50:41 -0400 (EDT) -cc: Mike Mascari <mascarm@mascari.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -Status: RO - -Bruce Momjian wrote: -> > > Second, when you unlink() a file on Win32, do applications continue -> > > accessing the old file contents if they had the file open before the -> > > unlink? -> > > -> > -> > unlink() just calls DeleteFile() which will error if: -> > -> > 1. The target file is in use -> > -> > CreateFile() has the option: -> > -> > FILE_FLAG_DELETE_ON_CLOSE -> > -> > which might be able to be used to simulate traditional unlink() -> > behavior. -> -> No, that flag isn't going to help us. I wonder what MoveFileEx does if -> the target file exists _and_ is open by another user? I don't see any -> loop in that Win32 rename() routine, and I looked at the Unix version of -> apr_file_rename and its just a straight rename() call. - -This says that if the target is in use, it is overwritten: - - http://support.microsoft.com/default.aspx?scid=KB;EN-US;q140570& - -While I think that is good news, does it open the problem of other -readers reading partial updates to the file and therefore seeing -garbage. Not sure how to handle that, nor am I even sure how I would -test it. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - -From mascarm@mascari.com Fri Sep 20 00:02:33 2002 -Return-path: <mascarm@mascari.com> -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K42SE12294 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 00:02:31 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id AAA18322; - Fri, 20 Sep 2002 00:01:34 -0400 -Message-ID: <3D8A9DAD.5040500@mascari.com> -Date: Fri, 20 Sep 2002 00:01:49 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209200250.g8K2ofr29042@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: ROr - -Bruce Momjian wrote: -> Bruce Momjian wrote: ->>> ->>>unlink() just calls DeleteFile() which will error if: ->>> ->>>1. The target file is in use ->>> ->>>CreateFile() has the option: ->>> ->>>FILE_FLAG_DELETE_ON_CLOSE ->>> ->>>which might be able to be used to simulate traditional unlink() ->>>behavior. ->> ->>No, that flag isn't going to help us. I wonder what MoveFileEx does if ->>the target file exists _and_ is open by another user? I don't see any ->>loop in that Win32 rename() routine, and I looked at the Unix version of ->>apr_file_rename and its just a straight rename() call. -> -> -> This says that if the target is in use, it is overwritten: -> -> http://support.microsoft.com/default.aspx?scid=KB;EN-US;q140570& - -I read the article and did not come away with that conclusion. -The article describes using the MOVEFILE_DELAY_UNTIL_REBOOT -flag, which was created for the express purpose of allowing a -SETUP.EXE to remove itself, or rather tell Windows to remove it -on the next reboot. Also, if you want the Win32 port to run in -95/98/ME, you can't rely on MoveFileEx(), you have to use -MoveFile(). - -I will do some testing with concurrency and let you know. But -don't get your hopes up. This is one of the many advantages that -TABLESPACEs have when more than one relation is stored in a -single DATAFILE. There was Oracle for MS-DOS, after all.. - -Mike Mascari -mascarm@mascari.com - - - - - -From pgsql-hackers-owner+M29177@postgresql.org Fri Sep 20 00:06:31 2002 -Return-path: <pgsql-hackers-owner+M29177@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K46TE12770 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 00:06:29 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 44057476CF8; Fri, 20 Sep 2002 00:06:24 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id A0C78476C00; Fri, 20 Sep 2002 00:06:22 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 5AB4E476D1C - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 00:05:57 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 990B9476D38 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 00:05:55 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8K45RV12655; - Fri, 20 Sep 2002 00:05:27 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209200405.g8K45RV12655@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8A9DAD.5040500@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 00:05:27 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> I read the article and did not come away with that conclusion. -> The article describes using the MOVEFILE_DELAY_UNTIL_REBOOT -> flag, which was created for the express purpose of allowing a -> SETUP.EXE to remove itself, or rather tell Windows to remove it -> on the next reboot. Also, if you want the Win32 port to run in -> 95/98/ME, you can't rely on MoveFileEx(), you have to use -> MoveFile(). -> -> I will do some testing with concurrency and let you know. But -> don't get your hopes up. This is one of the many advantages that -> TABLESPACEs have when more than one relation is stored in a -> single DATAFILE. There was Oracle for MS-DOS, after all.. - -I was focusing on handling of pg_pwd and other config file that are -written by various backend while other backends are reading them. The -actual data files should be OK because we have an exclusive lock when we -are adding/removing them. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M29179@postgresql.org Fri Sep 20 00:33:22 2002 -Return-path: <pgsql-hackers-owner+M29179@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K4XKE14843 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 00:33:20 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id EB433476D5B; Fri, 20 Sep 2002 00:32:25 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 2ED3A476D4E; Fri, 20 Sep 2002 00:32:24 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 43723476994 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 00:32:20 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id A66C6476883 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 00:32:18 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id AAA18391; - Fri, 20 Sep 2002 00:31:31 -0400 -Message-ID: <3D8AA4B2.8090507@mascari.com> -Date: Fri, 20 Sep 2002 00:31:46 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209200405.g8K45RV12655@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Bruce Momjian wrote: -> Mike Mascari wrote: -> ->>I will do some testing with concurrency and let you know. But ->>don't get your hopes up. This is one of the many advantages that ->>TABLESPACEs have when more than one relation is stored in a ->>single DATAFILE. There was Oracle for MS-DOS, after all.. -> -> -> I was focusing on handling of pg_pwd and other config file that are -> written by various backend while other backends are reading them. The -> actual data files should be OK because we have an exclusive lock when we -> are adding/removing them. -> - -OK. So you want to test: - -1. Process 1 opens "foo" -2. Process 2 opens "foo" -3. Process 1 renames "foo" to "bar" -4. Process 2 can safely read from its open file handle - -Is that what you want tested? I have a small Win32 app ready to -test. Just let me know the scenarios... - -Mike Mascari -mascarm@mascari.com - - - - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29180@postgresql.org Fri Sep 20 01:02:47 2002 -Return-path: <pgsql-hackers-owner+M29180@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K52kE17470 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 01:02:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id A4AB5476D73; Fri, 20 Sep 2002 01:02:29 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 35B61476D76; Fri, 20 Sep 2002 01:02:21 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 4D3D14760AB - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:01:55 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id D259E475EAA - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:01:53 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA18603; - Fri, 20 Sep 2002 01:00:49 -0400 -Message-ID: <3D8AAB8F.8010001@mascari.com> -Date: Fri, 20 Sep 2002 01:01:03 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Mike Mascari <mascarm@mascari.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209200405.g8K45RV12655@candle.pha.pa.us> <3D8AA4B2.8090507@mascari.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> Bruce Momjian wrote: -> ->> Mike Mascari wrote: ->> ->>> I will do some testing with concurrency and let you know. But don't ->>> get your hopes up. This is one of the many advantages that ->>> TABLESPACEs have when more than one relation is stored in a single ->>> DATAFILE. There was Oracle for MS-DOS, after all.. ->> ->> ->> ->> I was focusing on handling of pg_pwd and other config file that are ->> written by various backend while other backends are reading them. The ->> actual data files should be OK because we have an exclusive lock when we ->> are adding/removing them. ->> -> -> OK. So you want to test: -> -> 1. Process 1 opens "foo" -> 2. Process 2 opens "foo" -> 3. Process 1 renames "foo" to "bar" -> 4. Process 2 can safely read from its open file handle - -Actually, looking at the pg_pwd code, you want to determine a -way for: - -1. Process 1 opens "foo" -2. Process 2 opens "foo" -3. Process 1 creates "bar" -4. Process 1 renames "bar" to "foo" -5. Process 2 can continue to read data from the open file handle -and get the original "foo" data. - -Is that correct? - -Mike Mascari -mascarm@mascari.com - - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M29181@postgresql.org Fri Sep 20 01:30:05 2002 -Return-path: <pgsql-hackers-owner+M29181@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5U2E20514 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 01:30:03 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id CDCF2476D1D; Fri, 20 Sep 2002 01:29:59 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id CB1CB476C00; Fri, 20 Sep 2002 01:29:57 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id D9372475FC6 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:29:52 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 21835475BF9 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:29:51 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8K5TYr20440; - Fri, 20 Sep 2002 01:29:34 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209200529.g8K5TYr20440@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8AAB8F.8010001@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 01:29:33 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> Actually, looking at the pg_pwd code, you want to determine a -> way for: -> -> 1. Process 1 opens "foo" -> 2. Process 2 opens "foo" -> 3. Process 1 creates "bar" -> 4. Process 1 renames "bar" to "foo" -> 5. Process 2 can continue to read data from the open file handle -> and get the original "foo" data. - -Yep, that's it. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M29182@postgresql.org Fri Sep 20 01:36:21 2002 -Return-path: <pgsql-hackers-owner+M29182@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5aJE21658 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 01:36:20 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 926CA4764F2; Fri, 20 Sep 2002 01:36:20 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 8F0E4475EEE; Fri, 20 Sep 2002 01:36:18 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 3A84C4769DA - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:36:14 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id E8DAA476413 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:36:12 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id BAA18679; - Fri, 20 Sep 2002 01:35:09 -0400 -Message-ID: <3D8AB39B.80708@mascari.com> -Date: Fri, 20 Sep 2002 01:35:23 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209200529.g8K5TYr20440@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Bruce Momjian wrote: -> Mike Mascari wrote: -> ->>Actually, looking at the pg_pwd code, you want to determine a ->>way for: ->> ->>1. Process 1 opens "foo" ->>2. Process 2 opens "foo" ->>3. Process 1 creates "bar" ->>4. Process 1 renames "bar" to "foo" ->>5. Process 2 can continue to read data from the open file handle ->>and get the original "foo" data. -> -> -> Yep, that's it. -> - -So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -returns "Access Denied" when Process 1 attempts the rename. But -I'm continuing to investigate the possibilities... - -Mike Mascari -mascarm@mascari.com - - - - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M29183@postgresql.org Fri Sep 20 01:50:47 2002 -Return-path: <pgsql-hackers-owner+M29183@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K5ojE22893 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id A8A20476D3B; Fri, 20 Sep 2002 01:50:46 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 70EBC476B1F; Fri, 20 Sep 2002 01:50:44 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 8B227475EEE - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:50:40 -0400 (EDT) -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by postgresql.org (Postfix) with ESMTP id AE58D476D2C - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 01:50:36 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id 709D1D61E; Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id 624665C02; Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -Date: Thu, 19 Sep 2002 22:50:36 -0700 (PDT) -From: Stephan Szabo <sszabo@megazone23.bigpanda.com> -To: Mike Mascari <mascarm@mascari.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8AB39B.80708@mascari.com> -Message-ID: <20020919224718.H36366-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Bruce Momjian wrote: -> > Mike Mascari wrote: -> > -> >>Actually, looking at the pg_pwd code, you want to determine a -> >>way for: -> >> -> >>1. Process 1 opens "foo" -> >>2. Process 2 opens "foo" -> >>3. Process 1 creates "bar" -> >>4. Process 1 renames "bar" to "foo" -> >>5. Process 2 can continue to read data from the open file handle -> >>and get the original "foo" data. -> > -> > -> > Yep, that's it. -> > -> -> So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -> returns "Access Denied" when Process 1 attempts the rename. But -> I'm continuing to investigate the possibilities... - -Does a sequence like -Process 1 opens "foo" -Process 2 opens "foo" -Process 1 creates "bar" -Process 1 renames "foo" to <something> - - where something is generated to not overlap an existing file -Process 1 renames "bar" to "foo" -Process 2 continues reading -let you do the replace and keep reading (at the penalty that -you've now got to have a way to know when to remove the -various <something>s) - - - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From mascarm@mascari.com Fri Sep 20 02:04:41 2002 -Return-path: <mascarm@mascari.com> -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K64WE24578 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 02:04:38 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id CAA18737; - Fri, 20 Sep 2002 02:03:29 -0400 -Message-ID: <3D8ABA3F.6030002@mascari.com> -Date: Fri, 20 Sep 2002 02:03:43 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo <sszabo@megazone23.bigpanda.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development - <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919224718.H36366-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: RO - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: ->>Bruce Momjian wrote: ->>>Mike Mascari wrote: ->>>>Actually, looking at the pg_pwd code, you want to determine a ->>>>way for: ->>>> ->>>>1. Process 1 opens "foo" ->>>>2. Process 2 opens "foo" ->>>>3. Process 1 creates "bar" ->>>>4. Process 1 renames "bar" to "foo" ->>>>5. Process 2 can continue to read data from the open file handle ->>>>and get the original "foo" data. ->>> ->>> ->>>Yep, that's it. ->>> ->> ->>So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) ->>returns "Access Denied" when Process 1 attempts the rename. But ->>I'm continuing to investigate the possibilities... -> -> -> Does a sequence like -> Process 1 opens "foo" -> Process 2 opens "foo" -> Process 1 creates "bar" -> Process 1 renames "foo" to <something> -> - where something is generated to not overlap an existing file -> Process 1 renames "bar" to "foo" -> Process 2 continues reading -> let you do the replace and keep reading (at the penalty that -> you've now got to have a way to know when to remove the -> various <something>s) - -Yes! Indeed that does work. - -Mike Mascari -mascarm@mascari.com - - -From pgsql-hackers-owner+M29185@postgresql.org Fri Sep 20 02:14:29 2002 -Return-path: <pgsql-hackers-owner+M29185@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K6ERE25614 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 02:14:27 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id B0200476D0C; Fri, 20 Sep 2002 02:14:26 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D323F47655C; Fri, 20 Sep 2002 02:14:24 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 9EEBF476D02 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 02:14:20 -0400 (EDT) -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by postgresql.org (Postfix) with ESMTP id 695B1475EAA - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 02:14:16 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id B10E9D61E; Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id A6B475C03; Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -Date: Thu, 19 Sep 2002 23:14:14 -0700 (PDT) -From: Stephan Szabo <sszabo@megazone23.bigpanda.com> -To: Mike Mascari <mascarm@mascari.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8ABA3F.6030002@mascari.com> -Message-ID: <20020919230827.A36505-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Stephan Szabo wrote: -> > On Fri, 20 Sep 2002, Mike Mascari wrote: -> >>So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -> >>returns "Access Denied" when Process 1 attempts the rename. But -> >>I'm continuing to investigate the possibilities... -> > -> > -> > Does a sequence like -> > Process 1 opens "foo" -> > Process 2 opens "foo" -> > Process 1 creates "bar" -> > Process 1 renames "foo" to <something> -> > - where something is generated to not overlap an existing file -> > Process 1 renames "bar" to "foo" -> > Process 2 continues reading -> > let you do the replace and keep reading (at the penalty that -> > you've now got to have a way to know when to remove the -> > various <something>s) -> -> Yes! Indeed that does work. - -Thinking back, I think that may still fail on Win95 (using MoveFile). -Once in the past I had to work on (un)installers for Win* and I -vaguely remember Win95 being more strict than Win98 but that may just -have been with moving the executable you're currently running. - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From mascarm@mascari.com Fri Sep 20 03:14:03 2002 -Return-path: <mascarm@mascari.com> -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8K7DwE00605 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 03:14:01 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id DAA18894; - Fri, 20 Sep 2002 03:13:06 -0400 -Message-ID: <3D8ACA96.80504@mascari.com> -Date: Fri, 20 Sep 2002 03:13:26 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo <sszabo@megazone23.bigpanda.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development - <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919230827.A36505-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -Status: RO - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: ->> ->>Yes! Indeed that does work. -> -> -> Thinking back, I think that may still fail on Win95 (using MoveFile). -> Once in the past I had to work on (un)installers for Win* and I -> vaguely remember Win95 being more strict than Win98 but that may just -> have been with moving the executable you're currently running. - -Well, here's the test: - -foo.txt contains "This is FOO!" -bar.txt contains "This is BAR!" - -Process 1 opens foo.txt -Process 2 opens foo.txt -Process 1 sleeps 7.5 seconds -Process 2 sleeps 15 seconds -Process 1 uses MoveFile() to rename "foo.txt" to "foo2.txt" -Process 1 uses MoveFile() to rename "bar.txt" to "foo.txt" -Process 1 uses DeleteFile() to remove "foo2.txt" -Process 2 awakens and displays "This is FOO!" - -On the filesystem, we then have: - -foo.txt containing "This is BAR!" - -The good news is that this works fine under NT 4 using just -MoveFile(). The bad news is that it requires the files be opened -using CreateFile() with the FILE_SHARE_DELETE flag set. The C -library which ships with Visual C++ 6 ultimately calls -CreateFile() via fopen() but with no opportunity through the -standard C library routines to use the FILE_SHARE_DELETE flag. -And the FILE_SHARE_DELETE flag cannot be used under Windows -95/98 (Bad Parameter). Which means, on those platforms, there -still doesn't appear to be a solution. Under NT/XP/2K, -AllocateFile() will have to modified to call CreateFile() -instead of fopen(). I'm not sure about ME, but I suspect it -behaves similarly to 95/98. - -Mike Mascari -mascarm@mascari.com - - - - - -From pgsql-hackers-owner+M29205@postgresql.org Fri Sep 20 10:36:48 2002 -Return-path: <pgsql-hackers-owner+M29205@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KEalE13770 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 10:36:47 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id BBC23476E72; Fri, 20 Sep 2002 10:35:40 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 00890476D13; Fri, 20 Sep 2002 10:35:31 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 5D2BC476D6D - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:30:17 -0400 (EDT) -Received: from sss.pgh.pa.us (unknown [192.204.191.242]) - by postgresql.org (Postfix) with ESMTP id B17FE476CD8 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:30:15 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g8KERq5D016068; - Fri, 20 Sep 2002 10:27:52 -0400 (EDT) -To: Stephan Szabo <sszabo@megazone23.bigpanda.com> -cc: Mike Mascari <mascarm@mascari.com>, Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <20020919224718.H36366-100000@megazone23.bigpanda.com> -References: <20020919224718.H36366-100000@megazone23.bigpanda.com> -Comments: In-reply-to Stephan Szabo <sszabo@megazone23.bigpanda.com> - message dated "Thu, 19 Sep 2002 22:50:36 -0700" -Date: Fri, 20 Sep 2002 10:27:52 -0400 -Message-ID: <16067.1032532072@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Stephan Szabo <sszabo@megazone23.bigpanda.com> writes: -> ... let you do the replace and keep reading (at the penalty that -> you've now got to have a way to know when to remove the -> various <something>s) - -That is the hard part. Mike's description omitted one crucial step: - -6. The old "foo" goes away when the last open file handle for it is -closed. - -I doubt there is any practical way for Postgres to cause that to happen -if the OS itself does not have any support for it. - - regards, tom lane - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29206@postgresql.org Fri Sep 20 10:37:53 2002 -Return-path: <pgsql-hackers-owner+M29206@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KEbpE13898 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 10:37:51 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 891F9476DC6; Fri, 20 Sep 2002 10:36:31 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 2207D476F07; Fri, 20 Sep 2002 10:36:22 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 90195476DD2 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:33:48 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 5ECE6476DB5 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:33:46 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KEVMg13344; - Fri, 20 Sep 2002 10:31:22 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201431.g8KEVMg13344@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8ACA96.80504@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 10:31:22 -0400 (EDT) -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - - -I don't think we are not going to be supporting Win9X so there isn't an -issue there. We will be supporting Win2000/NT/XP. - -I don't understand FILE_SHARE_DELETE. I read the description at: - - http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp - -but I don't understand it: - - FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on - the object will succeed only if delete access is requested. - ---------------------------------------------------------------------------- - -Mike Mascari wrote: -> Stephan Szabo wrote: -> > On Fri, 20 Sep 2002, Mike Mascari wrote: -> >> -> >>Yes! Indeed that does work. -> > -> > -> > Thinking back, I think that may still fail on Win95 (using MoveFile). -> > Once in the past I had to work on (un)installers for Win* and I -> > vaguely remember Win95 being more strict than Win98 but that may just -> > have been with moving the executable you're currently running. -> -> Well, here's the test: -> -> foo.txt contains "This is FOO!" -> bar.txt contains "This is BAR!" -> -> Process 1 opens foo.txt -> Process 2 opens foo.txt -> Process 1 sleeps 7.5 seconds -> Process 2 sleeps 15 seconds -> Process 1 uses MoveFile() to rename "foo.txt" to "foo2.txt" -> Process 1 uses MoveFile() to rename "bar.txt" to "foo.txt" -> Process 1 uses DeleteFile() to remove "foo2.txt" -> Process 2 awakens and displays "This is FOO!" -> -> On the filesystem, we then have: -> -> foo.txt containing "This is BAR!" -> -> The good news is that this works fine under NT 4 using just -> MoveFile(). The bad news is that it requires the files be opened -> using CreateFile() with the FILE_SHARE_DELETE flag set. The C -> library which ships with Visual C++ 6 ultimately calls -> CreateFile() via fopen() but with no opportunity through the -> standard C library routines to use the FILE_SHARE_DELETE flag. -> And the FILE_SHARE_DELETE flag cannot be used under Windows -> 95/98 (Bad Parameter). Which means, on those platforms, there -> still doesn't appear to be a solution. Under NT/XP/2K, -> AllocateFile() will have to modified to call CreateFile() -> instead of fopen(). I'm not sure about ME, but I suspect it -> behaves similarly to 95/98. -> -> Mike Mascari -> mascarm@mascari.com -> -> -> -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M29208@postgresql.org Fri Sep 20 11:30:26 2002 -Return-path: <pgsql-hackers-owner+M29208@postgresql.org> -Received: from west.navpoint.com (west.navpoint.com [207.106.42.13]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFUOE24840 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:30:25 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by west.navpoint.com (8.11.6/8.10.1) with ESMTP id g8KFBP217840 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:11:25 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id BD0D2476E5B; Fri, 20 Sep 2002 11:09:49 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 4691C476D5D; Fri, 20 Sep 2002 11:09:47 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 8341F475CB4 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:58:12 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id B1E1A474E5C - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 10:58:10 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id KAA20019; - Fri, 20 Sep 2002 10:56:39 -0400 -Message-ID: <3D8B373C.7060102@mascari.com> -Date: Fri, 20 Sep 2002 10:57:00 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <200209201431.g8KEVMg13344@candle.pha.pa.us> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Bruce Momjian wrote: -> I don't think we are not going to be supporting Win9X so there isn't an -> issue there. We will be supporting Win2000/NT/XP. -> -> I don't understand FILE_SHARE_DELETE. I read the description at: -> -> http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp -> -> but I don't understand it: -> -> FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on -> the object will succeed only if delete access is requested. - -I think that's a rather poor description. I think it just means -that if the file is opened once via CreateFile() with -FILE_SHARE_DELETE, then any subsequent CreateFile() calls will -fail unless they too have FILE_SHARE_DELETE. In other words, if -one of us can delete this file while its open, any of us can. - -Mike Mascari -mascarm@mascari.com - - - - - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From pgsql-hackers-owner+M29213@postgresql.org Fri Sep 20 11:30:47 2002 -Return-path: <pgsql-hackers-owner+M29213@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFUkE24923 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:30:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id DFE91476EA6; Fri, 20 Sep 2002 11:28:47 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 124F8476E95; Fri, 20 Sep 2002 11:28:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id C8ADF476F70 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:26:25 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id DC5BD476F53 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:26:19 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KF5ch17250; - Fri, 20 Sep 2002 11:05:38 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201505.g8KF5ch17250@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8B373C.7060102@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 11:05:38 -0400 (EDT) -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> Bruce Momjian wrote: -> > I don't think we are not going to be supporting Win9X so there isn't an -> > issue there. We will be supporting Win2000/NT/XP. -> > -> > I don't understand FILE_SHARE_DELETE. I read the description at: -> > -> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp -> > -> > but I don't understand it: -> > -> > FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on -> > the object will succeed only if delete access is requested. -> -> I think that's a rather poor description. I think it just means -> that if the file is opened once via CreateFile() with -> FILE_SHARE_DELETE, then any subsequent CreateFile() calls will -> fail unless they too have FILE_SHARE_DELETE. In other words, if -> one of us can delete this file while its open, any of us can. - -I don't understand what that gets us. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 4: Don't 'kill -9' the postmaster - -From sszabo@megazone23.bigpanda.com Fri Sep 20 11:29:09 2002 -Return-path: <sszabo@megazone23.bigpanda.com> -Received: from west.navpoint.com (west.navpoint.com [207.106.42.13]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFT6E24617 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:29:08 -0400 (EDT) -Received: from megazone.bigpanda.com (megazone.bigpanda.com [63.150.15.178]) - by west.navpoint.com (8.11.6/8.10.1) with ESMTP id g8KFBZ217956 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:11:35 -0400 (EDT) -Received: by megazone.bigpanda.com (Postfix, from userid 1001) - id 5F343D61C; Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -Received: from localhost (localhost [127.0.0.1]) - by megazone.bigpanda.com (Postfix) with ESMTP - id 54E705C02; Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -Date: Fri, 20 Sep 2002 08:10:19 -0700 (PDT) -From: Stephan Szabo <sszabo@megazone23.bigpanda.com> -To: Mike Mascari <mascarm@mascari.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8B373C.7060102@mascari.com> -Message-ID: <20020920080949.H40440-100000@megazone23.bigpanda.com> -MIME-Version: 1.0 -Content-Type: TEXT/PLAIN; charset=US-ASCII -Status: RO - -On Fri, 20 Sep 2002, Mike Mascari wrote: - -> Bruce Momjian wrote: -> > I don't think we are not going to be supporting Win9X so there isn't an -> > issue there. We will be supporting Win2000/NT/XP. -> > -> > I don't understand FILE_SHARE_DELETE. I read the description at: -> > -> > http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/base/createfile.asp -> > -> > but I don't understand it: -> > -> > FILE_SHARE_DELETE - Windows NT/2000/XP: Subsequent open operations on -> > the object will succeed only if delete access is requested. -> -> I think that's a rather poor description. I think it just means -> that if the file is opened once via CreateFile() with -> FILE_SHARE_DELETE, then any subsequent CreateFile() calls will -> fail unless they too have FILE_SHARE_DELETE. In other words, if -> one of us can delete this file while its open, any of us can. - -The question is, what happens if two people have the file open -and one goes and tries to delete it? Can the other still read -from it? - - -From pgsql-hackers-owner+M29216@postgresql.org Fri Sep 20 11:45:47 2002 -Return-path: <pgsql-hackers-owner+M29216@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFjkE26656 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:45:46 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 75E01476DE2; Fri, 20 Sep 2002 11:44:30 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id E1897476E29; Fri, 20 Sep 2002 11:44:16 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 96D5C47625F - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:38:15 -0400 (EDT) -Received: from smtp017.mail.yahoo.com (smtp017.mail.yahoo.com [216.136.174.114]) - by postgresql.org (Postfix) with SMTP id B00BA476225 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:38:14 -0400 (EDT) -Received: from psc.progress.com (HELO Yahoo.com) (janwieck@192.233.92.200 with plain) - by smtp.mail.vip.sc5.yahoo.com with SMTP; 20 Sep 2002 15:36:41 -0000 -Message-ID: <3D8B4087.AF0CD803@Yahoo.com> -Date: Fri, 20 Sep 2002 11:36:39 -0400 -From: Jan Wieck <JanWieck@Yahoo.com> -Organization: Home -X-Mailer: Mozilla 4.79 [en] (Windows NT 5.0; U) -X-Accept-Language: en,ru -MIME-Version: 1.0 -To: Mike Mascari <mascarm@mascari.com> -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020919230827.A36505-100000@megazone23.bigpanda.com> <3D8ACA96.80504@mascari.com> -Content-Type: text/plain; charset=us-ascii -Content-Transfer-Encoding: 7bit -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: - -> instead of fopen(). I'm not sure about ME, but I suspect it -> behaves similarly to 95/98. - -I just checked with Katie and the good news (tm) is that the Win32 port -we did here at PeerDirect doesn't support 95/98 and ME anyway. It does -support NT4, 2000 and XP. So don't bother. - - -Jan - --- - -#======================================================================# -# It's easier to get forgiveness for being wrong than for being right. # -# Let's break this rule - forgive me. # -#================================================== JanWieck@Yahoo.com # - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From pgsql-hackers-owner+M29222@postgresql.org Fri Sep 20 11:59:16 2002 -Return-path: <pgsql-hackers-owner+M29222@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFxEE28389 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:59:15 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 156F6476EFA; Fri, 20 Sep 2002 11:58:59 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 00F87476EE5; Fri, 20 Sep 2002 11:58:56 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 48990475E5E - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:57:18 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id F3EF1475D6E - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:57:16 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id LAA20244; - Fri, 20 Sep 2002 11:54:31 -0400 -Message-ID: <3D8B44CC.6070802@mascari.com> -Date: Fri, 20 Sep 2002 11:54:52 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: Stephan Szabo <sszabo@megazone23.bigpanda.com> -cc: Bruce Momjian <pgman@candle.pha.pa.us>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020920080949.H40440-100000@megazone23.bigpanda.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Stephan Szabo wrote: -> On Fri, 20 Sep 2002, Mike Mascari wrote: -> -> ->>I think that's a rather poor description. I think it just means ->>that if the file is opened once via CreateFile() with ->>FILE_SHARE_DELETE, then any subsequent CreateFile() calls will ->>fail unless they too have FILE_SHARE_DELETE. In other words, if ->>one of us can delete this file while its open, any of us can. -> -> -> The question is, what happens if two people have the file open -> and one goes and tries to delete it? Can the other still read -> from it? - -Yes. I just tested it and it worked. I'll test Bruce's scenario -as well: - -foo contains: "FOO" -bar contains: "BAR" - -1. Process 1 opens "foo" -2. Process 2 opens "foo" -3. Process 1 calls MoveFile("foo", "foo2"); -4. Process 3 opens "foo" <- Successful? -5. Process 1 calls MoveFile("bar", "foo"); -6. Process 4 opens "foo" <- Successful? -7. Process 1 calls DeleteFile("foo2"); -8. Process 1, 2, 3, 4 all read from their respective handles. - -I think the thing to worry about is a race condition between the -two MoveFile() attempts. A very ugly hack would be to loop in a -CreateFile() in an attempt to open "foo", giving up if the error -is not a NOT EXISTS error code. - -Mike Mascari -mascarm@mascari.com - - ----------------------------(end of broadcast)--------------------------- -TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org - -From pgsql-hackers-owner+M29230@postgresql.org Fri Sep 20 13:12:45 2002 -Return-path: <pgsql-hackers-owner+M29230@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KHChE07387 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 13:12:44 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 54F85476F77; Fri, 20 Sep 2002 13:01:57 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 1CC51476F67; Fri, 20 Sep 2002 13:01:39 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id B253B476148 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 12:29:02 -0400 (EDT) -Received: from corvette.mascari.com (dhcp065-024-158-068.columbus.rr.com [65.24.158.68]) - by postgresql.org (Postfix) with ESMTP id 7F8FC476135 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 12:29:01 -0400 (EDT) -Received: from mascari.com (ferrari.mascari.com [192.168.2.1]) - by corvette.mascari.com (8.9.3/8.9.3) with ESMTP id MAA20365; - Fri, 20 Sep 2002 12:27:10 -0400 -Message-ID: <3D8B4C74.2050708@mascari.com> -Date: Fri, 20 Sep 2002 12:27:32 -0400 -From: Mike Mascari <mascarm@mascari.com> -User-Agent: Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 -X-Accept-Language: en-us, en -MIME-Version: 1.0 -To: PostgreSQL-development <pgsql-hackers@postgresql.org> -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - Bruce Momjian <pgman@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -References: <20020920080949.H40440-100000@megazone23.bigpanda.com> <3D8B44CC.6070802@mascari.com> -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-MailScanner: Found to be clean -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: ROr - -I wrote: -> Stephan Szabo wrote: - >> ->> The question is, what happens if two people have the file open ->> and one goes and tries to delete it? Can the other still read ->> from it? -> -> Yes. I just tested it and it worked. I'll test Bruce's scenario as well: -> -> foo contains: "FOO" -> bar contains: "BAR" -> -> 1. Process 1 opens "foo" -> 2. Process 2 opens "foo" -> 3. Process 1 calls MoveFile("foo", "foo2"); -> 4. Process 3 opens "foo" <- Successful? -> 5. Process 1 calls MoveFile("bar", "foo"); -> 6. Process 4 opens "foo" <- Successful? -> 7. Process 1 calls DeleteFile("foo2"); -> 8. Process 1, 2, 3, 4 all read from their respective handles. - -Process 1: "FOO" -Process 2: "FOO" -Process 3: Error - File does not exist -Process 4: "BAR" - -Its interesting in that it allows for Unix-style rename() and -unlink() behavior, but with a race condition. Without Stephan's -two MoveFile() trick and the FILE_SHARE_DELETE flag, however, -the result would be Access Denied. Are the places in the backend -that use rename() and unlink() renaming and unlinking files that -are only opened for a brief moment by other backends? - -Mike Mascari -mascarm@mascari.com - - ----------------------------(end of broadcast)--------------------------- -TIP 6: Have you searched our list archives? - -http://archives.postgresql.org - -From pgsql-hackers-owner+M29235@postgresql.org Fri Sep 20 13:38:05 2002 -Return-path: <pgsql-hackers-owner+M29235@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KHc3E18565 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 13:38:04 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id D4B2C4764A8; Fri, 20 Sep 2002 13:38:01 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id D071B476173; Fri, 20 Sep 2002 13:37:59 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 6DD60476791 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 13:33:56 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id C679F476272 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 13:33:54 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KHVRu17060; - Fri, 20 Sep 2002 13:31:27 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201731.g8KHVRu17060@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8B4C74.2050708@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 13:31:27 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, - Stephan Szabo <sszabo@megazone23.bigpanda.com> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> Its interesting in that it allows for Unix-style rename() and -> unlink() behavior, but with a race condition. Without Stephan's -> two MoveFile() trick and the FILE_SHARE_DELETE flag, however, -> the result would be Access Denied. Are the places in the backend -> that use rename() and unlink() renaming and unlinking files that -> are only opened for a brief moment by other backends? - -Yes, those files are only opened for a brief moment. They are not held -open. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 2: you can get off all lists at once with the unregister command - (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) - -From pgsql-hackers-owner+M29237@postgresql.org Fri Sep 20 13:57:39 2002 -Return-path: <pgsql-hackers-owner+M29237@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KHvcE21846 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 13:57:38 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 1EC6A4762C8; Fri, 20 Sep 2002 13:57:36 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 321B14760E8; Fri, 20 Sep 2002 13:57:34 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id CD7E8476D24 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 13:54:48 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 0C6034762C8 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 13:54:47 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KHrnp21564; - Fri, 20 Sep 2002 13:53:49 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201753.g8KHrnp21564@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questions -In-Reply-To: <3D8B4C74.2050708@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 13:53:49 -0400 (EDT) -cc: PostgreSQL-development <pgsql-hackers@postgresql.org>, - Stephan Szabo <sszabo@megazone23.bigpanda.com> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Mike Mascari wrote: -> > foo contains: "FOO" -> > bar contains: "BAR" -> > -> > 1. Process 1 opens "foo" -> > 2. Process 2 opens "foo" -> > 3. Process 1 calls MoveFile("foo", "foo2"); -> > 4. Process 3 opens "foo" <- Successful? -> > 5. Process 1 calls MoveFile("bar", "foo"); -> > 6. Process 4 opens "foo" <- Successful? -> > 7. Process 1 calls DeleteFile("foo2"); -> > 8. Process 1, 2, 3, 4 all read from their respective handles. -> -> Process 1: "FOO" -> Process 2: "FOO" -> Process 3: Error - File does not exist -> Process 4: "BAR" -> -> Its interesting in that it allows for Unix-style rename() and -> unlink() behavior, but with a race condition. Without Stephan's -> two MoveFile() trick and the FILE_SHARE_DELETE flag, however, -> the result would be Access Denied. Are the places in the backend -> that use rename() and unlink() renaming and unlinking files that -> are only opened for a brief moment by other backends? - -I think we are better off looping over -MoveFileEx(MOVEFILE_REPLACE_EXISTING) until the file isn't opened by -anyone. That localizes the changes to rename only and not out to all -the opens. - -The open failure loops when the file isn't there seem much worse. - -I am a little concerned about starving the rename when there is a lot of -activity but I don't see a better solution. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-owner+M29214@postgresql.org Fri Sep 20 11:31:33 2002 -Return-path: <pgsql-hackers-owner+M29214@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFVWE25017 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:31:32 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id D2062476F4F; Fri, 20 Sep 2002 11:29:20 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 1A194476EED; Fri, 20 Sep 2002 11:29:18 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id 6C448476F71 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:26:26 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id 2AA7E476F65 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:26:24 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KF4rj17150; - Fri, 20 Sep 2002 11:04:53 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201504.g8KF4rj17150@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questionst -In-Reply-To: <3D8ABA3F.6030002@mascari.com> -To: Mike Mascari <mascarm@mascari.com> -Date: Fri, 20 Sep 2002 11:04:53 -0400 (EDT) -cc: Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - - -It is good that moving the file out of the way works, but it doesn't -completely solve the problem. - -What we have now with Unix rename is ideal: - - 1) old opens continue seeing the old contents - 2) new opens see the new contents - 3) the file always exists under the fixed name - -We have that with MoveFileEx(), but we have to loop over the routine -until is succeeds. If we move the old file out of the way, we loose the -ability to know the file always exists and then we have to loop over -open() until is succeeds. - -I think we may be best just looping on MoveFileEx() until is succeeds. -We do the pg_pwd writes while holding an exclusive lock on pg_shadow so -that will guarantee that no one else will slip an old version of the -file in after we have written it. However, it also prevents pg_shadow -access while we are doing the looping. Yuck. - ---------------------------------------------------------------------------- - -Mike Mascari wrote: -> Stephan Szabo wrote: -> > On Fri, 20 Sep 2002, Mike Mascari wrote: -> >>Bruce Momjian wrote: -> >>>Mike Mascari wrote: -> >>>>Actually, looking at the pg_pwd code, you want to determine a -> >>>>way for: -> >>>> -> >>>>1. Process 1 opens "foo" -> >>>>2. Process 2 opens "foo" -> >>>>3. Process 1 creates "bar" -> >>>>4. Process 1 renames "bar" to "foo" -> >>>>5. Process 2 can continue to read data from the open file handle -> >>>>and get the original "foo" data. -> >>> -> >>> -> >>>Yep, that's it. -> >>> -> >> -> >>So far, MoveFileEx("foo", "bar", MOVEFILE_REPLACE_EXISTING) -> >>returns "Access Denied" when Process 1 attempts the rename. But -> >>I'm continuing to investigate the possibilities... -> > -> > -> > Does a sequence like -> > Process 1 opens "foo" -> > Process 2 opens "foo" -> > Process 1 creates "bar" -> > Process 1 renames "foo" to <something> -> > - where something is generated to not overlap an existing file -> > Process 1 renames "bar" to "foo" -> > Process 2 continues reading -> > let you do the replace and keep reading (at the penalty that -> > you've now got to have a way to know when to remove the -> > various <something>s) -> -> Yes! Indeed that does work. -> -> Mike Mascari -> mascarm@mascari.com -> -> -> ---------------------------(end of broadcast)--------------------------- -> TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org -> - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - -http://www.postgresql.org/users-lounge/docs/faq.html - -From tgl@sss.pgh.pa.us Fri Sep 20 11:50:26 2002 -Return-path: <tgl@sss.pgh.pa.us> -Received: from sss.pgh.pa.us (root@[192.204.191.242]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KFoOE27327 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 11:50:25 -0400 (EDT) -Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) - by sss.pgh.pa.us (8.12.5/8.12.5) with ESMTP id g8KFoH5D016740; - Fri, 20 Sep 2002 11:50:17 -0400 (EDT) -To: Bruce Momjian <pgman@candle.pha.pa.us> -cc: Mike Mascari <mascarm@mascari.com>, - Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -Subject: Re: [HACKERS] Win32 rename()/unlink() questionst -In-Reply-To: <200209201504.g8KF4rj17150@candle.pha.pa.us> -References: <200209201504.g8KF4rj17150@candle.pha.pa.us> -Comments: In-reply-to Bruce Momjian <pgman@candle.pha.pa.us> - message dated "Fri, 20 Sep 2002 11:04:53 -0400" -Date: Fri, 20 Sep 2002 11:50:17 -0400 -Message-ID: <16739.1032537017@sss.pgh.pa.us> -From: Tom Lane <tgl@sss.pgh.pa.us> -Status: ROr - -Bruce Momjian <pgman@candle.pha.pa.us> writes: -> I think we may be best just looping on MoveFileEx() until is succeeds. -> We do the pg_pwd writes while holding an exclusive lock on pg_shadow so -> that will guarantee that no one else will slip an old version of the -> file in after we have written it. However, it also prevents pg_shadow -> access while we are doing the looping. Yuck. - -Surely you're not evaluating this on the assumption that the pg_shadow -triggers are the only places that use rename() ? - -I see other places in pgstat and relcache that expect rename() to work -per Unix spec. - - regards, tom lane - -From pgsql-hackers-owner+M29223@postgresql.org Fri Sep 20 12:04:21 2002 -Return-path: <pgsql-hackers-owner+M29223@postgresql.org> -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by candle.pha.pa.us (8.11.6/8.10.1) with ESMTP id g8KG06E28547 - for <pgman@candle.pha.pa.us>; Fri, 20 Sep 2002 12:04:20 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP - id 0545E476F46; Fri, 20 Sep 2002 11:59:27 -0400 (EDT) -Received: from postgresql.org (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with SMTP - id 17069476EA0; Fri, 20 Sep 2002 11:59:24 -0400 (EDT) -Received: from localhost (postgresql.org [64.49.215.8]) - by postgresql.org (Postfix) with ESMTP id DDE66476791 - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:57:45 -0400 (EDT) -Received: from candle.pha.pa.us (momjian.navpoint.com [207.106.42.251]) - by postgresql.org (Postfix) with ESMTP id C7B5F4762DE - for <pgsql-hackers@postgresql.org>; Fri, 20 Sep 2002 11:57:43 -0400 (EDT) -Received: (from pgman@localhost) - by candle.pha.pa.us (8.11.6/8.10.1) id g8KFu2k28023; - Fri, 20 Sep 2002 11:56:02 -0400 (EDT) -From: Bruce Momjian <pgman@candle.pha.pa.us> -Message-ID: <200209201556.g8KFu2k28023@candle.pha.pa.us> -Subject: Re: [HACKERS] Win32 rename()/unlink() questionst -In-Reply-To: <16739.1032537017@sss.pgh.pa.us> -To: Tom Lane <tgl@sss.pgh.pa.us> -Date: Fri, 20 Sep 2002 11:56:02 -0400 (EDT) -cc: Mike Mascari <mascarm@mascari.com>, - Stephan Szabo <sszabo@megazone23.bigpanda.com>, - PostgreSQL-development <pgsql-hackers@postgresql.org> -X-Mailer: ELM [version 2.4ME+ PL99 (25)] -MIME-Version: 1.0 -Content-Transfer-Encoding: 7bit -Content-Type: text/plain; charset=US-ASCII -X-Virus-Scanned: by AMaViS new-20020517 -Precedence: bulk -Sender: pgsql-hackers-owner@postgresql.org -X-Virus-Scanned: by AMaViS new-20020517 -Status: RO - -Tom Lane wrote: -> Bruce Momjian <pgman@candle.pha.pa.us> writes: -> > I think we may be best just looping on MoveFileEx() until is succeeds. -> > We do the pg_pwd writes while holding an exclusive lock on pg_shadow so -> > that will guarantee that no one else will slip an old version of the -> > file in after we have written it. However, it also prevents pg_shadow -> > access while we are doing the looping. Yuck. -> -> Surely you're not evaluating this on the assumption that the pg_shadow -> triggers are the only places that use rename() ? -> -> I see other places in pgstat and relcache that expect rename() to work -> per Unix spec. - -Yes, I know there are others but I think we will need _a_ rename that -works 100% and then replace that in all Win32 rename cases. - -Given what I have seen, I think a single rename with a loop that uses -MoveFileEx() may be our best bet. It is localized, doesn't affect the -open() code, and should work well. The only downside is that under -heavy read activity the loop will loop around a few times but I just -don't see another solution. - -I was initially concerned that the loop in rename could let old renames -update the file overwriting newer contents but I realize now that -rename() itself has the same issue (an old rename could hit in the code -after a newer rename) so in all cases we must already have the proper -locking in place. - --- - Bruce Momjian | http://candle.pha.pa.us - pgman@candle.pha.pa.us | (610) 359-1001 - + If your life is a hard drive, | 13 Roberts Road - + Christ can be your backup. | Newtown Square, Pennsylvania 19073 - ----------------------------(end of broadcast)--------------------------- -TIP 3: if posting/reading through Usenet, please send an appropriate -subscribe-nomail command to majordomo@postgresql.org so that your -message can get through to the mailing list cleanly - -From pgsql-hackers-win32-owner+M201@postgresql.org Tue Nov 11 15:00:07 2003 -Return-path: <pgsql-hackers-win32-owner+M201@postgresql.org> -Received: from noon.pghoster.com ([64.246.0.64]) - by candle.pha.pa.us (8.11.6/8.11.6) with ESMTP id hABK01q22399 - for <pgman@candle.pha.pa.us>; Tue, 11 Nov 2003 15:00:04 -0500 (EST) -Received: from svr1.postgresql.org ([200.46.204.71] helo=postgresql.org) - by noon.pghoster.com with esmtp (Exim 4.20) - id 1AJefU-0007cv-4L; Tue, 11 Nov 2003 13:59:16 -0600 -X-Original-To: pgsql-hackers-win32-postgresql.org@localhost.postgresql.org -Received: from localhost (unknown [200.46.204.2]) - by svr1.postgresql.org (Postfix) with ESMTP id 79C28D1B537 - for <pgsql-hackers-win32-postgresql.org@localhost.postgresql.org>; Tue, 11 Nov 2003 19:59:09 +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 12494-07 - for <pgsql-hackers-win32-postgresql.org@localhost.postgresql.org>; - Tue, 11 Nov 2003 15:58:39 -0400 (AST) -Received: from cuthbert.rcsinc.local (unknown [205.217.85.91]) - by svr1.postgresql.org (Postfix) with ESMTP id 3798FD1B50D - for <pgsql-hackers-win32@postgresql.org>; Tue, 11 Nov 2003 15:58:37 -0400 (AST) -Content-Class: urn:content-classes:message -MIME-Version: 1.0 -Content-Type: text/plain; - charset="us-ascii" -Subject: [pgsql-hackers-win32] CreateProcess vs. CreateThread (was: Committing Resources to Win32) -X-MimeOLE: Produced By Microsoft Exchange V6.0.6375.0 -Date: Tue, 11 Nov 2003 14:58:23 -0500 -Message-ID: <303E00EBDD07B943924382E153890E5434AA08@cuthbert.rcsinc.local> -Thread-Topic: CreateProcess vs. CreateThread (was: Committing Resources to Win32) -Thread-Index: AcOocYEp+LfkD1VdRtuF8Post6o+9gACl8Hg -From: "Merlin Moncure" <merlin.moncure@rcsonline.com> -To: "Joshua D. Drake" <jd@commandprompt.com> -cc: <pgsql-hackers-win32@postgresql.org> -X-Virus-Scanned: by amavisd-new at postgresql.org -X-Mailing-List: pgsql-hackers-win32 -Precedence: bulk -Sender: pgsql-hackers-win32-owner@postgresql.org -X-AntiAbuse: This header was added to track abuse, please include it with any abuse report -X-AntiAbuse: Primary Hostname - noon.pghoster.com -X-AntiAbuse: Original Domain - candle.pha.pa.us -X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] -X-AntiAbuse: Sender Address Domain - postgresql.org -Content-Transfer-Encoding: 8bit -X-MIME-Autoconverted: from quoted-printable to 8bit by candle.pha.pa.us id hABK01q22399 -Status: OR - -Joshua D. Drake wrote: -> >problem is the ipc-daemon which has a tendency to crash. It seems -> >slower on writes, but that is strictly anecdotal. With synching off, -it -> >hums along happily. -> > -> It is slower on rights, connection startup, limited on connections, -> tcp/ip transfer and you should -> never run PostgreSQL with sync off unless you are not worried about -data -> integrity. - -I agree 100%. See notes below. - -> >The perceived win32 process management problems are a total red -herring. -> > -> > -> I disagree... read the other posts. CreateProcess does not scale like -> CreateThread. - -Here is a good resource comparing process creation on Linux and NT (with -source). - -http://www-106.ibm.com/developerworks/linux/library/l-rt7/?t=gr,Redhat=T -headsMgt - -NT can create 150 processes/sec (vs. 300+ on Linux 2.4.2). Even with -the slower process creation time, most postgres applications will spend -a tiny fraction of their time inside process creation. Again, this is -much more relevant to a web server than a database server. Compile and -run the code supplied in the link if you don't believe me (and I don't -expect you to :)). - -My point about cygwin was to try and illustrate that the performance -problems wrt postgres on win32 are almost certainly going to be I/O -based, not process based (as evidenced by the decent performance with -fsync=off), and this is due to the way files are synched (somebody -correct me if I'm wrong on this point). I would hate to see you spend a -bunch of time implementing threading only to find out you are better off -than with the cygwin version. In case I am wrong, it might be -informative to fire up a threaded port to see if the end justifies the -means. The best apples to apples comparison is to run cygwin/peerdirect -fsync=off vs. linux fsync=off. This is not useful in a production -sense, but will help tell the relative performance wrt threads vs. -processes. - -My gut tells me the proper path is to: -1. Implement no frills process based port to win32 based on (as much as -possible) native sources and native build environment. -2. Troubleshoot specific performance problems, which will most likely be -on the I/O side. Fixing them may ultimately lead to api level file -calls (possibly including asynch I/O) on win32, which may be the only -way that platform will ever run postgres as good as on the unix side of -things. - -Regards, -Merlin - ----------------------------(end of broadcast)--------------------------- -TIP 5: Have you checked our extensive FAQ? - - http://www.postgresql.org/docs/faqs/FAQ.html - -- GitLab