2013-04-02 2 views
2

pgAdmin 또는 Navicat을 사용하여 원격 PostgreSQL 데이터베이스를 보려면 로그인 할 때 아무 문제없이 연결할 수 있으며 아래 목록의 처음 세 데이터베이스가 정상적으로 표시됩니다. 그러나 어떤 이유로 나는 마지막 두 데이터베이스 ("template0"및 "template1")를 다른 데이터베이스와 함께 표시 할 수 없습니다. 또한 서버의 데이터베이스에 ssh를 실행하면 "SELECT * FROM a_table_in_template1_database;"를 실행할 수 있습니다. 문제없이 테이블의 모든 내용을 보여 주므로 데이터베이스와 테이블 내의 모든 것이 정상이라는 것을 알고 있습니다. "template1"데이터베이스를이 목록에 표시하고 작동 시키려면 어떻게합니까? 저는 여기에 \ "목록"을 실행할 때 터미널에서의 PostgreSQL의 출력은이 원인이되는 "액세스 권한"뭔가가있을 수 있습니다처럼Navicat 또는 pgAdmin과 같은 클라이언트를 통해 보이지 않는 일부 PostgreSQL 데이터베이스

template1=# \list 
           List of databases 
    Name  | Owner | Encoding | Collation | Ctype | Access privileges 
---------------+----------+----------+-----------+-------+----------------------- 
mygigline  | jball037 | LATIN1 | en_US  | en_US | 
mygiglinemain | postgres | LATIN1 | en_US  | en_US | 
postgres  | postgres | LATIN1 | en_US  | en_US | 
template0  | postgres | LATIN1 | en_US  | en_US | =c/postgres 
template1  | postgres | LATIN1 | en_US  | en_US | =CTc/postgres 
                 : postgres=CTc/postgres 
(5 rows) 

것 같습니다. 그러나, 나는 "Postgres에 데이터베이스 1에 대한 모든 템플릿 부여"와 같은 일을했지만 그게 도움이되지 않습니다.

또 다른 유용한 정보 : Navicat로 로그인하고 세 개의 데이터베이스가 나타나면 "데이터베이스 열기"옵션을 클릭 한 다음 "template1"을 입력하면 왼쪽에 표시됩니다 다른 세 데이터베이스와 함께 패널을 만들었지 만 클릭하거나 아무것도 할 수 없습니다.

내 데이터베이스 5 개를 모두 Navicat 또는 pgAdmin에 표시하고 모든 항목에 액세스 할 수 있도록 표시하고 싶습니다. 도움이 될 것입니다.

답변

2

이러한 도구는 일반 사용자 데이터베이스가 아닌 "내부"데이터베이스로 간주되므로 pg_database.datistemplatetrue 인 데이터베이스를 숨기는 경향이 있습니다.

클라이언트 응용 프로그램에서 이러한 DB를 숨김 해제 할 수있는 설정을 제공하거나 이름으로 직접 열 수 있습니다.

일반적으로 template0은 수정할 수없는 읽기 전용 데이터베이스이므로 관리 UI에서 액세스하는 것이 거의 중요하지 않습니다. template1은 연결 및 수정할 수 있지만 template1에 대한 작업은 새 데이터베이스를 만들 때 (명시 적으로 TEMPLATE 옵션없이) 복사되므로 일반적으로 변경하지 않으려 고합니다.

template0template1을 무시하는 것이 좋습니다. 그들이 존재하지 않는 척하십시오.

+0

다른 데이터베이스를 대신 사용하는 것이 좋습니다. 감사!! – jball037