2017-11-07 6 views
0

AWS RDS postgres 인스턴스를 만들었습니다. 생성 할 때 나는 사용자를 생성하라는 메시지가 표시되었습니다. AWS RDS에 위치 정보가있는 테이블 공간을 만들 이유가 없습니까? 그 이유는 데이터베이스를 만들 때 데이터베이스가 내가 만든 테이블 공간으로 이동하기를 원하기 때문입니다. 나는 아래의 명령을AWS RDS PostgreSQL Tablespace

CREATE USER test; 

CREATE TABLESPACE test OWNER test LOCATION '/test_data'; 

CREATE DATABASE test WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C' TABLESPACE = test; 

ERROR: permission denied for tablespace test 

를 실행하면 나는 위의 명령을 실행하는 데 TEST_ADMIN 사용자를 사용하여 포스트 그레스에 로그인. test_admin은 RDS 인스턴스 구축 중에 생성 한 계정입니다. 내가 그 지점에서 모든 DB 개체를 만들기 위해 위에서 사용해야하는 유일한 계정입니까?

+2

정말 RDS 컴퓨터의 루트 디렉터리에 쓸 수 있습니까? – stdunbar

+1

AWS RDS는/test_data/경로를 지정하더라도 기본 경로를 추가합니다. 이것은 내가 테이블 스페이스에서 보는 것입니다./rdsdbdata/db/base/tablespace/test_data – varun7447

답변

0

데이터베이스의 소유자를 test으로 설정 하시겠습니까? 그렇다면 CREATE DATABASE...에 추가하십시오. 그렇지 않으면 test 테이블 공간에 대한 사용자 권한을 test_admin에게 부여해야합니다.