首页 > 数据库 >nacos加postgresql

nacos加postgresql

时间:2023-10-24 09:22:10浏览次数:34  
标签:插件 postgresql plugin nacos ext datasource

Nacos2.2版本数据库适配插件

一、插件概述

1.1、简介

从2022年12月14日发布的Nacos2.2正式版本开始,Nacos提供了数据源扩展插件,以便让需要进行其他数据库适配的用户自己编写插件来保存数据。当前项目插件目前已简单适配Postgresql,并抽象了一套常见的兼容项的方言类,开发者可以基于该设计,实现自定义分页逻辑即可。

如需Nacos2.1支持,请移步个人之前创建这个仓库,该仓库目前支持PostgreSQL、Oracle、达梦,简单的操作基本可以实现。

https://github.com/wuchubuzai2018/nacos-multidatasource

当前项目基于Nacos2.2版本的扩展插件口进行开发。

2.2、插件工程结构说明

nacos-datasource-plugin-ext工程主目录

----nacos-datasource-plugin-ext-base工程设计为数据库插件操作的适配抽象。

----nacos-all-datasource-plugin-ext工程计划可打包所有适配的数据库插件

----nacos-postgresql-datasource-plugin-ext工程可打包适配Postgresql的数据库插件

二、下载和使用

IDEA导入时导入nacos-datasource-plugin-ext这个目录作为根目录即可。

2.1、插件引入

方式一:源码方式

使用postgresql作为依赖引入到Nacos主分支源码中,使用Maven提前将当前工程Install到Maven仓库,然后在Pom.xml中引入如下依赖:

<dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-postgresql-datasource-plugin-ext</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>
 

或引入all模块。

方式二:打包形式引入

在Nacos2.2的发布包环境下,下载当前插件项目源码,打包为jar包,将该文件放到nacos主目录下的plugins文件夹中,默认会使用Nacos的loader.path机制指定该插件的路径,打包插件可选择nacos-postgresql-datasource-plugin-ext打包即可。postgresql模块的打包默认会包含postgresql的jdbc驱动类和base依赖。

2.2、修改数据库配置文件

在application.properties文件中声明postgresql的配置信息:

spring.datasource.platform=postgresql
db.url.0=jdbc:postgresql://127.0.0.1:5432/nacos?tcpKeepAlive=true&reWriteBatchedInserts=true&ApplicationName=nacos_java
db.user=nacos
db.password=nacos
db.pool.config.driverClassName=org.postgresql.Driver
 

2.3、导入Postgresql的数据库脚本文件

导入nacos-postgresql的脚本文件,脚本文件在nacos-postgresql-datasource-plugin-ext/src/main/resources/schema文件夹下面.

上面操作完成后,启动Nacos即可。

 

 文档

https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins

jar包下载

https://github.com/wuchubuzai2018/nacos-datasource-extend-plugins/releases

标签:插件,postgresql,plugin,nacos,ext,datasource
From: https://www.cnblogs.com/3xiaoleilei/p/17783952.html

相关文章

  • spring-cloud-starter-alibaba-nacos-discovery 配置信息
    spring-cloud-starter-alibaba-nacos-discovery1.spring-config-metadata.json{"groups":[{"name":"management.endpoint.nacosdiscovery","type":"com.alibaba.cloud.nacos.endpoint.NacosDiscovery......
  • nacos启动脚本去除多余的javac
    github上面一个阿里巴巴开源的服务叫nacos,用途在这里不多说了,主要是在启动时他会寻找javac,但是很多服务器可能没有,所以我小小的修改了一下他的startup.sh然后给他打成了rpm包,也不知道网站可不可以直接把包传上来,这里是github的地址,乱放在一个仓库里面的:https://github.com/linux......
  • PostgreSQL 不支持 union 查询 json
    当在使用PostgreSQL数据库查询数据的时候,因为查询出来的列中包含格式为json的字段进行union报错了,该操作不支持json类型,使用unionall也是同样错误最后查阅资料得出,需要转换为jsonb才行,需要使用函数to_jsonb(你的json字段),之后,union和unionall就都可以了json与jsonbPostgre......
  • oracle使用dblink连接postgresql
    环境:oracle    数据库:192.168.22.201端口号6666操作系统:RHEL7.6postgresql数据库:192.168.22.20  端口号5432操作系统:RHEL7.6pg数据库配置1、修改pg_hba.conf文件hostalllanmc192.168.22.201/24md52、重新加载服务systemctlreloadpostgresql-15.serviceo......
  • Postgresql数据库之Python连接数据库&查询练习
    Task1.基于finalshell建立的SSH隧道,实现Python代码连接天翼云数据库(1)给出finalshell的配置如下图:为了登录安全起见,将ssh登录端口和数据库监听端口进行了修改。(2)给出Python连接天翼云数据库的代码Python代码如下:importpsycopg2conn=psycopg2.connect(dbname='a2513210112',......
  • 在Postgresql中,为表中的所有点提供100m缓冲区,其中有50M个条目
    我有一个表,有50米的纬度和经度条目,geom是我从QGIS导入时创建的。我试图通过调用jupyter笔记本中的表来为表中的所有点创建一个100m的缓冲区。我还尝试使用SRID:25832转换坐标系,以米为单位表示缓冲区,但在postgresql视图中看不到投影到正确位置的点。SELECT*FROMpublic."opera......
  • PgSql - PostGIS 在 PostgreSQL 中使用
    首先来介绍一下PostGIS是什么?PostGIS是PostgreSQL对象关系数据库的一个空间数据库扩展。它增加了对地理对象的支持,允许在SQL中运行位置查询。官方介绍:PostGIS:SpatialandGeographicobjectsforPostgreSQLPostGISisaspatialdatabaseextenderforPostgreSQLobject......
  • Nacos一致性协议
    一、概要Nacos是阿里开放的一款中间件,它主要提供三种功能:持久化节点注册,非持久化节点注册和配置管理。二、一致性协议-AP/CPNacos不是纯粹的AP服务,也不是纯粹的CP服务,而是两者同时支持。这要从服务注册说起,Provider启动时将自身的信息注册至注册中心,如果注册中心是Zookeeper......
  • 使用Grafana监控Nacos的简单过程
    使用Grafana监控Nacos的简单过程背景与kafka一样,想同期监控一下nacos.发现nacos跟minio等一样都有对应的metrics的暴露接口.所以这边简单使用一下.studyFromhttps://blog.csdn.net/qq_30718137/article/details/117471732https://grafana.com/grafana/dashboards/132......
  • postgresql【JSONB用法】
    //userNametypecode是我拿到数据结构出来的可以写固定值来测试;code字段为上面设置的唯一约束。如果code值没有变就是修改,否则就是新增INSERTINTO表名(username,type,code)VALUES('${userName}','${type}','${code}')ONCONFLICT9.6语法支持(code)DOUPDATE......