当前位置: 首页 > article >正文

数据库管理-第122期 配置Halo数据库(202301204)

数据库管理-第122期 配置Halo数据库(202301204)

在120期完成了HaloDB的安装,那么紧接着就需要对数据库进行具体配置。

1 数据库配置

这里首先说一下我这里数据库的给的硬件配置:2个CPU,16GB内存

1 配置数据库访问控制

vim $PGDATA/pg_hba.conf
添加
host all all 0/0 md5
#控制网段可以配置192.168.19.0/0

2 配置归档日志参数

mkdir $PGDATA/archivelog
vim $PGDATA/postgresql.conf
修改以下内容
archive_mode = on
archive_command = 'test ! -f /u01/app/halo/data/halo/archivelog/%f && cp %p /u01/app/halo/data/haloarchivelog/%f'
restore_command = 'cp /u01/app/halo/data/halo/archivelog/%f %p'

3 其他配置

vim $PGDATA/postgresql.conf
修改以下内容
listen_addresses = '*'
port = 1921
max_connections = 1000
work_mem = 16MB
wal_buffers = 16MB
checkpoint_completion_target = 0.9
max_wal_size = 8GB
min_wal_size = 2GB
default_statistics_target = 100
log_destination = 'csvlog'
logging_collector = on
random_page_cost = 1.1
maintenance_io_concurrency = 200
wal_log_hints = on
shared_buffers = 4096MB #内存的25%-40%
effective_cache_size = 8GB #内存的50%
max_worker_processes = 2 #CPU数
max_parallel_workers = 2 #CPU数

从上面数据库配置来看,与PostgreSQL配置没多少区别,完成后执行下面命令重启数据库即可:

pg_ctl restart

2 开启Oracle模式

完成了第一节的配置后,数据库算是运行在PG模式下,但是一款作为目标为替换Oracle数据库的数据库,还可以运行在Oracle模式下(也有MySQL模式,不详解):

vim $PGDATA/postgresql.conf
修改以下内容
standard_parserengine_auxiliary = 'on'
database_compat_mode = 'oracle'
oracle.use_datetime_as_date = true
transform_null_equals = off

#下面为MySQL模式
#database_compat_mode = 'mysql'
#second_listener_on = 1
#second_port = 3306

重启数据库
pg_ctl restart
create extension aux_oracle cascade;
#采用Oracle模式情况下,新建库都要创建扩展才能使用Oracle语法

#MySQL模式
#create extension aux_mysql;
#set password_encryption='mysql_native_password';
#CREATE USER mysqlroot SUPERUSER PASSWORD '123456';
#采用MySQL模式情况下,MySQL的数据库即schema,只需要在halo0root库下创建schema就可以。

注:后续的所有操作都将在Oracle模式下执行
在这里插入图片描述

3 基础测试

1 查询database

SELECT * FROM pg_database;

在这里插入图片描述

2 创建一个名为oracle的database

create database oracle;
\c oracle

在这里插入图片描述
这里基本还是参照了PostgreSQL的语法。

3 按照Oracle语法尝试创建一张表:

CREATE TABLE "EMPLOYEES"
   (    "EMPLOYEE_ID" NUMBER(6,0),
        "FIRST_NAME" VARCHAR2(20),
        "LAST_NAME" VARCHAR2(25)  NOT NULL,
        "EMAIL" VARCHAR2(25)  NOT NULL,
        "PHONE_NUMBER" VARCHAR2(20),
        "HIRE_DATE" DATE NOT NULL,
        "JOB_ID" VARCHAR2(10) NOT NULL,
        "SALARY" NUMBER(8,2),
        "COMMISSION_PCT" NUMBER(2,2),
        "MANAGER_ID" NUMBER(6,0),
        "DEPARTMENT_ID" NUMBER(4,0));

在这里插入图片描述
表可以按照Oracle的语法直接创建,但是经过测试,直接在列上创建约束会有些报错。

create table test (id number CONSTRAINT "test_null_con" NOT NULL ENABLE);

在这里插入图片描述
image.png
建表语句兼容性上还是有一些需要注意的。

总结

本期完成了HaloDB的基本配置并进入了Oracle模式进行了一些简单测试,兼容性有但不完整,后面将造点数据测试其他SQL语句和性能对比测试。
老规矩,知道写了些啥。


http://www.kler.cn/a/156370.html

相关文章:

  • 软件测试面试大全(含答案+文档)
  • 阿里云centos7.9服务器磁盘挂载,切换服务路径
  • Spring高手之路26——全方位掌握事务监听器
  • 建筑施工特种作业人员安全生产知识试题
  • [前端]NodeJS常见面试题目
  • 【Java SE】接口类型
  • 前后端数据传输格式(下)
  • 日志检索场景ES->Doris迁移最佳实践:函数篇
  • Python+OpenCV实现最强自动扫雷
  • 算法基础--双指针
  • 深度学习——第3章 Python程序设计语言(3.2 Python程序流程控制)
  • PAD平板签约投屏-高端活动的选择
  • C++基础介绍及关键字
  • PHPExcel 导出Excel报错:PHPExcel_IOFactory::load()
  • 分享74个节日PPT,总有一款适合您
  • 【部署】Deploying Trino on linux
  • C++ string类(2)—成员访问、插入、删除、替换、查找和交换操作
  • 免费数据采集软件,多种数据采集方式
  • centos 源码编译gcc10.2
  • Vue框架学习笔记——列表渲染:v-for
  • python——多线程的相关知识点总结
  • Golang数据类型(数字型)
  • 风变科技千万营收的AIGC项目,在Fanbook成功落地,专访风变科技CMO江育麟
  • 创建Asp.net MVC项目实现视图页面数据传值显示
  • leetCode 39.组合总和 + 回溯算法 + 剪枝 + 图解 + 笔记
  • minio服务端搭建使用