hubble支持PostgreSQL协议和大多数 PostgreSQL语法,这意味着在 PostgreSQL上构建的现有应用程序通常可以迁移到hubble。
[root@ty-bj01-gf01 opt]#mssql-scripter -S 192.168.100.123 -d test -U sa -P 1qaz2WSX --display-progress > ss.sql导出后的sql文件,包括了用户所拥有的的权限,建表语句、主键、索引、表之间的主外键关系,视图等一些信息。但是对应到hubble上的话仍然需要修改,注意事项包括:
表的主键和表之间的主外键关系在create table语句中创建。
sqlserver数据类型转换成hubble的数据类型。
| sqlserver数据类型 | hubble数据类型 |
|---|---|
| INT | INT |
| NVARCHAR(n) | VARCHAR(n) |
| VARCHAR(n) | VARCHAR(n) |
| NCHAR(n) | CHAR(n) |
| CHAR(n) | CHAR(n) |
| TEXT | TEXT |
| TIME | TIME |
| DATE | DATE |
| DATETIME | DATETIME |
| DATETIMEOFFSET | TIMESTAMP WITH TIME ZONE |
| BIGINT | BIGINT |
| DECIMAL | NUMERIC |
| TIMESTAMP(p) | TIMESTAMP |
| DATETIME2 | TIMESTAMP |
| SMALLTIMESTAMP(p) | TIMESTAMP |
| FLOAT(n) | DECIMAL(n) |
| MONEY | NUMERIC |
| SMALLMONEY | NUMERIC |
| TINYINT | SMALLINT |
| IMAGE | BYTE |
| UNIQUEIDENTIFIER | UUID |
| XML | JSON |
| sqlserver | hubble |
|---|---|
| leg() | length |
| isnull() | coalesce() |
| ltirm() | tirm() |
| rtirm() | tirm() |
| str1+str2 | str1 |
| exists() | exists() |
| lower() | lower() |
| upper() | upper() |
| round(age1,0) | round(age1) |
| floor() | floor() |
| ceil() | ceil() |
| getdate() | now() |
| dateadd() | now () +interval '1 months' |
sqlserver的文件导出建议使用dbeaver工具,导出的数据不需要改动
create table cust_info(cust_no varchar(40) primary key,cust_name varchar(40) ,cust_card_no varchar(20),age DECIMAL);
create table trans (cust_id varchar(20) primary key,cust_no varchar(30),trans_date timestamp,trans_aml DECIMAL(10,2));[hubble@poc-hubble01 ~]$ cd /data_shares/cus
[hubble@poc-hubble01 cus]$ ls
cust_info.csv trans.csvIMPORT into cust_info ( cust_no ,cust_name, cust_card_no, age
) CSV DATA ( 'nodelocal://1/cus/cust_info.csv' )
WITH
DELIMITER = ','
; job_id | status | fraction_completed | rows | index_entries | bytes
---------------------+-----------+--------------------+------+---------------+--------
748594745725714433 | succeeded | 1 | 2 | 0 | 114IMPORT into trans ( cust_id ,cust_no,trans_date, trans_aml
) CSV DATA ( 'nodelocal://1/cus/trans.csv' )
WITH
DELIMITER = ','
; job_id | status | fraction_completed | rows | index_entries | bytes
---------------------+-----------+--------------------+------+---------------+--------
748595201171456001 | succeeded | 1 | 2 | 0 | 102