对最终用户隐藏默认的 postgre 和模板数据库

对最终用户隐藏默认的 postgre 和模板数据库

我正在尝试保护 Postgre 数据库,我注意到用户通过 LDAP 密码登录后可以在数据库列表中看到默认的 3 个数据库。

  1. 模板0
  2. 模板1
  3. PostgreSQL 的

我如何才能向最终用户隐藏这些数据库?

谢谢你,

答案1

  • template0是库存数据库。它不应该被触碰。
  • template1是新数据库克隆的系统数据库。
  • postgres是一个默认数据库,通常是您想要使用CREATE USERCREATE DATABASE启动系统时连接的数据库。

你当然不会需要postgres 数据库,来自文档

注意:除了名称 template1 是 CREATE DATABASE 的默认源数据库名称之外,template1 和 template0 没有任何特殊状态。例如,可以删除 template1 并从 template0 重新创建它,而不会产生任何不良影响。如果有人在 template1 中不小心添加了一堆垃圾,这种做法可能是明智的。(要删除 template1,它必须具有 pg_database.datistemplate = false。)

初始化数据库集群时也会创建 postgres 数据库。此数据库是用户和应用程序要连接的默认数据库。它只是 template1 的副本,可以丢弃如有必要,可重新创建。

因此,我猜您可以安全地删除postgrestemplate1,如果您永远不想创建任何数据库,那么这样做是可能的template0。但是,您计划完成什么尚不清楚。

相关内容