linux安装海量数据库和操作

1,安装海量数据库

按照白皮书实例化数据库安装即可,安装完之后,操作数据库

bash 复制代码
#启动数据库
vb_ctl start
#关闭数据库
vb_ctl stop
#查看状态
vb_ctl status

2,连接数据库

以操作系统用户 vastbase 登录数据库主节点。安装数据库时,创建了vastbase用户

执行如下命令连接数据库。

bash 复制代码
vsql -d vastbase -p 5432

其中 vastbase 为需要连接的数据库名称,5432 为数据库主节点的端口号。

请根据实际情况替换。另外,也可以使用如下任一命令连接数据库。

bash 复制代码
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

退出数据库。

bash 复制代码
vastbase=#\q

3,创建和管理数据库

用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据

库,赋予创建数据库的权限参见管理用户及权限。

创建数据库

使用如下命令创建一个新的表空间 tpcds_local。

bash 复制代码
CREATE TABLESPACE tpcds_local RELATIVE LOCATION 'tablespace/tablespace_1' ;

使用如下命令创建一个新的数据库 db_tpcc。

bash 复制代码
CREATE DATABASE knowledge WITH TABLESPACE = tpcds_local;

使用如下命令创建数据库并设置数据库空间使用最大值和告警阈值,

maxsize 为空间最大值,threshold 为告警阈值。

bash 复制代码
CREATE DATABASE knowledge maxsize '100M' threshold 90;
注意:

创建一个全新的用户,并赋予数据库权限

bash 复制代码
-- 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';

查看所有的数据表

bash 复制代码
dt knowledge.*

查询数据库表结构

bash 复制代码
-- 某个数据表结构
\d knowledge.t_software
-- 全部数据表结构
\d knowledge.*

海量数据库不区分大小写,如果这样写\d knowledge.T_SOFTWARE会把T_SOFTWARE转为小写t_software

如果需要大写,可以加上引号\d knowledge."T_SOFTWARE",USER是海量数据库的保留字,使用时,最好用引号,或者小写加引号

查看数据库

使用\l 元命令查看数据库系统的数据库列表。

bash 复制代码
vastbase=# \l

使用如下命令通过系统表 pg_database 查询数据库列表。

bash 复制代码
vastbase=# SELECT datname FROM pg_database;

查询数据

bash 复制代码
SELECT count(*) FROM knowledge."T_KNOWLEDGE";
SELECT count(*) FROM knowledge.t_knowledge;
SELECT * FROM knowledge."T_KNOWLEDGE" LIMIT 5;
修改数据库

用户可以使用如下命令修改数据库属性(比如:owner、名称和默认的配置属

性)。

使用以下命令为数据库设置默认的模式搜索路径。

bash 复制代码
vastbase=# ALTER DATABASE knowledge SET search_path TO pa_catalog,public;

使用如下命令修改数据库表空间。

bash 复制代码
vastbase=# ALTER DATABASE knowledge SET TABLESPACE tpcds;

使用如下命令为数据库重新命名。

bash 复制代码
vastbase=# ALTER DATABASE knowledge RENAME TO human_tpcds;

修改某个字段名

bash 复制代码
ALTER TABLE knowledge."T_SOFTWARE" RENAME COLUMN cpu_type TO "CPU_TYPE";
删除数据库

用户可以使用 DROP DATABASE 命令删除数据库。这个命令删除了数据

库中的系统目录,并且删除了磁盘上带有数据的数据库目录。用户必须是数据

库的 owner 或者系统管理员才能删除数据库。当有人连接数据库时,删除操

作会失败。删除数据库时请先连接到其他的数据库。

使用如下命令删除数据库:

bash 复制代码
vastbase=# DROP DATABASE knowledge;
导出数据库
bash 复制代码
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里面调用

bash 复制代码
spring:
  datasource:
    # 基本连接配置
    driver-class-name: org.postgresql.Driver
    url: jdbc:postgresql://ip:5432/knowledge?currentSchema=knowledge&currentSchema=knowledge
    username: knowledge_user
    password: Knowledge123!

pom里引入依赖

bash 复制代码
<!--        <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>
相关推荐
SelectDB技术团队2 分钟前
ClickHouse 支持存算分离吗?Doris 社区版原生存算分离怎么落地
数据库·clickhouse·云原生·开源·apache doris·技术选型·存算分层
叼烟扛炮5 分钟前
Linux 学习笔记(三十六):并发进阶——读写锁 vs 自旋锁,到底怎么选?
linux·运维·服务器·笔记·学习
DBA_G8 分钟前
南大通用GBase 8a数据库可视化灾备解决工具GVR
数据库
bu_shuo28 分钟前
删除Windows资源管理器左侧【此电脑】的Linux企鹅图标
linux·windows
步行cgn28 分钟前
Spring MVC 删除功能:用隐藏表单模拟 DELETE 请求的完整解析
linux·运维·服务器
JJJennie77735 分钟前
MAI Gateway实战部署:大模型网关部署方案?从0到1上手指南
数据库·人工智能·gateway·ai网关
吹什么轩37 分钟前
MySQL 内连接与外连接:从笛卡尔积到 LEFT JOIN,一篇讲透
数据库·mysql
涛思数据(TDengine)38 分钟前
支撑药企全球化合规:TDengine 发布中美欧三地监管对照白皮书
大数据·数据库·人工智能·ai·tdengine
晴天¥39 分钟前
记录Oracle11g数据库OGG同步实验
oracle·oracle ogg·oracle高可用架构
李兆龙的博客42 分钟前
从一到无穷大 #106:Nimble 文件格式——超宽表的元数据、编码与索引设计
数据库·存储·parquet