为了更改PostgreSQL数据库模板的整理,我删除了template1
并使用'正确的'重新创建了它。排序规则。因此,我从这个question得到了灵感。
现在一切正常,但现在新数据库模板template1
列在树视图的可用数据库中。
我比较了两个服务器的数据库pg_database
(一个列出了数据库template1
,一个没有),但数据库template1
的参数值是相同的。
我想在树视图中隐藏此数据库。 有谁可以解决这个问题?
编辑:this one没有给我任何进一步的信息
(PostgreSQL 9.6,pgAdmin 1.22)
答案 0 :(得分:0)
PgAdmin使用following condition在树中显示数据库:
/* Condition used to show database */
if (settings->GetShowSystemObjects() || !database->GetSystemObject())
(...)
/* Function called above */
bool pgDatabase::GetSystemObject() const
{
if (server)
{
if (this->GetName() == wxT("template0")) return true;
return (this->GetOid() <= server->GetLastSystemOID());
}
else
{
return false;
}
}
除非您在树视图中标记了&#34;显示系统对象&#34;选项,我猜你的template1的oid大于LastSystemOID(pg_database.datlastsysoid
)。在这种情况下,您有三个选择:
pg_database.datlastsysoid
并等待副作用。