nacos2.3数据库兼容postgresql以及nacos源码调试
简介:nacos默认支持数据库是mysql,但是我们是pg为主要数据库,所以,将pg作为持久层会更好
一、nacos官网
1、nocos 文档地址:https://nacos.io/zh-cn/
2、源码下载地址:https://github.com/alibaba/nacos/releases/tag/2.3.0(目前github被关)
二、源码改动与编译
1、在项目根下的pom.xml
文件中添加如下依赖:
<!--版本可修改--> <postgresql.version>42.3.3</postgresql.version>
2、在项目的config模块的pom.xml
文件中添加如下依赖:
<dependency> <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <version>${postgresql.version}</version> </dependency>
3、源码修改
3.1、在项目的plugin模块的datasource模块com.alibaba.nacos.plugin.datasource.impl
包下新建一个包名为postgres
,拷贝同级包mysql
下的所有文件到postgres
包下,修改类名和文件名为xxxByPostgreSql
,如图
3.2、 修改刚拷贝的几个类中LIMIT ?,?
写法为OFFSET ? LIMIT ?
:
3.3、在项目的plugin模块的plugin/datasource/src/main/resources/META-INF/services/com.alibaba.nacos.plugin.datasource.mapper.Mapper增加如下内容:
com.alibaba.nacos.plugin.datasource.impl.postgres.ConfigInfoAggrMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.ConfigInfoBetaMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.ConfigInfoMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.ConfigInfoTagMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.ConfigTagsRelationMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.HistoryConfigInfoMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.TenantInfoMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.TenantCapacityMapperByPostgreSql
com.alibaba.nacos.plugin.datasource.impl.postgres.GroupCapacityMapperByPostgreSql
在项目的plugin/datasource/src/main/java/com/alibaba/nacos/plugin/datasource/constants/DataSourceConstant.java增加一个常量(这个地方会检验代码格式与空格)
public class DataSourceConstant {
public static final String MYSQL = "mysql";
public static final String DERBY = "derby";
public static final String POSTGRESQL = "postgresql";
}
3.4、编译打包
mvn '-Prelease-nacos' clean package install '-Dmaven.test.skip=true' mvn '-Prelease-nacos' '-Dmaven.test.skip=true' clean install -U mvn '-Prelease-nacos' '-Dmaven.test.skip=true' clean install -U '-Dcheckstyle.skip' 我用的是
mvn '-Prelease-nacos' clean install '-Dmaven.test.skip=true' '-Dcheckstyle.skip=true'
打好的包在/distribution/target/
目录下
3.5、鉴权以及pg数据库配置
nacos.standalone=true nacos.core.auth.enabled=true nacos.core.auth.server.identity.key=example nacos.core.auth.server.identity.value=example spring.datasource.platform=postgresql db.num=1 db.url.0=jdbc:postgresql://192.168.2.92:5432/pg_nacos?currentSchema=public&reWriteBatchedInserts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai db.user.0=postgres db.password.0=postgres db.pool.config.driverClassName=org.postgresql.Driver nacos.core.auth.plugin.nacos.token.secret.key==VGhpc0lzTXlDdXN0b21TZWNyZXRLZXkwMTIzNDU2Nzg= nacos.core.auth.caching.enabled=false
代码修改:plugins-defualt-impl模块,子模块nacos-default-auth-plugin中,修改com.alibaba.nacos.plugin.auth.impl.constant.AuthPageConstant
代码修改:persistence模块,修改com.alibaba.nacos.persistence.constants.PersistenceConstant
新增com.alibaba.nacos.plugin.auth.impl.persistence.handler.support.PostgreSqlPageHandlerAdapter类,内容只将适配器指向postgres
3.6、pg数据库脚本
/* Navicat Premium Data Transfer Source Server : 192.168.2.92 Source Server Type : PostgreSQL Source Server Version : 130004 Source Host : 192.168.2.92:5432 Source Catalog : pg_nacos Source Schema : public Target Server Type : PostgreSQL Target Server Version : 130004 File Encoding : 65001 Date: 27/12/2023 11:37:32 */ -- ---------------------------- -- Sequence structure for config_info_aggr_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_info_aggr_id_seq"; CREATE SEQUENCE "public"."config_info_aggr_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for config_info_beta_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_info_beta_id_seq"; CREATE SEQUENCE "public"."config_info_beta_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for config_info_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_info_id_seq"; CREATE SEQUENCE "public"."config_info_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for config_info_tag_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_info_tag_id_seq"; CREATE SEQUENCE "public"."config_info_tag_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for config_tags_relation_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_tags_relation_id_seq"; CREATE SEQUENCE "public"."config_tags_relation_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for config_tags_relation_nid_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."config_tags_relation_nid_seq"; CREATE SEQUENCE "public"."config_tags_relation_nid_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for group_capacity_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."group_capacity_id_seq"; CREATE SEQUENCE "public"."group_capacity_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for his_config_info_nid_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."his_config_info_nid_seq"; CREATE SEQUENCE "public"."his_config_info_nid_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for tenant_capacity_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."tenant_capacity_id_seq"; CREATE SEQUENCE "public"."tenant_capacity_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Sequence structure for tenant_info_id_seq -- ---------------------------- DROP SEQUENCE IF EXISTS "public"."tenant_info_id_seq"; CREATE SEQUENCE "public"."tenant_info_id_seq" INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- ---------------------------- -- Table structure for config_info -- ---------------------------- DROP TABLE IF EXISTS "public"."config_info"; CREATE TABLE "public"."config_info" ( "id" int8 NOT NULL DEFAULT nextval('config_info_id_seq'::regclass), "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(255) COLLATE "pg_catalog"."default", "content" text COLLATE "pg_catalog"."default" NOT NULL, "md5" varchar(32) COLLATE "pg_catalog"."default", "gmt_create" timestamp(6) NOT NULL, "gmt_modified" timestamp(6) NOT NULL, "src_user" text COLLATE "pg_catalog"."default", "src_ip" varchar(20) COLLATE "pg_catalog"."default", "app_name" varchar(128) COLLATE "pg_catalog"."default", "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "c_desc" varchar(256) COLLATE "pg_catalog"."default", "c_use" varchar(64) COLLATE "pg_catalog"."default", "effect" varchar(64) COLLATE "pg_catalog"."default", "type" varchar(64) COLLATE "pg_catalog"."default", "c_schema" text COLLATE "pg_catalog"."default", "encrypted_data_key" text COLLATE "pg_catalog"."default" NOT NULL ) ; COMMENT ON COLUMN "public"."config_info"."id" IS 'id'; COMMENT ON COLUMN "public"."config_info"."data_id" IS 'data_id'; COMMENT ON COLUMN "public"."config_info"."content" IS 'content'; COMMENT ON COLUMN "public"."config_info"."md5" IS 'md5'; COMMENT ON COLUMN "public"."config_info"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."config_info"."gmt_modified" IS '修改时间'; COMMENT ON COLUMN "public"."config_info"."src_user" IS 'source user'; COMMENT ON COLUMN "public"."config_info"."src_ip" IS 'source ip'; COMMENT ON COLUMN "public"."config_info"."tenant_id" IS '租户字段'; COMMENT ON COLUMN "public"."config_info"."encrypted_data_key" IS '秘钥'; COMMENT ON TABLE "public"."config_info" IS 'config_info'; -- ---------------------------- -- Table structure for config_info_aggr -- ---------------------------- DROP TABLE IF EXISTS "public"."config_info_aggr"; CREATE TABLE "public"."config_info_aggr" ( "id" int8 NOT NULL DEFAULT nextval('config_info_aggr_id_seq'::regclass), "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "datum_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "content" text COLLATE "pg_catalog"."default" NOT NULL, "gmt_modified" timestamp(6) NOT NULL, "app_name" varchar(128) COLLATE "pg_catalog"."default", "tenant_id" varchar(128) COLLATE "pg_catalog"."default" ) ; COMMENT ON COLUMN "public"."config_info_aggr"."id" IS 'id'; COMMENT ON COLUMN "public"."config_info_aggr"."data_id" IS 'data_id'; COMMENT ON COLUMN "public"."config_info_aggr"."group_id" IS 'group_id'; COMMENT ON COLUMN "public"."config_info_aggr"."datum_id" IS 'datum_id'; COMMENT ON COLUMN "public"."config_info_aggr"."content" IS '内容'; COMMENT ON COLUMN "public"."config_info_aggr"."gmt_modified" IS '修改时间'; COMMENT ON COLUMN "public"."config_info_aggr"."tenant_id" IS '租户字段'; COMMENT ON TABLE "public"."config_info_aggr" IS '增加租户字段'; -- ---------------------------- -- Table structure for config_info_beta -- ---------------------------- DROP TABLE IF EXISTS "public"."config_info_beta"; CREATE TABLE "public"."config_info_beta" ( "id" int8 NOT NULL DEFAULT nextval('config_info_beta_id_seq'::regclass), "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "app_name" varchar(128) COLLATE "pg_catalog"."default", "content" text COLLATE "pg_catalog"."default" NOT NULL, "beta_ips" varchar(1024) COLLATE "pg_catalog"."default", "md5" varchar(32) COLLATE "pg_catalog"."default", "gmt_create" timestamp(6) NOT NULL, "gmt_modified" timestamp(6) NOT NULL, "src_user" text COLLATE "pg_catalog"."default", "src_ip" varchar(20) COLLATE "pg_catalog"."default", "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "encrypted_data_key" text COLLATE "pg_catalog"."default" NOT NULL ) ; COMMENT ON COLUMN "public"."config_info_beta"."id" IS 'id'; COMMENT ON COLUMN "public"."config_info_beta"."data_id" IS 'data_id'; COMMENT ON COLUMN "public"."config_info_beta"."group_id" IS 'group_id'; COMMENT ON COLUMN "public"."config_info_beta"."app_name" IS 'app_name'; COMMENT ON COLUMN "public"."config_info_beta"."content" IS 'content'; COMMENT ON COLUMN "public"."config_info_beta"."beta_ips" IS 'betaIps'; COMMENT ON COLUMN "public"."config_info_beta"."md5" IS 'md5'; COMMENT ON COLUMN "public"."config_info_beta"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."config_info_beta"."gmt_modified" IS '修改时间'; COMMENT ON COLUMN "public"."config_info_beta"."src_user" IS 'source user'; COMMENT ON COLUMN "public"."config_info_beta"."src_ip" IS 'source ip'; COMMENT ON COLUMN "public"."config_info_beta"."tenant_id" IS '租户字段'; COMMENT ON COLUMN "public"."config_info_beta"."encrypted_data_key" IS '秘钥'; COMMENT ON TABLE "public"."config_info_beta" IS 'config_info_beta'; -- ---------------------------- -- Table structure for config_info_tag -- ---------------------------- DROP TABLE IF EXISTS "public"."config_info_tag"; CREATE TABLE "public"."config_info_tag" ( "id" int8 NOT NULL DEFAULT nextval('config_info_tag_id_seq'::regclass), "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "tag_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "app_name" varchar(128) COLLATE "pg_catalog"."default", "content" text COLLATE "pg_catalog"."default" NOT NULL, "md5" varchar(32) COLLATE "pg_catalog"."default", "gmt_create" timestamp(6) NOT NULL, "gmt_modified" timestamp(6) NOT NULL, "src_user" text COLLATE "pg_catalog"."default", "src_ip" varchar(20) COLLATE "pg_catalog"."default" ) ; COMMENT ON COLUMN "public"."config_info_tag"."id" IS 'id'; COMMENT ON COLUMN "public"."config_info_tag"."data_id" IS 'data_id'; COMMENT ON COLUMN "public"."config_info_tag"."group_id" IS 'group_id'; COMMENT ON COLUMN "public"."config_info_tag"."tenant_id" IS 'tenant_id'; COMMENT ON COLUMN "public"."config_info_tag"."tag_id" IS 'tag_id'; COMMENT ON COLUMN "public"."config_info_tag"."app_name" IS 'app_name'; COMMENT ON COLUMN "public"."config_info_tag"."content" IS 'content'; COMMENT ON COLUMN "public"."config_info_tag"."md5" IS 'md5'; COMMENT ON COLUMN "public"."config_info_tag"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."config_info_tag"."gmt_modified" IS '修改时间'; COMMENT ON COLUMN "public"."config_info_tag"."src_user" IS 'source user'; COMMENT ON COLUMN "public"."config_info_tag"."src_ip" IS 'source ip'; COMMENT ON TABLE "public"."config_info_tag" IS 'config_info_tag'; -- ---------------------------- -- Table structure for config_tags_relation -- ---------------------------- DROP TABLE IF EXISTS "public"."config_tags_relation"; CREATE TABLE "public"."config_tags_relation" ( "id" int8 NOT NULL DEFAULT nextval('config_tags_relation_id_seq'::regclass), "tag_name" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "tag_type" varchar(64) COLLATE "pg_catalog"."default", "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "nid" int8 NOT NULL DEFAULT nextval('config_tags_relation_nid_seq'::regclass) ) ; COMMENT ON COLUMN "public"."config_tags_relation"."id" IS 'id'; COMMENT ON COLUMN "public"."config_tags_relation"."tag_name" IS 'tag_name'; COMMENT ON COLUMN "public"."config_tags_relation"."tag_type" IS 'tag_type'; COMMENT ON COLUMN "public"."config_tags_relation"."data_id" IS 'data_id'; COMMENT ON COLUMN "public"."config_tags_relation"."group_id" IS 'group_id'; COMMENT ON COLUMN "public"."config_tags_relation"."tenant_id" IS 'tenant_id'; COMMENT ON TABLE "public"."config_tags_relation" IS 'config_tag_relation'; -- ---------------------------- -- Table structure for group_capacity -- ---------------------------- DROP TABLE IF EXISTS "public"."group_capacity"; CREATE TABLE "public"."group_capacity" ( "id" int8 NOT NULL DEFAULT nextval('group_capacity_id_seq'::regclass), "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "quota" int4 NOT NULL, "usage" int4 NOT NULL, "max_size" int4 NOT NULL, "max_aggr_count" int4 NOT NULL, "max_aggr_size" int4 NOT NULL, "max_history_count" int4 NOT NULL, "gmt_create" timestamp(6) NOT NULL, "gmt_modified" timestamp(6) NOT NULL ) ; COMMENT ON COLUMN "public"."group_capacity"."id" IS '主键ID'; COMMENT ON COLUMN "public"."group_capacity"."group_id" IS 'Group ID,空字符表示整个集群'; COMMENT ON COLUMN "public"."group_capacity"."quota" IS '配额,0表示使用默认值'; COMMENT ON COLUMN "public"."group_capacity"."usage" IS '使用量'; COMMENT ON COLUMN "public"."group_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值'; COMMENT ON COLUMN "public"."group_capacity"."max_aggr_count" IS '聚合子配置最大个数,,0表示使用默认值'; COMMENT ON COLUMN "public"."group_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; COMMENT ON COLUMN "public"."group_capacity"."max_history_count" IS '最大变更历史数量'; COMMENT ON COLUMN "public"."group_capacity"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."group_capacity"."gmt_modified" IS '修改时间'; COMMENT ON TABLE "public"."group_capacity" IS '集群、各Group容量信息表'; -- ---------------------------- -- Table structure for his_config_info -- ---------------------------- DROP TABLE IF EXISTS "public"."his_config_info"; CREATE TABLE "public"."his_config_info" ( "id" int8 NOT NULL, "nid" int8 NOT NULL DEFAULT nextval('his_config_info_nid_seq'::regclass), "data_id" varchar(255) COLLATE "pg_catalog"."default" NOT NULL, "group_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "app_name" varchar(128) COLLATE "pg_catalog"."default", "content" text COLLATE "pg_catalog"."default" NOT NULL, "md5" varchar(32) COLLATE "pg_catalog"."default", "gmt_create" timestamp(6) NOT NULL DEFAULT '2010-05-05 00:00:00'::timestamp without time zone, "gmt_modified" timestamp(6) NOT NULL, "src_user" text COLLATE "pg_catalog"."default", "src_ip" varchar(20) COLLATE "pg_catalog"."default", "op_type" char(10) COLLATE "pg_catalog"."default", "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "encrypted_data_key" text COLLATE "pg_catalog"."default" NOT NULL ) ; COMMENT ON COLUMN "public"."his_config_info"."app_name" IS 'app_name'; COMMENT ON COLUMN "public"."his_config_info"."tenant_id" IS '租户字段'; COMMENT ON COLUMN "public"."his_config_info"."encrypted_data_key" IS '秘钥'; COMMENT ON TABLE "public"."his_config_info" IS '多租户改造'; -- ---------------------------- -- Table structure for permissions -- ---------------------------- DROP TABLE IF EXISTS "public"."permissions"; CREATE TABLE "public"."permissions" ( "role" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, "resource" varchar(512) COLLATE "pg_catalog"."default" NOT NULL, "action" varchar(8) COLLATE "pg_catalog"."default" NOT NULL ) ; -- ---------------------------- -- Table structure for roles -- ---------------------------- DROP TABLE IF EXISTS "public"."roles"; CREATE TABLE "public"."roles" ( "username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, "role" varchar(50) COLLATE "pg_catalog"."default" NOT NULL ) ; -- ---------------------------- -- Table structure for tenant_capacity -- ---------------------------- DROP TABLE IF EXISTS "public"."tenant_capacity"; CREATE TABLE "public"."tenant_capacity" ( "id" int8 NOT NULL DEFAULT nextval('tenant_capacity_id_seq'::regclass), "tenant_id" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "quota" int4 NOT NULL, "usage" int4 NOT NULL, "max_size" int4 NOT NULL, "max_aggr_count" int4 NOT NULL, "max_aggr_size" int4 NOT NULL, "max_history_count" int4 NOT NULL, "gmt_create" timestamp(6) NOT NULL, "gmt_modified" timestamp(6) NOT NULL ) ; COMMENT ON COLUMN "public"."tenant_capacity"."id" IS '主键ID'; COMMENT ON COLUMN "public"."tenant_capacity"."tenant_id" IS 'Tenant ID'; COMMENT ON COLUMN "public"."tenant_capacity"."quota" IS '配额,0表示使用默认值'; COMMENT ON COLUMN "public"."tenant_capacity"."usage" IS '使用量'; COMMENT ON COLUMN "public"."tenant_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值'; COMMENT ON COLUMN "public"."tenant_capacity"."max_aggr_count" IS '聚合子配置最大个数'; COMMENT ON COLUMN "public"."tenant_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值'; COMMENT ON COLUMN "public"."tenant_capacity"."max_history_count" IS '最大变更历史数量'; COMMENT ON COLUMN "public"."tenant_capacity"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."tenant_capacity"."gmt_modified" IS '修改时间'; COMMENT ON TABLE "public"."tenant_capacity" IS '租户容量信息表'; -- ---------------------------- -- Table structure for tenant_info -- ---------------------------- DROP TABLE IF EXISTS "public"."tenant_info"; CREATE TABLE "public"."tenant_info" ( "id" int8 NOT NULL DEFAULT nextval('tenant_info_id_seq'::regclass), "kp" varchar(128) COLLATE "pg_catalog"."default" NOT NULL, "tenant_id" varchar(128) COLLATE "pg_catalog"."default", "tenant_name" varchar(128) COLLATE "pg_catalog"."default", "tenant_desc" varchar(256) COLLATE "pg_catalog"."default", "create_source" varchar(32) COLLATE "pg_catalog"."default", "gmt_create" int8 NOT NULL, "gmt_modified" int8 NOT NULL ) ; COMMENT ON COLUMN "public"."tenant_info"."id" IS 'id'; COMMENT ON COLUMN "public"."tenant_info"."kp" IS 'kp'; COMMENT ON COLUMN "public"."tenant_info"."tenant_id" IS 'tenant_id'; COMMENT ON COLUMN "public"."tenant_info"."tenant_name" IS 'tenant_name'; COMMENT ON COLUMN "public"."tenant_info"."tenant_desc" IS 'tenant_desc'; COMMENT ON COLUMN "public"."tenant_info"."create_source" IS 'create_source'; COMMENT ON COLUMN "public"."tenant_info"."gmt_create" IS '创建时间'; COMMENT ON COLUMN "public"."tenant_info"."gmt_modified" IS '修改时间'; COMMENT ON TABLE "public"."tenant_info" IS 'tenant_info'; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS "public"."users"; CREATE TABLE "public"."users" ( "username" varchar(50) COLLATE "pg_catalog"."default" NOT NULL, "password" varchar(500) COLLATE "pg_catalog"."default" NOT NULL, "enabled" bool NOT NULL ) ; -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_info_aggr_id_seq" OWNED BY "public"."config_info_aggr"."id"; SELECT setval('"public"."config_info_aggr_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_info_beta_id_seq" OWNED BY "public"."config_info_beta"."id"; SELECT setval('"public"."config_info_beta_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_info_id_seq" OWNED BY "public"."config_info"."id"; SELECT setval('"public"."config_info_id_seq"', 27, true); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_info_tag_id_seq" OWNED BY "public"."config_info_tag"."id"; SELECT setval('"public"."config_info_tag_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_tags_relation_id_seq" OWNED BY "public"."config_tags_relation"."id"; SELECT setval('"public"."config_tags_relation_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."config_tags_relation_nid_seq" OWNED BY "public"."config_tags_relation"."nid"; SELECT setval('"public"."config_tags_relation_nid_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."group_capacity_id_seq" OWNED BY "public"."group_capacity"."id"; SELECT setval('"public"."group_capacity_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."his_config_info_nid_seq" OWNED BY "public"."his_config_info"."nid"; SELECT setval('"public"."his_config_info_nid_seq"', 38, true); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."tenant_capacity_id_seq" OWNED BY "public"."tenant_capacity"."id"; SELECT setval('"public"."tenant_capacity_id_seq"', 2, false); -- ---------------------------- -- Alter sequences owned by -- ---------------------------- ALTER SEQUENCE "public"."tenant_info_id_seq" OWNED BY "public"."tenant_info"."id"; SELECT setval('"public"."tenant_info_id_seq"', 3, true); -- ---------------------------- -- Indexes structure for table config_info -- ---------------------------- CREATE UNIQUE INDEX "uk_configinfo_datagrouptenant" ON "public"."config_info" USING btree ( "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table config_info -- ---------------------------- ALTER TABLE "public"."config_info" ADD CONSTRAINT "config_info_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table config_info_aggr -- ---------------------------- CREATE UNIQUE INDEX "uk_configinfoaggr_datagrouptenantdatum" ON "public"."config_info_aggr" USING btree ( "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "datum_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table config_info_aggr -- ---------------------------- ALTER TABLE "public"."config_info_aggr" ADD CONSTRAINT "config_info_aggr_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table config_info_beta -- ---------------------------- CREATE UNIQUE INDEX "uk_configinfobeta_datagrouptenant" ON "public"."config_info_beta" USING btree ( "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table config_info_beta -- ---------------------------- ALTER TABLE "public"."config_info_beta" ADD CONSTRAINT "config_info_beta_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table config_info_tag -- ---------------------------- CREATE UNIQUE INDEX "uk_configinfotag_datagrouptenanttag" ON "public"."config_info_tag" USING btree ( "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tag_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table config_info_tag -- ---------------------------- ALTER TABLE "public"."config_info_tag" ADD CONSTRAINT "config_info_tag_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table config_tags_relation -- ---------------------------- CREATE INDEX "idx_tenant_id" ON "public"."config_tags_relation" USING btree ( "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); CREATE UNIQUE INDEX "uk_configtagrelation_configidtag" ON "public"."config_tags_relation" USING btree ( "id" "pg_catalog"."int8_ops" ASC NULLS LAST, "tag_name" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tag_type" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table config_tags_relation -- ---------------------------- ALTER TABLE "public"."config_tags_relation" ADD CONSTRAINT "config_tags_relation_pkey" PRIMARY KEY ("nid"); -- ---------------------------- -- Indexes structure for table group_capacity -- ---------------------------- CREATE UNIQUE INDEX "uk_group_id" ON "public"."group_capacity" USING btree ( "group_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table group_capacity -- ---------------------------- ALTER TABLE "public"."group_capacity" ADD CONSTRAINT "group_capacity_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table his_config_info -- ---------------------------- CREATE INDEX "idx_did" ON "public"."his_config_info" USING btree ( "data_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); CREATE INDEX "idx_gmt_create" ON "public"."his_config_info" USING btree ( "gmt_create" "pg_catalog"."timestamp_ops" ASC NULLS LAST ); CREATE INDEX "idx_gmt_modified" ON "public"."his_config_info" USING btree ( "gmt_modified" "pg_catalog"."timestamp_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table his_config_info -- ---------------------------- ALTER TABLE "public"."his_config_info" ADD CONSTRAINT "his_config_info_pkey" PRIMARY KEY ("nid"); -- ---------------------------- -- Indexes structure for table permissions -- ---------------------------- CREATE UNIQUE INDEX "uk_role_permission" ON "public"."permissions" USING btree ( "role" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "resource" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "action" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Indexes structure for table roles -- ---------------------------- CREATE UNIQUE INDEX "uk_username_role" ON "public"."roles" USING btree ( "username" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "role" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Indexes structure for table tenant_capacity -- ---------------------------- CREATE UNIQUE INDEX "uk_tenant_id" ON "public"."tenant_capacity" USING btree ( "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST ); -- ---------------------------- -- Primary Key structure for table tenant_capacity -- ---------------------------- ALTER TABLE "public"."tenant_capacity" ADD CONSTRAINT "tenant_capacity_pkey" PRIMARY KEY ("id"); -- ---------------------------- -- Indexes structure for table tenant_info -- ---------------------------- CREATE UNIQUE INDEX "uk_tenant_info_kptenantid" ON "public"."tenant_info" USING btree ( "kp" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST, "tenant_id" COLLATE "pg_catalog"."default" "pg_catalog"."text_ops" ASC NULLS LAST );
3.7源码调试:
启动console模块 Nocos类