2013-08-16 2 views
0

나는 pgAdmin에서 로그인 역할로 생성 된 사용자가 있습니다. 사용자 이름은 'myApp'입니다.특정 데이터베이스에 대한 PostgreSQL 사용자 권한 목록

여기에 생성하는 pgsql 구문이 있습니다. 난 내 응용 프로그램이 YII 프레임 워크가 개발 한

CREATE ROLE myApp LOGIN 
    ENCRYPTED PASSWORD 'md58e0b379fc6e92422518682611bcf2d42' 
    NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION; 

이 모든 일이 내 말에 슈퍼 사용자와 데이터베이스에 연결합니다. 이는 사용자 포스트 그레스 '

..하지만 릴리스를 수행 한 후에는 최근에 나는이 을 myApp 그것 내가 설정의 때문에 허가를 발견

enter image description here

다음과 같은 오류를 받기 시작했다 내가 해결하기 위해 아래의 스크립트를 썼다 있도록 새로 만든 테이블에 대한 사용자 역할을하지만 .. 시퀀스 동일한 기능을 수행 할 놓친

GRANT ALL ON TABLE css_ataps_client_outgoing_call_dates_id_seq TO myAppAdmin; 
GRANT SELECT, UPDATE ON TABLE css_ataps_client_outgoing_call_dates_id_seq TO myApp; 

지금 내 응용 프로그램이 myApp이지만, 포스트그레스이 아닌 내 프로덕션 응용 프로그램과 동일한 로그인을 사용하여 데이터베이스에 연결할 수 있어야합니다.

하지만 포스트 그레스 사용자를 사용하지 않으면 안타깝게도 작동하지 않습니다. 내가 myApp 사용자와 연결하려고 할 때 오류가 발생했습니다. 로그에도 기록되지 않습니다. 그래서 로그인 세부 사항이 동일하고 그 작업과 문제가 사용자가 될 수 있음을 확인할 수 있습니다. myApp에는 단일 테이블에 대한 읽기/쓰기 권한이 없습니다. 그래서 데이터베이스에 어떤 테이블이 있는지 확인하고 싶지 않습니다. 그 반대도 마찬가지입니다.

제발 알아낼 방법을 알려주십시오. 감사.

답변

1

이렇게하면됩니다. 시도하고 알려주세요.

GRANT ALL ON DATABASE <ur database name> TO myApp; <- not this 

TRY THIS QUERY ..!

GRANT SELECT,UPDATE,INSERT,DELETE ON ALL TABLES IN SCHEMA public TO myApp; 
+1

GRANT ALL ON DATABASE myDatabaseName to myApp; – dev1234

관련 문제