GRANT를 설정을 다했습니다... 어려웠습니다.;;
그리고 나서 사용자로 다시 로그인해서.. grant 당한 테이블을 select해보려고 했습니다...
하지만 어떻게 해야할지..막막해서...
select문 하나 쓰는데 이렇게 힘든적 처음인거 같습니다...
도와주세요..(__);;
GRANT ALL ON table_name TO db_user;
다음으로 해당 db_user 로 로그인한 다음
SELECT * from table_name;
하시면 되는데 뭐가 어렵다는 것인지요? 혹시 다른 애로가 있는 지요.
ㅠㅠ
그런거였군요..
저는 a라는 데이타 베이스에서 grant주고 다른 데이타베이스의 다른 사용자로 로그인한후 열어서 불러오려고 하니깐 안되는 거였어요..ㅠㅠ
저는 그게 필요한건데...ㅠㅠ
제가 뭘 하고 있는지 모르겠네요~ㅠㅠ
그냥 신경쓰지 마세요...ㅠㅠ
덧말 지우려고 했는데 안되서요...
PostgreSQL에서는 Oracle이나, MySQL 과 달리 "특정 사용자는 특정 데이터베이스내에 '모든 객체에 대해서' 특정 작업을 할 수 있다는 식의 접근권한을 단순하게 처리하질 못합니다. (아마 이후 버전에서는 도입될지도 모르겠습니다. - 이런 작업을 하기에는 꽤 번거로운 작업을 해야하거든요, 또한 새로운 객체가 생성되면, 다시 설정을 해주어야하고)
PostgreSQL의 접근권한에 대한 규칙은 정말 단순합니다. "자기가 만든 객체는 자기만 작업할 수 있다"입니다.
즉, view 하나를 만들었는데, 이놈을 다른 사용자도 함께 봐야합니다. 반드시 grant 명령으로 설정해 주어야합니다.
아무튼 이런 작업을 손 쉽게 하기 위해서, pgAdmin 같은 M$ Windows 기반 GUI툴을 제공하고 있습니다.
7.3.x 버전대에서는 grant/revoke 명령이 확장되기는 했지만, 접근권한에 대한 근본원칙이 변경되지는 않았네요.
아무튼 반대로 특정데이터베이스 내에서 특정 사용자를 제외한 다른 사용자는 그 데이터베이스의 모든 자원을 사용할 수 없다는 식의 처리가 7.3.x 대에서는 가능해졌네요.
자세한 내용은 grant/revoke 명령 설명서 참조.