kongkongye

pg 数据库不支持改变列顺序难受的要命!

  •  
  •   kongkongye · Aug 4, 2022 · 6676 views
    This topic created in 1552 days ago, the information mentioned may be changed or developed.

    希望后续版本支持吧,有什么好的解决办法吗?

    37 replies  •  2022-08-31 14:47:07 +08:00
    HashV2
    HashV2
    Aug 4, 2022
    1
    什么场景需要改变列的顺序?
    smalljop
    smalljop
    Aug 4, 2022
    2
    @HashV2 强迫症
    sun1991
    sun1991
    Aug 4, 2022
    3
    问出这个问题, 恐怕是你对数据库理解不足吧?
    iseki
    iseki
    Aug 4, 2022
    4
    确实,但是社区好像有帖子说因为没什么用就计划内不支持这个功能来着
    HashV2
    HashV2
    Aug 4, 2022❤️6
    5
    @smalljop #2 我觉得你可以找找支持改变列展示顺序的客户端更靠谱
    MoYi123
    MoYi123
    Aug 4, 2022
    6
    这个功能在客户端做不就好了? 像 idea 自带的就支持这个功能啊.
    liaohongxing
    liaohongxing
    Aug 4, 2022
    7
    后续也不可能支持 ,它的顺序是硬编码 ,只能 select insert ,或 创视图
    me221
    me221
    Aug 4, 2022
    8
    这种东西不是和客户端有关吗?
    sutra
    sutra
    Aug 4, 2022
    9
    搞个临时的表过度一下数据,目标表重建。
    jack778
    jack778
    Aug 4, 2022
    10
    是的,强迫症受不了,后面追加的列都是在最后面
    shinession
    shinession
    Aug 4, 2022
    11
    这个确实逼死强迫症,pgadmin 里也没办法改显示的顺序,其他客户端可以
    uleh
    uleh
    Aug 4, 2022
    12
    换个客户端就行了吧。。。实在不行查表的时候在 select 语句里手动指定一下 column
    wd
    wd
    Aug 4, 2022 via iPhone
    13
    有顺序?
    wangsd
    wangsd
    Aug 4, 2022
    14
    +1 ,之前用的 SQL Server 能改,上下拖动就行了,现在用 pg 就特不习惯,而且 GUI 也没微软的好用。
    Nostalgia
    Nostalgia
    Aug 4, 2022
    15
    The idea of allowing re-ordering of column position is not one the postgresql developers are against, it is more a case where no one has stepped forward to do the work.
    Nostalgia
    Nostalgia
    Aug 4, 2022
    16
    ecloud
    ecloud
    Aug 4, 2022
    17
    改这玩意儿有什么用?公家的硬盘不心疼是吧
    ufan0
    ufan0
    Aug 4, 2022
    18
    羡慕你们能用客户端的,我这边都是跳板机+低权账号,不能排序看着贼难受。
    defunct9
    defunct9
    Aug 4, 2022
    19
    这是病,得治
    dorothyREN
    dorothyREN
    Aug 4, 2022
    20
    select 的时候 你想什么顺序就什么顺序写字段不就行了
    NeroKamin
    NeroKamin
    Aug 4, 2022
    21
    不太明白改变列顺序的需求是怎么来的?
    如果是为了展示的话,不是直接调换 select 的顺序就好了吗?
    如果是为了改变存储顺序的话,目的又是什么呢?为了优化?
    Aloento
    Aloento
    Aug 4, 2022
    22
    强迫症需求一般没人会考虑...纯无效问题
    Radeon
    Radeon
    Aug 4, 2022
    23
    自己 Remap 一个 View
    Jooooooooo
    Jooooooooo
    Aug 4, 2022
    24
    pg 是开源的吧, 自己提 pr 吧.
    keenkiller
    keenkiller
    Aug 4, 2022
    25
    mysql 也支持啊,笑死
    iseki
    iseki
    Aug 4, 2022
    26
    @NeroKamin 有些工具不支持调顺序就有点疼

    个人经验是实在不行就临时开个视图~~~
    PopRain
    PopRain
    Aug 4, 2022
    27
    @wangsd 你仔细看看 SQL Server 的执行过程,创建新表、拷贝数据、改名, 都是 Management studio 客户端做的,并不是数据库自身的功能。 之前好像有改字典表列顺序的方法,但是这个是奇技淫巧,不安全
    PopRain
    PopRain
    Aug 4, 2022
    28
    改顺序是合理需求,新加的字段和有逻辑关系的放在一起,看起来舒服。。。。
    Kisesy
    Kisesy
    Aug 4, 2022
    29
    我记得 sqlite 是复制一个表,然后重建的
    EminemW
    EminemW
    Aug 5, 2022
    30
    这么离谱的需求,你 select 的时候按自己喜欢的顺序查不就好了
    UFc8704I4Bv63gy2
    UFc8704I4Bv63gy2
    Aug 5, 2022 via Android
    31
    @Kisesy pg 也是复制然后重建
    seanzxx
    seanzxx
    Aug 5, 2022
    32
    @ufan0 客户端就一般都支持跳板机呀
    cccer
    cccer
    Aug 5, 2022
    33
    数据库列顺序会直接影响数据存放位置和格式(数据 4bit 对齐和合并),改列顺序只能删表重建。
    其他数据库只是后台做了这个事,PG 需要自己显式的写 SQL 。
    Huelse
    Huelse
    Aug 5, 2022
    34
    我认为这是伪需求,不合理且浪费时间,改顺序仅仅是方便开发者看,而不是提高服务效率或增加功能性。

    而且 select 时就可以自行排序。
    kongkongye
    kongkongye
    OP
    Aug 5, 2022
    35
    @Huelse 很多时候都直接打开表看下内容,如果字段顺序不重要,那假设每次打开表都给你随机排序,比如这次打开 100 个字段的表 id 跑后面去了,看着是不很乱,很影响心情与效率?
    815979670
    815979670
    Aug 5, 2022
    36
    提到这个 sqlite 不支持字段备注也很难受
    lolizeppelin
    lolizeppelin
    Aug 31, 2022
    37
    改变列顺序,要改整个表的数据存放, 统计数据也要重建

    话说 mysql 怎么实现的?对外做了映射?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1725 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 79ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    ♥ Do have faith in what you're doing.