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>
相关推荐
渡我白衣10 小时前
【MySQL基础】(2):数据库基础概念
数据库·人工智能·深度学习·神经网络·mysql·机器学习·自然语言处理
冉佳驹11 小时前
Linux ——— 磁盘存储原理与文件系统工作机制
linux·磁盘·硬链接·inode·软链接·磁盘线性化·目录的本质
BUG_MeDe11 小时前
LINUX MTU/MSS(1500 1460等)的一些理解
linux·运维·服务器
风流倜傥唐伯虎11 小时前
Windows 版 Docker 的 Linux 环境(docker-desktop)与 builder-jammy-base:latest 镜像核心区别
linux·docker·容器
alien爱吃蛋挞11 小时前
【JavaEE】万字详解Mybatis(上)
数据库·java-ee·mybatis
写代码的【黑咖啡】11 小时前
HiveSQL 语法详解与常用 SQL 写法实战
数据库·sql
黄筱筱筱筱筱筱筱11 小时前
7.适合新手小白学习Python的异常处理(Exception)
java·前端·数据库·python
怣5011 小时前
MySQL WHERE子句完全指南:精准过滤数据的艺术
数据库·mysql
大鳥11 小时前
第一章 - 数据仓库是什么
大数据·数据库·hive
A懿轩A11 小时前
【Maven 构建工具】Maven 依赖管理详解:坐标、传递、作用域与依赖冲突解决(一篇搞懂)
java·linux·maven