小编Jes*_*ose的帖子

为什么新用户可以在 PostgreSQL 中创建表?

我按照两个教程创建了一个数据库:

  1. 一个完全特权的用户链接
  2. 只读用户链接

然后我从CJ Estel 的教程中得到了一条提示,指出“即使我们从未明确将其提供给我们的新用户,您也可能继承了创建表的能力”。果然,只读用户能够创建和拥有表!

CJ Estel 很好地指出了根本原因,即模板数据库。但是,创建表格的能力破坏了您通过谷歌搜索“只读用户 postgres”获得的大多数教程,包括在 postgresql.org 上托管的教程。您的用户拥有的不仅仅是只读权限!

为什么新用户有这种能力?撤销此权限后,该用户的数据库是否真的是只读的?

postgresql permissions

13
推荐指数
1
解决办法
2541
查看次数

低基数字段:整数或字符串

工单具有以下状态:

new
in_progress
on_hold
closed
Run Code Online (Sandbox Code Playgroud)

我可以创建ticket.status一个字符串 ( on_hold) 或一个唯一的 int( 2)。它被索引。

整数优点:索引中的最小尺寸

Int con:BI 和不断发展的模式的清晰度低(3与 相比closed

String pro:清晰的数据导航

String con:占用更多空间来索引,对于相同的 RAM 性能较低

我想如果字符串索引的基数较低,它不会比 int 索引占用太多空间。如果该字段的基数较低并且不是复合索引的一部分,则选择整数是否过早优化?

我将 Postgres 与 SQLAlchemy、Python ORM 一起使用。

postgresql index database-design datatypes

3
推荐指数
1
解决办法
1304
查看次数