On 2016-03-31 00:17:12 -0400, Tom Lane wrote:
> Craig Ringer <craig@2ndquadrant.com> writes:
> > On 31 March 2016 at 07:49, Josh berkus <josh@agliodbs.com> wrote:
> >> So, can we stop supporting Windows native now?
>
> > Why would we want to?
>
> > The cost is small.
>
> Surely you jest. Windows is the single biggest PITA platform from a
> portability perspective, and has been in every release cycle since we
> first had a Windows port, and there is no close second.
I think to a good degree this is caused by a lot of the windows specific
code systematically having a lower code quality than the rest of
PG. Partially that's because it's code you don't stumble upon: If you
read recv() in code somewher, you're not immediately continuing to read
pgwin32_recv(). But a look at it'll make pretty much anybody weep.
Besides a lot of it being halfway hidden away in port/, another issue is
that people just see it as portability hacks, deserving less attention.
If you want to make win32 a reasonable postgres port, you'd have to
clean up a lot of stuff. We've had fundamental issues with the windows
event models for *years* without anybody even taking a stab at fixing
it.
Greetings,
Andres Freund