我按照两个教程创建了一个数据库:
然后我从CJ Estel 的教程中得到了一条提示,指出“即使我们从未明确将其提供给我们的新用户,您也可能继承了创建表的能力”。果然,只读用户能够创建和拥有表!
CJ Estel 很好地指出了根本原因,即模板数据库。但是,创建表格的能力破坏了您通过谷歌搜索“只读用户 postgres”获得的大多数教程,包括在 postgresql.org 上托管的教程。您的用户拥有的不仅仅是只读权限!
为什么新用户有这种能力?撤销此权限后,该用户的数据库是否真的是只读的?
工单具有以下状态:
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 一起使用。