国产数据库-虚谷 使用记录

本文档基于虚谷数据库12.0.0版本,单机部署模式的情况下的使用介绍。

虚谷数据库是一款自主原创、安全可靠、功能强大、性能优越的关系型数据库管理系统,支持SQL(Structured Query Language)标准语法,支持标准化、双机高可用、分布式集群部署,提供国产化、面向多核的高性能和数据安全服务,融合成都虚谷伟业科技有限公司在数据库领域20多年的研发经验沉淀,结合各类关系型数据库的应用场景需求,持续构建竞争力特性。

虚谷数据库采用NEWSQL架构从0开始设计,即一个无状态的SQL引擎与一个通用(与逻辑解耦)的存储引擎加上管理引擎构建的产品。整个产品采用的是单进程多线程模型,所有的数据库任务(计算、存储、管理)可以独占或混合在单个进程中,所以具有从1到N无缝扩展的特性。

虚谷数据库的定位是通用型、透明化、高性能的单机分布式一体化数据库。

系统配置(${XUGU_HOME}/SETUP/xugu.ini):

max_trans_modify = 0; 单个事务最大允许变更行数(0表示不限制)。当批量写入超过其默认值时,可以修改此参数。

data_buff_mem = 5120; 数据缓冲区内存(单位:M)

swap_buff_mem = 256; 交换缓冲区内存(单位:M)

system_sga_mem = 512; 系统全局区内存(单位:M)

数据库启停:

#后台启动
/data/xugu_sp/BIN/xugu_linux_x86_64_XXX_sp -service 
#前台启动,随着窗口关闭结束命令
/data/xugu_sp/BIN/xugu_linux_x86_64_XXX_sp -child 
#关闭数据库,进入数据库后执行如下命令
shutdown immediate;
#查看数据库进程是否停止
ps -ef | grep xugu 

**进入数据库:**数据库默认端口 5138

xgconsole nssl 127.0.0.1 5138 SYSTEM SYSDBA SYSDBA

扩展空间插件:

CREATE EXTENSION spatial; 

数据库系统表查询:

CREATE TABLE geom_test(	
	id int ,
	name varchar(255),
	geom Geometry(POINT,4326)
)

1、查询表信息

SELECT sch.schema_name,tab.table_name,tab.table_id
FROM SYSDBA.sys_tables tab
LEFT JOIN
SYSDBA.all_schemas sch
ON tab.schema_id = sch.schema_id
WHERE sch.schema_name = 'SYSDBA' AND table_name = 'geom_test'

2、查询表的主键

SELECT cs.define attname
FROM SYSDBA.DBA_CONSTRAINTS cs
LEFT JOIN SYSDBA.sys_tables tab
ON cs.table_id = tab.table_id
LEFT JOIN SYSDBA.all_schemas sch
ON tab.schema_id = sch.schema_id
WHERE sch.schema_name = 'SYSDBA' AND tab.table_name = 'geom_test' AND cs.cons_type = 'P'

3、查询表的索引列

SELECT tab.table_name,sch.schema_name,idx.index_id,idx.index_name,idx.keys,idx.IS_UNIQUE,idx.is_primary,idx.VALID
FROM SYSDBA.dba_indexes idx
LEFT JOIN SYSDBA.sys_tables tab
ON idx.table_id = tab.table_id
LEFT JOIN SYSDBA.all_schemas sch
ON tab.schema_id = sch.schema_id
WHERE sch.schema_name = 'SYSDBA' AND tab.table_name = 'geom_test' AND idx.index_type = 0 AND idx.VALID=1 AND idx.IS_UNIQUE = true

4、查询表的自增序列

SELECT col.col_name,col.type_name,col.def_val
FROM SYSDBA.ALL_COLUMNS col
LEFT JOIN SYSDBA.sys_tables tab
ON col.table_id = tab.table_id
LEFT JOIN SYSDBA.all_schemas sch
ON tab.schema_id = sch.schema_id
WHERE sch.schema_name = 'SYSDBA' AND table_name = 'geom_test' AND col.def_val LIKE '%NEXTVAL%'

5、判断GEOMETRY_COLUMNS是否存在

SELECT count(*)
FROM SYSDBA.sys_views v
LEFT JOIN SYSDBA.all_schemas sch
ON v.schema_id = sch.schema_id
WHERE sch.schema_name = 'SYSDBA' AND v.view_name = 'GEOMETRY_COLUMNS';

6、获取表的空间列

SELECT F_GEOMETRY_COLUMN FROM SYSDBA.GEOMETRY_COLUMNS WHERE F_TABLE_SCHEMA = 'SYSDBA' AND F_TABLE_NAME = 'geom_test';

7、获取表的空间列类型

SELECT TYPE FROM SYSDBA.GEOMETRY_COLUMNS WHERE F_TABLE_SCHEMA = 'SYSDBA' AND F_TABLE_NAME = 'geom_test';
select st_geometrytype("geom") from SYSDBA.geom_test limit 1

8、查询表的wkid

SELECT SRID FROM SYSDBA.GEOMETRY_COLUMNS WHERE F_TABLE_SCHEMA = 'SYSDBA' AND F_TABLE_NAME = 'geom_test';
SELECT ST_SRID(SHAPE) FROM SYSDBA.geom_test LIMIT 1;

9、获取表的空间引用

SELECT SRID,PROJ4TEXT,SRTEXT FROM SYSDBA.SPATIAL_REF_SYS WHERE SRID = 4326;

10、空间函数 (POINT一定要大写)

SELECT st_geomfromtext('POINT (1 1)') FROM dual
SELECT ST_SetSRID(ST_MakePoint(1, 1), 4326) FROM dual

表操作:

1、创建序列

CREATE SEQUENCE IF NOT EXISTS seq_geom_test_id
 increment BY 1
 start WITH 1
 minvalue 1	
 maxvalue 2147483647
 cache 1;

2、赋值序列给到表字段引用

alter table SYSDBA.geom_test alter column id default seq_geom_test_id.nextval 

3、列操作

#新增列
ALTER TABLE geom_test ADD COLUMN objectid int NOT NULL PRIMARY KEY;
#删除列
ALTER TABLE geom_test DROP COLUMN objectid;
#修改列名
ALTER TABLE geom_test RENAME id TO keyid;
#修改列字段类型
ALTER TABLE SYSDBA."geom_test" MODIFY COLUMN  "name" VARCHAR(200);

4、删除索引(索引要指定所属的table)

DROP INDEX geom_test.index_name
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xhaoDream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值