修改 PostgreSQL 中的列位置:探索限制和替代方案
在调整 PostgreSQL 中列的位置时,PostgreSQL 数据库可能看起来不灵活一张桌子。尽管尝试了像您提到的那样的尝试(“ALTER TABLE person ALTER COLUMN dob POSITION 37;”),但通过此类命令修改列的物理位置仍然是不可能的。
根据 PostgreSQL Wiki 的“更改列位置”页面,修改列的顺序依赖于pg_attribute表中的attnum值。任何更改都需要重新创建表或进行复杂的数据操作,直到达到所需的排列。
尽管看起来很矛盾,但 SQL 标准本身并没有提供重新定位列的方法。提供此类功能的数据库供应商本质上是在扩展 SQL 语法。
需要注意的是,操作列顺序可能会对性能产生影响,因为数据库访问路径可能会根据现有的列布局进行优化。
虽然本质上可能不支持重新定位列的功能,但您可以通过创建 VIEW 来解决此限制。通过定义 VIEW,您可以根据自己的喜好指定列的顺序,而无需更改基表的底层结构。
以上是PostgreSQL 真的可以改变列顺序吗?的详细内容。更多信息请关注PHP中文网其他相关文章!