6.5에서 dump받아서 7.3으로 우여곡절 끝에 import시켰습니다.
그런데 테이블의 소유주가 모두 public으로 되어져 있네요.
database만들때 소유주를 다른 id로 만들었거든요....
그런데 데이타를 밀어넣고 나면 소유주가 public로 바뀌어 있습니다.
모든 table의 소유주를 제가 원하는 id로 변경하는 방법이 있는지요....
답변 부탁드립니다..
감사합니다.
아마 소유주가 public이 아니라 schema가 public이 아닌가 싶음니다.
분명히 소유주는 별도의 지시를 안했다면 만든이가 될텐데..
7.3.3 에서 schema(오라킁의 tablespace와 비슷)가 도입되어 한DB안에 여러개의 schema가 있을수 있는데 따로 스키마를 만들지 안으면 기본적으로 public스키마만 존재함니다.
이상태에선 이전버젼과 똑같이 테이블생성이나 억세스등이 public공간에서 작동하구요.
db를 만들고 나서 사용자와 같은 이름의 스키마를 만들어 놓으면 그때부턴 별도로 스키마를 지정하지 않은채 태이블을 만들거나 쿼리하면 public이아닌 사용자와 같은이름의 스키마 공간에서 처리를 함니다.
( search_path가 사용자이름과같은 스키마 -> public스키마)
스키마가 다르면 스키마별로 같은이름의 table을 가질수있음니다.
상속을 할땐 스키마가 달라도 상관없지만 오너는 같아야되네요(당연한건지 모르겠지만)
이런 스카개념은 업무별로 데이타를 분리를 할필요가 있을때나 여러유저가 공통의 데이타를 공유하려할때 아주 쓸모있음니다.
tutorial에 상기님이 올린글을 참고해보세요