Некоторые базы данных PostgreSQL не видны через такие клиенты, как Navicat или pgAdmin
Когда я вхожу в систему, чтобы увидеть мои удаленные базы данных PostgreSQL с помощью pgAdmin или Navicat, я могу подключиться без каких-либо проблем, и первые три базы данных в списке ниже отображаются нормально. Но по какой-то причине я не могу получить две последние базы данных ("template0" и "template1"), чтобы показать их вместе с другими. Кроме того, когда я ssh в базу данных сервера, я могу запустить "SELECT * FROM a_table_in_template1_database;" и он показывает все содержимое таблицы без проблем, так что я знаю, что все в порядке с база данных и таблицы внутри нее. Как я могу заставить базу данных "template1" появиться в этом списке и работать? Вот вывод PostgreSQL из терминала, когда я запускаю "list":
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)
Похоже, что есть что-то с "правами доступа", что вызывает это. Тем не менее, я сделал такие вещи, как "GRANT ALL ON DATABASE template1 to postgres", но это, кажется, не помогает.
Еще одна полезная информация: когда я вхожу в систему с Navicat и появляются три базы данных, я можно щелкнуть опцию "Открыть базу данных", затем я наберу" template1", и он появится на левой панели вместе с другими тремя базами данных, но я не могу нажать на него или что-либо с ним сделать.
Я просто хочу, чтобы все 5 моих баз данных отображались в Navicat или pgAdmin и могли получить доступ ко всем из них :) любая помощь была бы очень признательна!
1 ответ:
Эти инструменты, как правило, скрывают базы данных, где
Клиентское приложение(ы) может предложить настройку для отображения этих баз данных, или вы можете открыть их непосредственно по имени.pg_database.datistemplate- этоtrue, поскольку они считаются "внутренними" базами данных, а не обычными пользовательскими базами данных.Обратите внимание, что
Я настоятельно рекомендую вам игнорироватьtemplate0обычно является базой данных только для чтения, которую вы не можете изменить, поэтому очень мало смысла обращаться к ней в пользовательском интерфейсе управления.template1можно подключать и изменять, но все, что вы делаете сtemplate1, будет копируется при создании новой базы данных (без явной опцииTEMPLATE), поэтому обычно вы не хотите ее изменять.template0иtemplate1. Притворитесь, что их не существует.
Comments