SQL Server 有什么地方是不可被 PostgreSQL 代替的呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
gowl
V2EX    程序员

SQL Server 有什么地方是不可被 PostgreSQL 代替的呢?

  •  
  •   gowl 2023-07-0 05:19:09 +08:00 5301 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请只考虑科技层面和实际使用中的区别。

    28 条回复    2023-07-05 10:42:41 +08:00
    netnr
        1
    netnr  
       2023-07-04 06:03:52 +08:00 via Android
    pg 不能通过排序规则忽略大小写比较
    gowl
        2
    gowl  
    OP
       2023-07-04 06:26:08 +08:00
    @netnr 在 pg 里可以这样吧:

    SELECT name FROM users ORDER BY lower(name);
    Worldispow
        3
    Worldispow  
       2023-07-04 06:29:05 +08:00 via Android
    客户端 ui ,商业支持等等
    Radeon
        4
    Radeon  
       2023-07-04 07:01:05 +08:00   2
    PG 不能对列重排序,只能改 View 的列顺序
    gowl
        5
    gowl  
    OP
       2023-07-04 07:01:15 +08:00
    @Worldispow pg 也有不错的商业客户端的
    gowl
        6
    gowl  
    OP
       2023-07-04 07:09:20 +08:00
    @Radeon 你说的对~另外这个在实际使用中应该不是问题
    acctv2
        7
    acctv2  
       2023-07-04 07:41:58 +08:00
    EFCORE 对 SQLSERVER 支持最好?
    klo424
        8
    klo424  
       2023-07-04 08:15:35 +08:00
    我挺喜欢用 pg 的,但老项目用的 sql server 迁移很费劲。
    liuliuliuliu
        9
    liuliuliuliu  
    PRO
       2023-07-04 08:28:52 +08:00
    只要你愿意付费,你使用中出现的任何问题,都可以开 case 让微软来帮你处理
    liantian
        10
    liantian  
       2023-07-04 08:44:06 +08:00   1
    说个不是很深技术层面的...

    如果单位长期使用 Active Directory ,并打算用 Active Directory 横跨办公和生产做统一验证。

    那么基于登录 Active Directory 的用户的 Group 分配数据库权限,似乎 Sql Server 很方便,其他数据库配置极难。难到没见过例子。
    root01
        11
    root01  
       2023-07-04 08:56:13 +08:00
    金蝶:你在说什么?
    makelove
        12
    makelove  
       2023-07-04 09:09:03 +08:00
    @gowl pg 里排序里加表达式难道不会搞成全表扫描?
    netnr
        13
    netnr  
       2023-07-04 09:09:29 +08:00
    #2 你这个是排序,还有转小写有性能问题

    数据库一般都有 排序规则+字符集 两个属性,比如 MySQL ,SQLServer 合一起叫排序规则,支持几百上千种(分了很多语种),像 ClickHouse 就无视字符集

    以前我发过一篇主题,提到 pg 不支持排序规则忽略大小写比较,像我这边是用 EFCore 生成包含搜索是 like ,在 pg 里面是区分大小写搜索的,需要用 ILike ,得用 EF 对象的扩展来写,变得不通用,当然这种情况是对我,我是认可用一种数据库,就深挖用精强关联的,只是我现在是倾向弱关联
    nothingistrue
        14
    nothingistrue  
       2023-07-04 09:22:39 +08:00
    只考虑科技层面和实际使用中的区别,那啥都是可替代的。当选择软件基础设施的时候,风险和成本等商业层面才是最主要的考虑范畴。基本上来说,只要考虑了付费的可以甩锅的,那么免费的没法甩锅的就一概是不会再考虑的。
    jiulang
        15
    jiulang  
       2023-07-04 09:23:15 +08:00
    性能。性能。性能。
    wanguorui123
        16
    wanguorui123  
       2023-07-04 09:24:45 +08:00
    授权费
    koloonps
        17
    koloonps  
       2023-07-04 10:03:48 +08:00
    @root01 金蝶也在转 Java 和 MySQL 了
    xiangyuecn
        18
    xiangyuecn  
       2023-07-04 10:06:44 +08:00   1
    pg 的加引号的 '表名' '字段名' ,是反人类设计
    dog82
        19
    dog82  
       2023-07-04 10:14:14 +08:00
    @jiulang 请问是 pg 的性能好还是 sql server 的性能好?
    beyondex
        20
    beyondex  
       2023-07-04 10:22:28 +08:00
    pg 能在 sql 里定义变量吗? 像 sql server 可以
    declarer @var1 int;
    set @var = 1

    我查了一圈,也问了 gpt ,pg 貌似只能在函数里定义变量???
    jiulang
        21
    jiulang  
       2023-07-04 13:10:49 +08:00   1
    @dog82 sqlserver 性能好
    lujiaxing
        22
    lujiaxing  
       2023-07-04 13:15:48 +08:00
    @Worldispow 客户端 UI, Navicat Premium 了解一下? 世界上还有比 Navicat 更好用的客户端?
    lujiaxing
        23
    lujiaxing  
       2023-07-04 13:16:43 +08:00
    @xiangyuecn 这是规范. 就算是 SQLServer 里也要求加的. 虽然 SQLServer 不加也能执行.
    Worldispow
        24
    Worldispow  
       2023-07-04 13:23:30 +08:00 via Android
    @lujiaxing Navicat 虽然很优秀,但他不是一个管理工具,而是一个数据库操作工具。

    数据库管理工具是给 dba 用的,数据库操作工具是给开发人员、业务人员用的。
    lambdaq
        25
    lambdaq  
       2023-07-04 13:29:00 +08:00   1
    我对 pg 的怨念是 update where 不能加 limit
    dw2693734d
        26
    dw2693734d  
       2023-07-04 14:16:19 +08:00 via iPhone
    我喜欢 psql 的 citus
    vopsoft
        27
    vopsoft  
       2023-07-05 09:17:22 +08:00   1
    性能
    flyingfz
        28
    flyingfz  
       2023-07-05 10:42:41 +08:00   2
    @klo424 看看这个

    Babelfish for PostgreSQL is an open source project available under the Apache 2.0 and PostgreSQL licenses. It provides the capability for PostgreSQL to understand queries from applications written for Microsoft SQL Server. Babelfish understands the SQL Server wire-protocol and T-SQL, the Microsoft SQL Server query language, so you don’t have to switch database drivers or re-write all of your application queries. With Babelfish, applications currently running on SQL Server can now run directly on PostgreSQL with fwer code changes.

    https://babelfishpg.org/
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     823 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 21:59 PVG 05:59 LAX 13:59 JFK 16:59
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86