Postgresql Docker 이미지를 띄우고 나서 곧바로 tablespace 를 생성하기 위해서
docker exec -it <docker_id> bash
명령어를 입력해서 docker 내로 들어가고,
아래 명령어를 tablespace
의 공간으로 사용할 사용해서 디렉토리를 만들었습니다.
mkdir -p /data/tbs/mine
이후에 psql 에 접속하여 create tablespace
명령어를 사용했는데,
permission 에러가 발생했습니다.
postgres=# create tablespace postgres owner postgres location '/data/tbs/mine';
오류: "/data/tbs/mine" 디렉터리 액세스 권한을 지정할 수 없음: 명령을 허용하지 않음
이건 디렉토리에 대한 접근 권한 세팅을 안해서 난 문제였습니다.
아래 명령어를 통해서 디렉토리 접근 권한을 postgres 전용으로 만들어주면 됩니다.
chown -R postgres:postgres /data
이러고 나서 다시 psql 에 들어가서 create tablespace
명령어를 다시 실행하면 됩니다.
참고링크: