linux安装海量数据库和操作
1,安装海量数据库
按照白皮书实例化数据库安装即可,安装完之后,操作数据库
#启动数据库
vb_ctl start
#关闭数据库
vb_ctl stop
#查看状态
vb_ctl status
2,连接数据库
以操作系统用户 vastbase 登录数据库主节点。安装数据库时,创建了vastbase用户
执行如下命令连接数据库。
vsql -d vastbase -p 5432
其中 vastbase 为需要连接的数据库名称,5432 为数据库主节点的端口号。
请根据实际情况替换。另外,也可以使用如下任一命令连接数据库。
vsql vastbase://vastbase:Gauss_234@127.0.0.1:5432/vastbase -r
vsql -d "host=127.0.0.1 port=5432 dbname=vastbase user=vastbase password=Gau
ss_234"
连接成功之后
vastbase=#
换新用户登录
vastbase=#\c postgres
退出数据库。
vastbase=#\q
3,创建和管理数据库
用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据
库,赋予创建数据库的权限参见管理用户及权限。
创建数据库
使用如下命令创建一个新的表空间 tpcds_local。
CREATE TABLESPACE tpcds_local RELATIVE LOCATION 'tablespace/tablespace_1' ;
使用如下命令创建一个新的数据库 db_tpcc。
CREATE DATABASE knowledge WITH TABLESPACE = tpcds_local;
使用如下命令创建数据库并设置数据库空间使用最大值和告警阈值,
maxsize 为空间最大值,threshold 为告警阈值。
CREATE DATABASE knowledge maxsize '100M' threshold 90;
注意:
创建一个全新的用户,并赋予数据库权限
-- 1. 创建一个全新的用户
CREATE USER knowledge_user WITH PASSWORD 'Knowledge123!';-- 2. 授予所有权限
GRANT ALL PRIVILEGES ON DATABASE knowledge TO knowledge_user;-- 3. 切换到 knowledge 数据库授予模式权限
\c knowledge
GRANT ALL PRIVILEGES ON SCHEMA public TO knowledge_user;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO knowledge_user;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO knowledge_user;
-- 4. 验证新用户
\c postgres
SELECT usename FROM pg_user WHERE usename = 'knowledge_user';
查看所有的数据表
dt knowledge.*
查询数据库表结构
-- 某个数据表结构
\d knowledge.t_software
-- 全部数据表结构
\d knowledge.*
海量数据库不区分大小写,如果这样写\d knowledge.T_SOFTWARE会把T_SOFTWARE转为小写t_software
如果需要大写,可以加上引号\d knowledge.“T_SOFTWARE”,USER是海量数据库的保留字,使用时,最好用引号,或者小写加引号
查看数据库
使用\l 元命令查看数据库系统的数据库列表。
vastbase=# \l
使用如下命令通过系统表 pg_database 查询数据库列表。
vastbase=# SELECT datname FROM pg_database;
查询数据
SELECT count(*) FROM knowledge."T_KNOWLEDGE";
SELECT count(*) FROM knowledge.t_knowledge;
SELECT * FROM knowledge."T_KNOWLEDGE" LIMIT 5;
修改数据库
用户可以使用如下命令修改数据库属性(比如:owner、名称和默认的配置属
性)。
使用以下命令为数据库设置默认的模式搜索路径。
vastbase=# ALTER DATABASE knowledge SET search_path TO pa_catalog,public;
使用如下命令修改数据库表空间。
vastbase=# ALTER DATABASE knowledge SET TABLESPACE tpcds;
使用如下命令为数据库重新命名。
vastbase=# ALTER DATABASE knowledge RENAME TO human_tpcds;
修改某个字段名
ALTER TABLE knowledge."T_SOFTWARE" RENAME COLUMN cpu_type TO "CPU_TYPE";
删除数据库
用户可以使用 DROP DATABASE 命令删除数据库。这个命令删除了数据
库中的系统目录,并且删除了磁盘上带有数据的数据库目录。用户必须是数据
库的 owner 或者系统管理员才能删除数据库。当有人连接数据库时,删除操
作会失败。删除数据库时请先连接到其他的数据库。
使用如下命令删除数据库:
vastbase=# DROP DATABASE knowledge;
导出数据库
su -vastbase
pg_dump -h 192.168.190.133 -p 5432 -U knowledge_user -f /home/vastbase/knowledge_backup_$(date +%Y%m%d).ql knowledge
java里面调用
spring:datasource:# 基本连接配置driver-class-name: org.postgresql.Driverurl: jdbc:postgresql://ip:5432/knowledge?currentSchema=knowledge¤tSchema=knowledgeusername: knowledge_userpassword: Knowledge123!
pom里引入依赖
<!-- <dependency>-->
<!-- <groupId>com.vastbase</groupId>-->
<!-- <artifactId>vastbase-jdbc</artifactId>-->
<!-- <version>2025010708</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/src/main/resources/lib/Vastbase-M100-trunk_pg_2025010708.jar</systemPath>-->
<!-- </dependency>-->
<!--海量数据库基于postgresql,使用下面的即可--><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><version>42.3.3</version></dependency>