구성 변경 후 PostgreSQL 재로드


16

pg_hba.conf를 약간 변경하여 변경 사항을 적용하려고합니다. 사람들이 PostgreSQL에 다시로드 할 수 있다고 말한 몇 곳을 찾았지만 몇 가지 다른 기술이 나열되어 있으며 그중 어느 것도 아직 나를 위해 작동하지 않습니다.

내가 찾은 가장 권위있는 참조는 pg_ctl 명령에 대한 것이지만 내 PGDATA 폴더가 어디에 있는지 잘 모르겠습니다. 계속 볼게요

우분투 8.10에서 PostgreSQL 8.3을 실행하고 있습니다.

답변:


15

pg에 연결하고 명령을 실행하여 PGDATA가 어디에 있는지 확인할 수 있습니다.

show data_directory;

우분투에서는 일반적으로 /var/lib/postgresql/8.3/main/입니다.

또한 다음을 수행 할 수 있습니다. /etc/init.d/postgresql-8.3 reload


17

질문을 한 원래의 사람은 그가 Ubuntu 8.10 많은 사람들을 실행하고 있음을 암시하지만 이후 버전의 Ubuntu를 사용하면 여기에서도 우연히 발견 될 수 있습니다. 그리고 이것은 실제로 8.10에서도 작동 할 수 있습니다. 나는 그것을 시도 할 8.10 설치가 없습니다 ..

좋아, 포인트로 잘라 봅시다. 따라서 서비스를 제어하는 ​​멋진 "새로운"방법은 service명령 을 사용하는 것 입니다. 따라서 다음 명령을 사용하여 구성을 다시로드 할 수 있습니다.

service postgresql-8.3 reload

자연적으로 당신은 가장 가능성 같은 것을 사용하여 명령을 앞에 추가 할 필요가 있으므로 적절한 권한이 있어야 sudo또는 su -c root이 같은 :

sudo service postgresql-8.3 reload
또는
su -c root 'service postgresql-8.3 reload'

추신 : 우분투 문서 에서이 새로운 방법과 관련된 것이 6.10의 릴리스와 함께 다시 시작되었다는 것이 제안 되었지만, 올바르게 이해하면 9.10까지 더 일반적으로 사용되지 않았습니다.


지난 2 년 동안 업그레이드를 했으므로이 기능을 사용해 보겠습니다. 시원하게 해줘서 고마워
돈 커크비

일반적으로 su -그냥 대신 사용하는 것이 좋습니다su
x-yuri

5

옵션 1 : 명령 줄 쉘에서

su - postgres
/usr/bin/pg_ctl reload

옵션 2 : SQL 사용

SELECT pg_reload_conf();

두 옵션 중 하나를 사용해도 활성 쿼리 나 데이터베이스 연결이 중단되지 않으므로 이러한 변경 사항이 적용되지 않습니다.


3

이것은 트릭을 할 것입니다 :

kill -HUP $(head -1 $PGDATA/postmaster.pid)

2

서버를 다시 시작하지 않고 postgreSQL에 신호를 보내려면 command를 입력하십시오.
pg_ctl reload


1

나는 마침내이 기사 에서 나에게 맞는 기술을 발견했다 . 명령은 다음과 같습니다.

sudo invoke-rc.d postgresql-8.3 reload

권장 기술이 무엇인지에 대한 의견을 보내 주셔서 감사합니다.


1
패키지 PostgreSQL을 사용하는 경우이 예제와 같이 패키지 스크립트를 사용하는 것이 권장되는 기술입니다. 소스에서 빌드 한 경우 pg_ctl을 사용하십시오.
Magnus Hagander


0

한 줄로 :

su -c "pg_ctl reload" - postgres

-1

ls /etc/init.d/ postgresql은 무엇입니까?

sudo /etc/init.d/postgresql 재로드

/etc/init.d/

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