Postgres有一个MONEY数据类型。根据https://www.postgresql.org/docs/current/datatype-money.html,这是一种定点十进制数据类型,小数位数由一个名为lc_monetary
的变量确定。
关于这个变量的大部分讨论,例如。https://pgpedia.info/l/lc_monetary.html是由一个名为initdb
的程序设置的。
作为一名应用程序程序员,我可以合理地假设我是发出CREATE DATABASE
命令的人。但我可能不是那个运行initdb
的人。当我的代码开始运行时,其他人可能已经这样做了,我没有办法控制他们对它做了什么。
如果有一种方法可以在CREATE DATABASE
的时候覆盖这个变量,那就太好了。但它不在https://www.postgresql.org/docs/current/sql-createdatabase.html的选项列表中
另一方面,https://www.postgresql.org/docs/current/locale.html表明它可能是。(虽然它只涉及金额的格式。定点运算也需要调整。但也许这只是措辞上的一点不精确。)
实际上,CREATE DATABASE
是否可以覆盖lc_monetary
,以便始终正确工作,而不管对initdb
做了什么?
1条答案
按热度按时间jv2fixgn1#
这很容易使用
ALTER DATABASE
。例如: