diff options
-rw-r--r-- | doc/src/sgml/install-windows.sgml | 9 | ||||
-rw-r--r-- | doc/src/sgml/installation.sgml | 9 | ||||
-rw-r--r-- | src/backend/main/main.c | 17 | ||||
-rw-r--r-- | src/backend/utils/adt/pg_locale.c | 4 | ||||
-rw-r--r-- | src/bin/pg_ctl/pg_ctl.c | 26 | ||||
-rw-r--r-- | src/include/port/win32.h | 17 |
6 files changed, 13 insertions, 69 deletions
diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml index bcfd5a1a106..66567d17a04 100644 --- a/doc/src/sgml/install-windows.sgml +++ b/doc/src/sgml/install-windows.sgml @@ -82,11 +82,7 @@ as well as standalone Windows SDK releases 8.1a to 10. 64-bit PostgreSQL builds are supported with <productname>Microsoft Windows SDK</productname> version 8.1a to 10 or - <productname>Visual Studio 2013</productname> and above. Compilation - is supported down to <productname>Windows 7</productname> and - <productname>Windows Server 2008 R2 SP1</productname> when building with - <productname>Visual Studio 2013</productname> to - <productname>Visual Studio 2022</productname>. + <productname>Visual Studio 2013</productname> and above. <!-- For 2013 requirements: https://docs.microsoft.com/en-us/visualstudio/productinfo/vs2013-sysrequirements-vs @@ -358,8 +354,7 @@ $ENV{MSBFLAGS}="/m"; <title>Special Considerations for 64-Bit Windows</title> <para> - PostgreSQL will only build for the x64 architecture on 64-bit Windows, there - is no support for Itanium processors. + PostgreSQL will only build for the x64 architecture on 64-bit Windows. </para> <para> diff --git a/doc/src/sgml/installation.sgml b/doc/src/sgml/installation.sgml index c5850780291..c12de7896c5 100644 --- a/doc/src/sgml/installation.sgml +++ b/doc/src/sgml/installation.sgml @@ -2136,7 +2136,7 @@ export MANPATH <para> <productname>PostgreSQL</productname> can be expected to work on these operating - systems: Linux (all recent distributions), Windows (XP and later), + systems: Linux (all recent distributions), Windows (10 and later), FreeBSD, OpenBSD, NetBSD, macOS, AIX, HP/UX, and Solaris. Other Unix-like systems may also work but are not currently being tested. In most cases, all CPU architectures supported by @@ -2323,16 +2323,15 @@ ERROR: could not load library "/opt/dbs/pgsql/lib/plperl.so": Bad address <listitem> <para> The <command>adduser</command> command is not supported; use - the appropriate user management application on Windows NT, - 2000, or XP. Otherwise, skip this step. + the appropriate user management application on Windows. + Otherwise, skip this step. </para> </listitem> <listitem> <para> The <command>su</command> command is not supported; use ssh to - simulate su on Windows NT, 2000, or XP. Otherwise, skip this - step. + simulate su on Windows. Otherwise, skip this step. </para> </listitem> diff --git a/src/backend/main/main.c b/src/backend/main/main.c index c43a527d3f9..dd82722ee31 100644 --- a/src/backend/main/main.c +++ b/src/backend/main/main.c @@ -290,23 +290,6 @@ startup_hacks(const char *progname) _CrtSetReportFile(_CRT_ASSERT, _CRTDBG_FILE_STDERR); _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE | _CRTDBG_MODE_DEBUG); _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); - -#if defined(_M_AMD64) && _MSC_VER == 1800 - - /*---------- - * Avoid crashing in certain floating-point operations if we were - * compiled for x64 with MS Visual Studio 2013 and are running on - * Windows prior to 7/2008R2 SP1 on an AVX2-capable CPU. - * - * Ref: https://connect.microsoft.com/VisualStudio/feedback/details/811093/visual-studio-2013-rtm-c-x64-code-generation-bug-for-avx2-instructions - *---------- - */ - if (!IsWindows7SP1OrGreater()) - { - _set_FMA3_enable(0); - } -#endif /* defined(_M_AMD64) && _MSC_VER == 1800 */ - } #endif /* WIN32 */ diff --git a/src/backend/utils/adt/pg_locale.c b/src/backend/utils/adt/pg_locale.c index ea42e70e43b..5cf5dd5f87d 100644 --- a/src/backend/utils/adt/pg_locale.c +++ b/src/backend/utils/adt/pg_locale.c @@ -1719,7 +1719,7 @@ get_collation_actual_version(char collprovider, const char *collcollate) else ereport(ERROR, (errmsg("could not load locale \"%s\"", collcollate))); -#elif defined(WIN32) && _WIN32_WINNT >= 0x0600 +#elif defined(WIN32) /* * If we are targeting Windows Vista and above, we can ask for a name * given a collation name (earlier versions required a location code @@ -1747,7 +1747,7 @@ get_collation_actual_version(char collprovider, const char *collcollate) collcollate, GetLastError()))); } - collversion = psprintf("%d.%d,%d.%d", + collversion = psprintf("%ld.%ld,%ld.%ld", (version.dwNLSVersion >> 8) & 0xFFFF, version.dwNLSVersion & 0xFF, (version.dwDefinedVersion >> 8) & 0xFFFF, diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index dd78e5bc660..ef58883a5c2 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -1896,17 +1896,8 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo, bool as_ser /* Verify that we found all functions */ if (_IsProcessInJob == NULL || _CreateJobObject == NULL || _SetInformationJobObject == NULL || _AssignProcessToJobObject == NULL || _QueryInformationJobObject == NULL) { - /* - * IsProcessInJob() is not available on < WinXP, so there is no need - * to log the error every time in that case - */ - if (IsWindowsXPOrGreater()) - - /* - * Log error if we can't get version, or if we're on WinXP/2003 or - * newer - */ - write_stderr(_("%s: WARNING: could not locate all job object functions in system API\n"), progname); + /* Log error if we can't get version */ + write_stderr(_("%s: WARNING: could not locate all job object functions in system API\n"), progname); } else { @@ -1946,19 +1937,6 @@ CreateRestrictedProcess(char *cmd, PROCESS_INFORMATION *processInfo, bool as_ser JOB_OBJECT_UILIMIT_EXITWINDOWS | JOB_OBJECT_UILIMIT_READCLIPBOARD | JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS | JOB_OBJECT_UILIMIT_WRITECLIPBOARD; - if (as_service) - { - if (!IsWindows7OrGreater()) - { - /* - * On Windows 7 (and presumably later), - * JOB_OBJECT_UILIMIT_HANDLES prevents us from - * starting as a service. So we only enable it on - * Vista and earlier (version <= 6.0) - */ - uiRestrictions.UIRestrictionsClass |= JOB_OBJECT_UILIMIT_HANDLES; - } - } _SetInformationJobObject(job, JobObjectBasicUIRestrictions, &uiRestrictions, sizeof(uiRestrictions)); securityLimit.SecurityLimitFlags = JOB_OBJECT_SECURITY_NO_ADMIN | JOB_OBJECT_SECURITY_ONLY_TOKEN; diff --git a/src/include/port/win32.h b/src/include/port/win32.h index c6213c77c3a..5f3b17a5008 100644 --- a/src/include/port/win32.h +++ b/src/include/port/win32.h @@ -11,24 +11,13 @@ /* * Make sure _WIN32_WINNT has the minimum required value. - * Leave a higher value in place. When building with at least Visual - * Studio 2015 the minimum requirement is Windows Vista (0x0600) to - * get support for GetLocaleInfoEx() with locales. For everything else - * the minimum version is Windows XP (0x0501). + * Leave a higher value in place. The minimum requirement is Windows 10. */ -#if defined(_MSC_VER) && _MSC_VER >= 1900 -#define MIN_WINNT 0x0600 -#else -#define MIN_WINNT 0x0501 -#endif - -#if defined(_WIN32_WINNT) && _WIN32_WINNT < MIN_WINNT +#ifdef _WIN32_WINNT #undef _WIN32_WINNT #endif -#ifndef _WIN32_WINNT -#define _WIN32_WINNT MIN_WINNT -#endif +#define _WIN32_WINNT 0x0A00 /* * We need to prevent <crtdefs.h> from defining a symbol conflicting with |