Обсуждение: PostgreSQL win32 & NT4
Hi! I'm looking at a way to "fix" the issues with admin privileges on Win32 - specifically by finding a way to give up all admin stuff before the server starts, when possible (and otherwise fail just as today). I think I can do this. However, it is not possible to do this in a way that's compatible with NT4. The APIs werent' created then. So from this, I see two ways to proceed: 1) Do it in a Windows 2000+ way. This will once and for all break compatibility with NT4 - pg simply will not work any more. 2) Code around it by dynamically loading these functions when available. With this solution it will still run on NT4 - without this capability. It will however be quite a bit more code, since all the functions have to be loaded at runtime. Now (2) can be done, and it's not hugely much more code for this change. But the amount of places with issues will continue to go up, and eventually we're going to have to pull the plug, IMHO. The question is - is it time to do it now? Or do we wait until we hit a change that leaves us no choice at all? (Oh, and as everybody knows, NT4 isn't supported by Microsoft any more, see http://www.microsoft.com/ntserver/ProductInfo/Availability/Retiring.asp) Comments? //Magnus
NT4 is officially dead, IMHO no need for PostgreSQL to officially support it, let's leave place for companies offering commercial postgresql versions to work on it if they have enough customer requests. BTW Win 2000 is more or less 6 years old now ... Regards Paolo "Magnus Hagander" <mha@sollentuna.net> ha scritto > Hi! > > I'm looking at a way to "fix" the issues with admin privileges on Win32 > - specifically by finding a way to give up all admin stuff before the > server starts, when possible (and otherwise fail just as today). > > I think I can do this. However, it is not possible to do this in a way > that's compatible with NT4. The APIs werent' created then. So from this, > I see two ways to proceed: > > 1) Do it in a Windows 2000+ way. This will once and for all break > compatibility with NT4 - pg simply will not work any more. > > 2) Code around it by dynamically loading these functions when available. > With this solution it will still run on NT4 - without this capability. > It will however be quite a bit more code, since all the functions have > to be loaded at runtime. > > > > Now (2) can be done, and it's not hugely much more code for this change. > But the amount of places with issues will continue to go up, and > eventually we're going to have to pull the plug, IMHO. The question is - > is it time to do it now? Or do we wait until we hit a change that leaves > us no choice at all? > > (Oh, and as everybody knows, NT4 isn't supported by Microsoft any more, > see > http://www.microsoft.com/ntserver/ProductInfo/Availability/Retiring.asp) > > > Comments? > > //Magnus > > ---------------------------(end of broadcast)--------------------------- > TIP 3: Have you checked our extensive FAQ? > > http://www.postgresql.org/docs/faq >
""Magnus Hagander"" <mha@sollentuna.net> wrote > > I'm looking at a way to "fix" the issues with admin privileges on Win32 > - specifically by finding a way to give up all admin stuff before the > server starts, when possible (and otherwise fail just as today). > So this will let an admin startup Postgres ... I got a question -- if it can give up all admin stuff, can it reclaim later? Regards, Qingqing
> > I'm looking at a way to "fix" the issues with admin privileges on > > Win32 > > - specifically by finding a way to give up all admin stuff > before the > > server starts, when possible (and otherwise fail just as today). > > > > So this will let an admin startup Postgres ... I got a > question -- if it can give up all admin stuff, can it reclaim later? Depends on how you do it. You can do it in a way that it cannot be reclaimed, which is the only one we'd be interested in. To do this it has to be implemented in a combination of pg_ctl and postmaster. Actually, you can do it three ways: 1) Can be reclaimed. 2) Can't be reclaimed, but you can create a new token using a different user - *IFF* you have the username/password for this. 3) Can't be reclaimed, can't change your token in any way at all, no matter what you do. This does not work in all scenarios (for example, it doesn't work if the process was already started by runas) //Magnus
pmagnoli@systemevolution.it wrote: > NT4 is officially dead, IMHO no need for PostgreSQL to officially support it, > let's leave place for companies offering commercial postgresql versions to > work on it if they have enough customer requests. > BTW Win 2000 is more or less 6 years old now ... Agreed. If they are using NT4 they certainly should be happy using PostgreSQL 8.1.X. So, we will have an NT4 solution, it just won't be our most recent major release. -- 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, Pennsylvania19073
Bruce Momjian wrote: > pmagnoli@systemevolution.it wrote: >> NT4 is officially dead, IMHO no need for PostgreSQL to officially support it, >> let's leave place for companies offering commercial postgresql versions to >> work on it if they have enough customer requests. >> BTW Win 2000 is more or less 6 years old now ... I believe Microsoft has an official 10 year support policy. Although the don't backport all features (which makes sense). > > Agreed. If they are using NT4 they certainly should be happy using > PostgreSQL 8.1.X. So, we will have an NT4 solution, it just won't be > our most recent major release. > -- The PostgreSQL Company - Command Prompt, Inc. 1.503.667.4564 PostgreSQL Replication, Consulting, Custom Development, 24x7 support Managed Services, Shared and Dedicated Hosting Co-Authors: PLphp, PLperl - http://www.commandprompt.com/
> >> NT4 is officially dead, IMHO no need for PostgreSQL to officially > >> support it, let's leave place for companies offering commercial > >> postgresql versions to work on it if they have enough > customer requests. > >> BTW Win 2000 is more or less 6 years old now ... > I believe Microsoft has an official 10 year support policy. > Although the don't backport all features (which makes sense). They're 10 years for "extended support". Only 5 years for "mainstream support", meaning it has already passed. The difference? You can no longer get a hotfix unless you have a specific "hotfix agreement", that you have to buy separate. You don't get any no-charge incident support (that would be support-because-of-a-bug). You don't get to make any feature requests (though seriously, they hardly ever listen to you unless you're really big anyway). And you don't get any "warranty claims", whatever that means in reality. You do, however, get paid support and security hotfixes. //Magnus
Magnus Hagander wrote: > > >> NT4 is officially dead, IMHO no need for PostgreSQL to officially > > >> support it, let's leave place for companies offering commercial > > >> postgresql versions to work on it if they have enough > > customer requests. > > >> BTW Win 2000 is more or less 6 years old now ... > > I believe Microsoft has an official 10 year support policy. > > Although the don't backport all features (which makes sense). > > They're 10 years for "extended support". Only 5 years for "mainstream > support", meaning it has already passed. > > The difference? You can no longer get a hotfix unless you have a > specific "hotfix agreement", that you have to buy separate. You don't > get any no-charge incident support (that would be > support-because-of-a-bug). You don't get to make any feature requests > (though seriously, they hardly ever listen to you unless you're really > big anyway). And you don't get any "warranty claims", whatever that > means in reality. > > You do, however, get paid support and security hotfixes. I think you know a little _too_ much about Microsoft support. :-) -- 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, Pennsylvania19073