명령 행을 사용하여 PostgreSQL 포트 변경


10

내 PostgreSQL 기본 포트는 5432이며 명령 줄을 사용하여 기본 포트를 변경하고 싶습니다 (Windows 7).

전에이 솔루션을 보았습니다 : https : //.com/questions/187438/want-to-change-pgsql-port

다음 명령을 실행하려고 시도했지만 실패했습니다.

postgres --p 5431

누군가 명령 줄을 사용하여 포트를 변경하는 방법을 알려주시겠습니까?

답변:


9

Windows를 사용 중이고 PostgreSQL을 Windows 서비스로 시작했을 수 있으므로 postgresql.conf데이터 디렉토리 내 에서 편집 하여 새 포트를 설정 한 다음 서비스 제어판을 사용하여 또는 PostgreSQL 서비스를 다시 시작해야합니다. ) net service명령.

프로그래밍 방식의 텍스트 편집 도구를 사용하여 postgresql.conf이를 자동화해야하는 경우 변경할 수 있습니다. Linux / unix 박스에서는 sedor 와 같은 도구를 사용 awk하지만 Windows에서는 VBS, powershell 또는 Perl과 같은 애드온 도구를 사용한다고 가정합니다.

PgAdmin-III새 포트를 사용하는 것과 같은 도구에서 연결 설정을 변경해야합니다 .

PostgreSQL을 수동으로 시작한 경우 환경 변수를 pg_ctl설정 PGPORT하거나 명령 행에서 구성 옵션을 전달할 수 있습니다. Windows 서비스로 시작하면 작동하지 않습니다.


Windows에서 텍스트 파일을 대체하기 위해 "스위스 파일 나이프"를 사용하고 있습니다.
a_horse_with_no_name

@a_horse_with_no_name fileutils / coreutils / etc가없는 경우 유용한 도구입니다. 팁 고마워.
Craig Ringer

그래서 Windows에서 pgsql 포트를 변경하기 위해 명령 줄을 사용할 수 없습니까?
Nick Hung 2016 년

@NickHung 예, 위에서 설명한 것처럼 텍스트 프로세서를 사용하여 구성 파일을 변경하거나 PostgreSQL을 Windows 서비스로 실행하지 않고 대신 시작할 수 있습니다 pg_ctl.
Craig Ringer

7
  • .. \ PostgreSQL \ 9.0 \ data로 이동하여 텍스트 편집기 / 메모장에서 postgresql.conf 파일을여십시오.
  • 포트 매개 변수 검색 (예 : 포트 = 5433)
  • 이것을 포트 번호로 편집하십시오.
  • services.msc 유형으로 이동하여 postgresql 서비스를 다시 시작하십시오.

검색어 도구를 통해 매개 변수가 설정되었는지 여부를 확인할 수 있습니다. 그냥 show port쿼리를 실행하십시오 . 현재 포트 번호가 표시됩니다. pgAdmin을 사용하여 db에 연결하는 경우 연결 설정에서 포트 번호를 변경했는지 확인하십시오.


0

텍스트 교체 또는 유사한 기술이 필요하지 않은 솔루션은 별도의 구성 파일에서 다른 포트를 구성한 다음 파일에 include 지시문을 추가하는 것 postgresql.conf입니다.

예 :

echo port = 5431 > \path\to\datadir\custom.conf
echo include custom.conf>> \path\to\datadir\postgresql.conf

(물론 \path\to\datadir\올바른 경로로 교체해야합니다)

첫 번째 echo명령은 포트 구성만으로 새 파일을 만듭니다. 두 번째는 기존 postgres 구성 파일에 include 지시문을 추가합니다. "나중"설정이 파일의 "이전"설정보다 우선하므로 수행 된 모든 포트 구성 postgresql.conf은 사용자 정의 구성 파일의 설정으로 덮어 씁니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.