LightDB 23.1兼容Oracle新特性支持

来源:这里教程网 时间:2026-03-14 20:57:02 作者:

22.3中LightDB兼容Oracle语法做了增强 新特性兼容如下:

  • grant connect/resource语句
  • drop user test cascade;

    grant connect/resource语句

    如下语句在LightDB中可以运行成功 切换到Oracle模式的数据库test中执行,执行下面语句确认

    show lightdb_dblevel_syntax_compatible_type;
    Oracle

    返回Oracle说明数据库库Oracle模式

    lightdb@test=# CREATE USER TEST IDENTIFIED BY test DEFAULT TABLESPACE test TEMPORARY TABLESPACE test; CREATE ROLElightdb@test=# GRANT CONNECT TO TEST;GRANT ROLElightdb@test=# GRANT RESOURCE TO TEST;GRANT ROLElightdb@test=# GRANT UNLIMITED TABLESPACE TO TEST;GRANT ROLE

    drop user cascade级联删除语句

    创建测试库,和测试表

    
    

    当有连接登陆到数据库中时,是不允许删除的,这与Oracle类似,可以通过如下命令确认:

    \c test
    lightdb@test=# select * from lt_stat_activity where datname = 'test';-[ RECORD 1 ]----+-----------------------------------datid            | 24485
    datname          | test
    pid              | 29451
    leader_pid       | 
    usesysid         | 24486
    usename          | test
    application_name | ltsql
    client_addr      | 10.0.4.4
    client_hostname  | 
    client_port      | 32429
    backend_start    | 2023-02-17 09:19:04.632679+08
    xact_start       | 
    query_start      | 2023-02-17 09:21:30.590778+08
    state_change     | 2023-02-17 09:21:30.592998+08
    wait_event_type  | Client
    wait_event       | ClientRead
    state            | idle
    backend_xid      | 
    backend_xmin     | 
    query_id         | 5903824519346358151
    query            | insert into test_table values (1);
    backend_type     | client backend
    lightdb@test=# drop user test cascade;ERROR:  user 'test' cannot be dropped cascade because there are users already connected.

    中断此链接后,可以cascade方式删除

    \c test
    lightdb@test=# drop user test cascade;DROP ROLE

    注:级联删除不会删除库

  • 相关推荐