2014-06-21 2 views
0

기본적으로 저는 수퍼 유저 2 명, 포스트 그레스 1 명, 에릭 1 명이 있습니다. 각각 자신의 데이터베이스가 있습니다. 내가하고 싶은 것은, 그들 중 하나에 연결되어있는 동안, 다른 테이블의 데이터베이스 (더 정확하게는 테이블)에 액세스하는 것입니다. 두 데이터베이스의 테이블은 공용 스키마에 있습니다.PostgreSQL 수퍼 유저가 다른 데이터베이스에 액세스하지 않습니다.

나는 포럼에 다른 질문에 발견이 쿼리를 사용하고 있지만, 어떤 결과없이 :

SELECT table_name 
FROM information_schema.tables 
WHERE table_schema='public' 

나는 두 역할에 대한 모든 권한을 제공하는 데이터베이스의 소유자를 변경하지만, 아무것도. 내가 얻는 것은 그 사용자의 데이터베이스 테이블뿐입니다.

내가 누락 될 수있는 아이디어가 있습니까? 감사.

P.S : 나는 PostgreSQL을 9.3을 사용하여, 항상 전체 클러스터에있는 모든 액세스 할 수 있습니다 파이썬 2.7

답변

1

수퍼 유저를 코딩하고 있습니다.

이 문장은 이해되지 않는다 :

두 데이터베이스가 공공 스키마에 있습니다.

클러스터 -> 데이터베이스 -> 스키마 -> 테이블. Start with the manual here.

특정 데이터베이스에 연결되어있는 동안이 특정 데이터베이스의 테이블에만 액세스 할 수 있습니다. 을 다른 데이터베이스에 연결해야만 테이블에서 작업 할 수 있습니다.
dblink 또는 FDW을 사용할 수 있습니다.

+0

데이터베이스의 테이블을 참조하고있었습니다. 죄송합니다. 나는 지금 그것을 편집했다. 나는 그들이 모든 클러스터에 액세스해야한다는 것을 알고 있지만 ... 일어나지 않고있다. 그리고 나는 이유를 모른다. – user3475502

+0

@ user3475502 : 나는 더 많은 것을 더했다. –

-1

PostgreSQL은 다른 데이터베이스간에 방화벽을 가지고 있습니다. 그들은 완전히 별개의 서버 일 수도 있습니다. dblink 또는 fdw 또는 이들 사이를 연결하는 것과 같은 것을 사용할 수 있습니다.

관련 문제