Postgresql data_directory를 성공적으로 변경하고 Postgres를 다시 시작할 수 없습니다.

Postgresql data_directory를 성공적으로 변경하고 Postgres를 다시 시작할 수 없습니다.

내 목표는 Linux Ubuntu 20.04 LTS ARM x64를 실행하는 컴퓨터에 연결된 외부 SSD 하드 드라이브에 postgresql 데이터베이스 데이터를 저장하는 것입니다. postgresql.conf 파일의 데이터 디렉터리를 변경한 후 postgres를 다시 시작하는 데 문제가 있습니다.

psql: could not connect to server: No such file or directory

Is the server running locally and accepting connections on 
Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Postgres 구성에 문제가 있을 때 이 오류가 발생한다는 것을 알고 있습니다. /mnt/data/postgresql/12/main 디렉토리에서 postgres 사용자의 권한과 소유권을 설정해 보았습니다. 불운.

내가 취한 단계는 다음과 같습니다.

마운트 디렉터리 생성

sudo mkdir /mnt/data

드라이브를 디렉토리에 마운트

sudo mount -o defaults /dev/sda1 /mnt/data

Postgres 데이터를 저장하려는 마운트된 드라이브에 디렉터리를 추가합니다.

sudo mkdir -p /mnt/data/postgresql/12/main

데이터 디렉터리를 /mnt/data/postgresql/12/main으로 변경합니다.

sudo nano /etc/postgresql/12/main/postgresql.conf

postgresql 서비스 다시 시작

sudo systemctl restart postgresql.service

답변1

당신은 사용해야합니다데이터베이스 초기화postgres예를 들어 사용자로 새 데이터 디렉토리를 만듭니다 .

sudo mkdir -p /mnt/data/postgresql/12/main
sudo chown -R postgres:postgres /mnt/data/postgresql
sudo -u postgres /usr/lib/postgresql/12/bin/initdb -D /mnt/data/postgresql/12/main
sudo service postgresql stop

또한 (사용되지 않은) 구성 파일 이 생성 postgresql.conf되어 .pg_hba.confpg_ident.conf/mnt/data/postgresql/12/main

이제 경로를 data_directoryin 으로 변경하고 /etc/postgresql/12/main/postgresql.conf서비스를 시작한 후 data_directory예상대로 설정되었는지 테스트합니다.

sudo service postgresql start
sudo -u postgres psql -c 'show data_directory;'

다음과 같이 출력되어야 합니다.

        data_directory        
------------------------------
 /mnt/data/postgresql/12/main
(1 row)

관련 정보