V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Sponsored by
LinkedIn
不坐班的神仙工作 · 去任何你想去的地方远程,赚一线城市的工资
2000 个不用出门 Social 的全球远程工作,帮助 V2EX 的小伙伴开启全新的工作方式。
Promoted by LinkedIn
kongkongye
V2EX  ›  PostgreSQL

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

  •  
  •   kongkongye · 57 天前 · 2805 次点击
    这是一个创建于 57 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    话说 mysql 怎么实现的?对外做了映射?
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4075 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 46ms · UTC 08:41 · PVG 16:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.