내 목표는 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.conf
pg_ident.conf
/mnt/data/postgresql/12/main
이제 경로를 data_directory
in 으로 변경하고 /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)