Windows 10 환경에서 PostgreSQL(2024/08/31 기준 최신 버전, 16.4) 설치를 하기 위해 인스톨러를 받아 실행했는데 아래와 같은 에러가 발생했다.

그래서 The environment variable comspec does not seem to point to the cmd.exe로 구글링을 했더니 나와 같은 사람들이 많은 것 같았다.
경우의 수는 정말 많겠지만, 원인이 될 수 있는 요소들은 크게 세 가지였다.
NTFS가 긴 파일 이름을 8.3 형식의 이름으로 생성할 때 오류가 발생할 수 있다고 한다.
8.3 file name(이하 8.3 파일 이름)은 윈도우 95, 윈도우 NT 3.51 이전의 마이크로소프트 윈도우 버전, 오래된 도스 버전이 사용하는 파일 이름 규칙이다. 현대의 마이크로소프트 운영 체제에서도 레거시 프로그램들과의 호환성을 목적으로 긴 파일 이름에 대한 대체 파일 이름으로서 사용된다.
여기서 8.3은 각각 파일 이름의 길이와 확장자의 길이를 나타낸다.
윈도우에서 기본으로 제공하는 디펜더나 기타 백신 프로그램이 PostgreSQL 설치 프로그램이 정상적으로 동작하지 않도록 막을 수 있다.
당연한 이야기처럼 들릴 수 있지만 관리자 프로그램으로 실행하지 않아 에러가 발생할 수 있다.
가장 많이 언급된 방법이다. 윈도우 레지스트리를 수정하여 NTFS 파일 시스템에서 8.3 이름 생성을 비활성화한다.
간단하게 커맨드 창에서 실행할 수도 있고
fsutil behavior set disable8dot3 1

레지스트리 편집창에서 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem의 NtfsDisable8dot3NameCreation 값을 1로 설정할 수도 있다.
이후 PC를 재부팅한다.
위의 방법을 수행했음에도 똑같은 에러가 발생했는데, 이 방법을 따라하니 해결됐다.
먼저 커맨드 창을 관리자 권한으로 실행한다.
윈도우에서 기본 제공되는 Administrator 계정을 활성화한다. 명령어를 실행하면, Administrator 계정이 활성화되어 사용자가 로그인 화면에서 이 계정으로 로그인을 시도할 수 있게 된다.
net user administrator /active:yes
net user administrator *
runas /user:administrator C:\Users\swsta\Downloads\postgresql-15.8-1-windows-x64.exe

이렇게 했더니 인스톨러가 정상적으로 실행됐다!
