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>
相关推荐
x-cmd几秒前
Linus 9 年前说「模糊测试有效」——今天已成 OSS-Fuzz 时代铁律
linux·ai·rust·开源·自动化·agent·安全性测试
阿演29 分钟前
DataDjinn v0.2.11:SQL 编辑、AI 协作和表格操作继续打磨
数据库·人工智能·sql
六点_dn1 小时前
Linux学习笔记-chmod命令
linux·笔记·学习
AOwhisky1 小时前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python
浮江雾1 小时前
Flutter第四节------核心概念学习笔记:从基础语法到异步编程
linux·服务器·开发语言·笔记·flutter·入门·基础
FoldWinCard1 小时前
D4 Linux 进程 内存 等命令
linux·运维·服务器
在线OJ的阿川2 小时前
仿muduo库实现高并发服务器
linux·服务器·c++
M海洋2 小时前
Ubuntu dialout 串口权限授权
linux·单片机·ubuntu
l1t2 小时前
duckdb 1.6dev新增的.manual命令
开发语言·数据库
j7~2 小时前
【Linux 系统】二十.进程间通信(共享内存、消息队列、信号量)
linux·运维·消息队列·共享内存·信号量·system v