马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
首先尝试使用官方插件进行扩展,各种报错后放弃,不如本身修改源码吧。
一、官方解决方案
1、nocos 文档地址:Nacos 配置中心简介, Nacos 是什么 | Nacos 官网
2、官方解答:nacos支持postgresql数据库吗 | Nacos 官网
3、源码下载地址:Release 2.3.0 (Nov 30, 2023) · alibaba/nacos · GitHub
4、Nacos的数据库插件仓库:nacos-plugin/nacos-datasource-plugin-ext at develop · nacos-group/nacos-plugin · GitHub
按照官方的方案,下载插件后,更改pom文件中nacos的版本,之后将插件打成jar包,放到nacos的plugins目录下,更改配置,启动后各种报错找不到方法,遂放弃。
二、更改源码
1、在项目根(nacos-all)下的pom.xml文件中添加如下依靠:
- <!--版本可修改-->
- <postgresql.version>42.3.8</postgresql.version>
复制代码- <dependency>
- <groupId>org.postgresql</groupId>
- <artifactId>postgresql</artifactId>
- <version>${postgresql.version}</version>
- </dependency>
复制代码 2、在项目的nacos-config-plugin、nacos-persistence模块的pom.xml文件中添加如下依靠:
- <dependency>
- <groupId>org.postgresql</groupId>
- <artifactId>postgresql</artifactId>
- </dependency>
复制代码 3、在项目的nacos-plugin模块的nacos-datasource-plugin模块com.alibaba.nacos.plugin.datasource.impl包下新建一个包,名为postgresql,拷贝同级包mysql下的所有文件到postgresql包下,修改类名和文件名为xxxByPostgresql,如图
4、将这几个类中LIMIT ?,?的写法为OFFSET ? LIMIT ? 如图
5、在改项目resource目录下,找到com.alibaba.nacos.plugin.datasource.mapper.Mapper文件,在背面追加:
- com.alibaba.nacos.plugin.datasource.impl.postgresql.ConfigInfoAggrMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.ConfigInfoBetaMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.ConfigInfoMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.ConfigInfoTagMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.ConfigTagsRelationMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.HistoryConfigInfoMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.TenantInfoMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.TenantCapacityMapperByPostgresql
- com.alibaba.nacos.plugin.datasource.impl.postgresql.GroupCapacityMapperByPostgresql
复制代码 如图:
6、在DataSourceConstant类中增加pgsql的常量
- public static final String POSTGRESQL = "postgresql";
复制代码 7、persistence模块,修改PersistenceConstant
- public static final String POSTGRESQL = "postgresql";
复制代码 修改ExternalDataSourceProperties类


代码如下,直接复制粘贴即可:
- /*
- * Copyright 1999-2023 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- package com.alibaba.nacos.persistence.datasource;
- import com.alibaba.nacos.common.utils.CollectionUtils;
- import com.alibaba.nacos.common.utils.Preconditions;
- import com.alibaba.nacos.common.utils.StringUtils;
- import com.zaxxer.hikari.HikariDataSource;
- import org.springframework.boot.context.properties.bind.Bindable;
- import org.springframework.boot.context.properties.bind.Binder;
- import org.springframework.core.env.Environment;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Objects;
- import static com.alibaba.nacos.common.utils.CollectionUtils.getOrDefault;
- /**
- * Properties of external DataSource.
- *
- * @author Nacos
- */
- public class ExternalDataSourceProperties {
-
- private static final String JDBC_DRIVER_NAME = "com.mysql.cj.jdbc.Driver";
- private static final String TEST_QUERY = "SELECT 1";
-
- private Integer num;
-
- private List<String> url = new ArrayList<>();
-
- private List<String> user = new ArrayList<>();
-
- private List<String> password = new ArrayList<>();
- private String jdbcDriverName;
- public void setJdbcDriverName(String jdbcDriverName) {
- if (StringUtils.isBlank(jdbcDriverName)) {
- this.jdbcDriverName = JDBC_DRIVER_NAME;
- } else {
- this.jdbcDriverName = jdbcDriverName;
- }
- }
-
- public void setNum(Integer num) {
- this.num = num;
- }
-
- public void setUrl(List<String> url) {
- this.url = url;
- }
-
- public void setUser(List<String> user) {
- this.user = user;
- }
-
- public void setPassword(List<String> password) {
- this.password = password;
- }
- /**
- * Build serveral HikariDataSource.
- *
- * @param environment {@link Environment}
- * @param callback Callback function when constructing data source
- * @return List of {@link HikariDataSource}
- */
- List<HikariDataSource> build(Environment environment, Callback<HikariDataSource> callback) {
- List<HikariDataSource> dataSources = new ArrayList<>();
- Binder.get(environment).bind("db", Bindable.ofInstance(this));
- Preconditions.checkArgument(Objects.nonNull(num), "db.num is null");
- Preconditions.checkArgument(CollectionUtils.isNotEmpty(user), "db.user or db.user.[index] is null");
- Preconditions.checkArgument(CollectionUtils.isNotEmpty(password), "db.password or db.password.[index] is null");
- for (int index = 0; index < num; index++) {
- int currentSize = index + 1;
- Preconditions.checkArgument(url.size() >= currentSize, "db.url.%s is null", index);
- DataSourcePoolProperties poolProperties = DataSourcePoolProperties.build(environment);
- if (StringUtils.isEmpty(poolProperties.getDataSource().getDriverClassName())) {
- poolProperties.setDriverClassName(jdbcDriverName);
- }
- poolProperties.setJdbcUrl(url.get(index).trim());
- poolProperties.setUsername(getOrDefault(user, index, user.get(0)).trim());
- poolProperties.setPassword(getOrDefault(password, index, password.get(0)).trim());
- HikariDataSource ds = poolProperties.getDataSource();
- if (StringUtils.isEmpty(ds.getConnectionTestQuery())) {
- ds.setConnectionTestQuery(TEST_QUERY);
- }
-
- dataSources.add(ds);
- callback.accept(ds);
- }
- Preconditions.checkArgument(CollectionUtils.isNotEmpty(dataSources), "no datasource available");
- return dataSources;
- }
-
- interface Callback<D> {
-
- /**
- * Perform custom logic.
- *
- * @param datasource dataSource.
- */
- void accept(D datasource);
- }
- }
复制代码 8、plugins-defualt-impl模块,子模块nacos-default-auth-plugin中,修改AuthPageConstant,加入以下代码
- public static final String OFFSET_LIMIT = "OFFSET ? LIMIT ?";
复制代码 persistence.handler.support中新增PostgreSqlPageHandlerAdapter类,如图:

代码如下:
- package com.alibaba.nacos.plugin.auth.impl.persistence.handler.support;
- import com.alibaba.nacos.config.server.service.dump.DumpService;
- import com.alibaba.nacos.persistence.constants.PersistenceConstant;
- import com.alibaba.nacos.plugin.auth.impl.constant.AuthPageConstant;
- import com.alibaba.nacos.plugin.auth.impl.model.OffsetFetchResult;
- import com.alibaba.nacos.plugin.auth.impl.persistence.handler.PageHandlerAdapter;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- /**
- * @author w
- */
- public class PostgreSqlPageHandlerAdapter implements PageHandlerAdapter {
- @Override
- public boolean supports(String dataSourceType) {
- return PersistenceConstant.POSTGRESQL.equals(dataSourceType);
- }
- @Override
- public OffsetFetchResult addOffsetAndFetchNext(String fetchSql, Object[] arg, int pageNo, int pageSize) {
- if (!fetchSql.contains(AuthPageConstant.LIMIT)) {
- fetchSql += " " + AuthPageConstant.OFFSET_LIMIT;
- List<Object> newArgsList = new ArrayList<>(Arrays.asList(arg));
- newArgsList.add((pageNo - 1) * pageSize);
- newArgsList.add(pageSize);
- Object[] newArgs = newArgsList.toArray(new Object[newArgsList.size()]);
- return new OffsetFetchResult(fetchSql, newArgs);
- }
- return new OffsetFetchResult(fetchSql, arg);
- }
- }
复制代码 在 PageHandlerAdapterFactory 类中加入以下代码:

9、终极,执行打包命令
mvn -Prelease-nacos clean install -Dmaven.test.skip=true -Dcheckstyle.skip=true -Dpmd.skip=true -Drat.skip=true -U
根据需求,在 nacos-2.3.0\distribution\target 目录下找到打好的包

修改配置文件,记得将数据库ip、库名、schema名称、用户名、密码配置改成本身的:
- spring.datasource.platform=postgresql
- db.num=1
- db.url.0=jdbc:postgresql://xxxx:5432/nacos?currentSchema=public&reWriteBatchedInserts=true&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
- db.user.0=xxxx
- db.password.0=xxxx
- db.pool.config.driverClassName=org.postgresql.Driver
- nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
- nacos.core.auth.enabled=true
- nacos.core.auth.caching.enabled=false
- nacos.core.auth.server.identity.key=nacos
- nacos.core.auth.server.identity.value=nacos
复制代码 终极,祝各人乐成!!!
附上pg数据库脚本:
- /*
- * Copyright 1999-2018 Alibaba Group Holding Ltd.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
- -- ----------------------------
- -- Table structure for config_info
- -- ----------------------------
- DROP TABLE IF EXISTS "config_info";
- CREATE TABLE "config_info" (
- "id" bigserial NOT NULL,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(255) ,
- "content" text NOT NULL,
- "md5" varchar(32) ,
- "gmt_create" timestamp(6) NOT NULL,
- "gmt_modified" timestamp(6) NOT NULL,
- "src_user" text ,
- "src_ip" varchar(20) ,
- "app_name" varchar(128) ,
- "tenant_id" varchar(128) ,
- "c_desc" varchar(256) ,
- "c_use" varchar(64) ,
- "effect" varchar(64) ,
- "type" varchar(64) ,
- "c_schema" text ,
- "encrypted_data_key" text NOT NULL
- )
- ;
- COMMENT ON COLUMN "config_info"."id" IS 'id';
- COMMENT ON COLUMN "config_info"."data_id" IS 'data_id';
- COMMENT ON COLUMN "config_info"."content" IS 'content';
- COMMENT ON COLUMN "config_info"."md5" IS 'md5';
- COMMENT ON COLUMN "config_info"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "config_info"."gmt_modified" IS '修改时间';
- COMMENT ON COLUMN "config_info"."src_user" IS 'source user';
- COMMENT ON COLUMN "config_info"."src_ip" IS 'source ip';
- COMMENT ON COLUMN "config_info"."tenant_id" IS '租户字段';
- COMMENT ON COLUMN "config_info"."encrypted_data_key" IS '秘钥';
- COMMENT ON TABLE "config_info" IS 'config_info';
- -- ----------------------------
- -- Table structure for config_info_aggr
- -- ----------------------------
- DROP TABLE IF EXISTS "config_info_aggr";
- CREATE TABLE "config_info_aggr" (
- "id" bigserial NOT NULL,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(255) NOT NULL,
- "datum_id" varchar(255) NOT NULL,
- "content" text NOT NULL,
- "gmt_modified" timestamp(6) NOT NULL,
- "app_name" varchar(128) ,
- "tenant_id" varchar(128)
- )
- ;
- COMMENT ON COLUMN "config_info_aggr"."id" IS 'id';
- COMMENT ON COLUMN "config_info_aggr"."data_id" IS 'data_id';
- COMMENT ON COLUMN "config_info_aggr"."group_id" IS 'group_id';
- COMMENT ON COLUMN "config_info_aggr"."datum_id" IS 'datum_id';
- COMMENT ON COLUMN "config_info_aggr"."content" IS '内容';
- COMMENT ON COLUMN "config_info_aggr"."gmt_modified" IS '修改时间';
- COMMENT ON COLUMN "config_info_aggr"."tenant_id" IS '租户字段';
- COMMENT ON TABLE "config_info_aggr" IS '增加租户字段';
- -- ----------------------------
- -- Records of config_info_aggr
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for config_info_beta
- -- ----------------------------
- DROP TABLE IF EXISTS "config_info_beta";
- CREATE TABLE "config_info_beta" (
- "id" bigserial NOT NULL,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(128) NOT NULL,
- "app_name" varchar(128) ,
- "content" text NOT NULL,
- "beta_ips" varchar(1024) ,
- "md5" varchar(32) ,
- "gmt_create" timestamp(6) NOT NULL,
- "gmt_modified" timestamp(6) NOT NULL,
- "src_user" text ,
- "src_ip" varchar(20) ,
- "tenant_id" varchar(128) ,
- "encrypted_data_key" text NOT NULL
- )
- ;
- COMMENT ON COLUMN "config_info_beta"."id" IS 'id';
- COMMENT ON COLUMN "config_info_beta"."data_id" IS 'data_id';
- COMMENT ON COLUMN "config_info_beta"."group_id" IS 'group_id';
- COMMENT ON COLUMN "config_info_beta"."app_name" IS 'app_name';
- COMMENT ON COLUMN "config_info_beta"."content" IS 'content';
- COMMENT ON COLUMN "config_info_beta"."beta_ips" IS 'betaIps';
- COMMENT ON COLUMN "config_info_beta"."md5" IS 'md5';
- COMMENT ON COLUMN "config_info_beta"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "config_info_beta"."gmt_modified" IS '修改时间';
- COMMENT ON COLUMN "config_info_beta"."src_user" IS 'source user';
- COMMENT ON COLUMN "config_info_beta"."src_ip" IS 'source ip';
- COMMENT ON COLUMN "config_info_beta"."tenant_id" IS '租户字段';
- COMMENT ON COLUMN "config_info_beta"."encrypted_data_key" IS '秘钥';
- COMMENT ON TABLE "config_info_beta" IS 'config_info_beta';
- -- ----------------------------
- -- Records of config_info_beta
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for config_info_tag
- -- ----------------------------
- DROP TABLE IF EXISTS "config_info_tag";
- CREATE TABLE "config_info_tag" (
- "id" bigserial NOT NULL,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(128) NOT NULL,
- "tenant_id" varchar(128) ,
- "tag_id" varchar(128) NOT NULL,
- "app_name" varchar(128) ,
- "content" text NOT NULL,
- "md5" varchar(32) ,
- "gmt_create" timestamp(6) NOT NULL,
- "gmt_modified" timestamp(6) NOT NULL,
- "src_user" text ,
- "src_ip" varchar(20)
- )
- ;
- COMMENT ON COLUMN "config_info_tag"."id" IS 'id';
- COMMENT ON COLUMN "config_info_tag"."data_id" IS 'data_id';
- COMMENT ON COLUMN "config_info_tag"."group_id" IS 'group_id';
- COMMENT ON COLUMN "config_info_tag"."tenant_id" IS 'tenant_id';
- COMMENT ON COLUMN "config_info_tag"."tag_id" IS 'tag_id';
- COMMENT ON COLUMN "config_info_tag"."app_name" IS 'app_name';
- COMMENT ON COLUMN "config_info_tag"."content" IS 'content';
- COMMENT ON COLUMN "config_info_tag"."md5" IS 'md5';
- COMMENT ON COLUMN "config_info_tag"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "config_info_tag"."gmt_modified" IS '修改时间';
- COMMENT ON COLUMN "config_info_tag"."src_user" IS 'source user';
- COMMENT ON COLUMN "config_info_tag"."src_ip" IS 'source ip';
- COMMENT ON TABLE "config_info_tag" IS 'config_info_tag';
- -- ----------------------------
- -- Records of config_info_tag
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for config_tags_relation
- -- ----------------------------
- DROP TABLE IF EXISTS "config_tags_relation";
- CREATE TABLE "config_tags_relation" (
- "id" bigserial NOT NULL,
- "tag_name" varchar(128) NOT NULL,
- "tag_type" varchar(64) ,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(128) NOT NULL,
- "tenant_id" varchar(128) ,
- "nid" bigserial NOT NULL
- )
- ;
- COMMENT ON COLUMN "config_tags_relation"."id" IS 'id';
- COMMENT ON COLUMN "config_tags_relation"."tag_name" IS 'tag_name';
- COMMENT ON COLUMN "config_tags_relation"."tag_type" IS 'tag_type';
- COMMENT ON COLUMN "config_tags_relation"."data_id" IS 'data_id';
- COMMENT ON COLUMN "config_tags_relation"."group_id" IS 'group_id';
- COMMENT ON COLUMN "config_tags_relation"."tenant_id" IS 'tenant_id';
- COMMENT ON TABLE "config_tags_relation" IS 'config_tag_relation';
- -- ----------------------------
- -- Records of config_tags_relation
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for group_capacity
- -- ----------------------------
- DROP TABLE IF EXISTS "group_capacity";
- CREATE TABLE "group_capacity" (
- "id" bigserial NOT NULL,
- "group_id" varchar(128) 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 "group_capacity"."id" IS '主键ID';
- COMMENT ON COLUMN "group_capacity"."group_id" IS 'Group ID,空字符表示整个集群';
- COMMENT ON COLUMN "group_capacity"."quota" IS '配额,0表示使用默认值';
- COMMENT ON COLUMN "group_capacity"."usage" IS '使用量';
- COMMENT ON COLUMN "group_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值';
- COMMENT ON COLUMN "group_capacity"."max_aggr_count" IS '聚合子配置最大个数,,0表示使用默认值';
- COMMENT ON COLUMN "group_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
- COMMENT ON COLUMN "group_capacity"."max_history_count" IS '最大变更历史数量';
- COMMENT ON COLUMN "group_capacity"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "group_capacity"."gmt_modified" IS '修改时间';
- COMMENT ON TABLE "group_capacity" IS '集群、各Group容量信息表';
- -- ----------------------------
- -- Records of group_capacity
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for his_config_info
- -- ----------------------------
- DROP TABLE IF EXISTS "his_config_info";
- CREATE TABLE "his_config_info" (
- "id" int8 NOT NULL,
- "nid" bigserial NOT NULL,
- "data_id" varchar(255) NOT NULL,
- "group_id" varchar(128) NOT NULL,
- "app_name" varchar(128) ,
- "content" text NOT NULL,
- "md5" varchar(32) ,
- "gmt_create" timestamp(6) NOT NULL DEFAULT '2010-05-05 00:00:00',
- "gmt_modified" timestamp(6) NOT NULL,
- "src_user" text ,
- "src_ip" varchar(20) ,
- "op_type" char(10) ,
- "tenant_id" varchar(128) ,
- "encrypted_data_key" text NOT NULL
- )
- ;
- COMMENT ON COLUMN "his_config_info"."app_name" IS 'app_name';
- COMMENT ON COLUMN "his_config_info"."tenant_id" IS '租户字段';
- COMMENT ON COLUMN "his_config_info"."encrypted_data_key" IS '秘钥';
- COMMENT ON TABLE "his_config_info" IS '多租户改造';
- -- ----------------------------
- -- Table structure for permissions
- -- ----------------------------
- DROP TABLE IF EXISTS "permissions";
- CREATE TABLE "permissions" (
- "role" varchar(50) NOT NULL,
- "resource" varchar(512) NOT NULL,
- "action" varchar(8) NOT NULL
- )
- ;
- -- ----------------------------
- -- Records of permissions
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for roles
- -- ----------------------------
- DROP TABLE IF EXISTS "roles";
- CREATE TABLE "roles" (
- "username" varchar(50) NOT NULL,
- "role" varchar(50) NOT NULL
- )
- ;
- -- ----------------------------
- -- Records of roles
- -- ----------------------------
- BEGIN;
- INSERT INTO "roles" VALUES ('nacos', 'ROLE_ADMIN');
- COMMIT;
- -- ----------------------------
- -- Table structure for tenant_capacity
- -- ----------------------------
- DROP TABLE IF EXISTS "tenant_capacity";
- CREATE TABLE "tenant_capacity" (
- "id" bigserial NOT NULL,
- "tenant_id" varchar(128) 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 "tenant_capacity"."id" IS '主键ID';
- COMMENT ON COLUMN "tenant_capacity"."tenant_id" IS 'Tenant ID';
- COMMENT ON COLUMN "tenant_capacity"."quota" IS '配额,0表示使用默认值';
- COMMENT ON COLUMN "tenant_capacity"."usage" IS '使用量';
- COMMENT ON COLUMN "tenant_capacity"."max_size" IS '单个配置大小上限,单位为字节,0表示使用默认值';
- COMMENT ON COLUMN "tenant_capacity"."max_aggr_count" IS '聚合子配置最大个数';
- COMMENT ON COLUMN "tenant_capacity"."max_aggr_size" IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
- COMMENT ON COLUMN "tenant_capacity"."max_history_count" IS '最大变更历史数量';
- COMMENT ON COLUMN "tenant_capacity"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "tenant_capacity"."gmt_modified" IS '修改时间';
- COMMENT ON TABLE "tenant_capacity" IS '租户容量信息表';
- -- ----------------------------
- -- Records of tenant_capacity
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for tenant_info
- -- ----------------------------
- DROP TABLE IF EXISTS "tenant_info";
- CREATE TABLE "tenant_info" (
- "id" bigserial NOT NULL,
- "kp" varchar(128) NOT NULL,
- "tenant_id" varchar(128) ,
- "tenant_name" varchar(128) ,
- "tenant_desc" varchar(256) ,
- "create_source" varchar(32) ,
- "gmt_create" int8 NOT NULL,
- "gmt_modified" int8 NOT NULL
- )
- ;
- COMMENT ON COLUMN "tenant_info"."id" IS 'id';
- COMMENT ON COLUMN "tenant_info"."kp" IS 'kp';
- COMMENT ON COLUMN "tenant_info"."tenant_id" IS 'tenant_id';
- COMMENT ON COLUMN "tenant_info"."tenant_name" IS 'tenant_name';
- COMMENT ON COLUMN "tenant_info"."tenant_desc" IS 'tenant_desc';
- COMMENT ON COLUMN "tenant_info"."create_source" IS 'create_source';
- COMMENT ON COLUMN "tenant_info"."gmt_create" IS '创建时间';
- COMMENT ON COLUMN "tenant_info"."gmt_modified" IS '修改时间';
- COMMENT ON TABLE "tenant_info" IS 'tenant_info';
- -- ----------------------------
- -- Records of tenant_info
- -- ----------------------------
- BEGIN;
- COMMIT;
- -- ----------------------------
- -- Table structure for users
- -- ----------------------------
- DROP TABLE IF EXISTS "users";
- CREATE TABLE "users" (
- "username" varchar(50) NOT NULL,
- "password" varchar(500) NOT NULL,
- "enabled" boolean NOT NULL
- )
- ;
- -- ----------------------------
- -- Records of users
- -- ----------------------------
- BEGIN;
- INSERT INTO "users" VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
- COMMIT;
- -- ----------------------------
- -- Indexes structure for table config_info
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_configinfo_datagrouptenant" ON "config_info" ("data_id","group_id","tenant_id");
- -- ----------------------------
- -- Primary Key structure for table config_info
- -- ----------------------------
- ALTER TABLE "config_info" ADD CONSTRAINT "config_info_pkey" PRIMARY KEY ("id");
- -- ----------------------------
- -- Indexes structure for table config_info_aggr
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_configinfoaggr_datagrouptenantdatum" ON "config_info_aggr" USING btree ("data_id","group_id","tenant_id","datum_id");
- -- ----------------------------
- -- Primary Key structure for table config_info_aggr
- -- ----------------------------
- ALTER TABLE "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 "config_info_beta" USING btree ("data_id","group_id","tenant_id");
- -- ----------------------------
- -- Primary Key structure for table config_info_beta
- -- ----------------------------
- ALTER TABLE "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 "config_info_tag" USING btree ("data_id","group_id","tenant_id","tag_id");
- -- ----------------------------
- -- Primary Key structure for table config_info_tag
- -- ----------------------------
- ALTER TABLE "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 "config_tags_relation" USING btree (
- "tenant_id"
- );
- CREATE UNIQUE INDEX "uk_configtagrelation_configidtag" ON "config_tags_relation" USING btree (
- "id",
- "tag_name",
- "tag_type"
- );
- -- ----------------------------
- -- Primary Key structure for table config_tags_relation
- -- ----------------------------
- ALTER TABLE "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 "group_capacity" USING btree (
- "group_id"
- );
- -- ----------------------------
- -- Primary Key structure for table group_capacity
- -- ----------------------------
- ALTER TABLE "group_capacity" ADD CONSTRAINT "group_capacity_pkey" PRIMARY KEY ("id");
- -- ----------------------------
- -- Indexes structure for table his_config_info
- -- ----------------------------
- CREATE INDEX "idx_did" ON "his_config_info" USING btree (
- "data_id"
- );
- CREATE INDEX "idx_gmt_create" ON "his_config_info" USING btree (
- "gmt_create"
- );
- CREATE INDEX "idx_gmt_modified" ON "his_config_info" USING btree (
- "gmt_modified"
- );
- -- ----------------------------
- -- Primary Key structure for table his_config_info
- -- ----------------------------
- ALTER TABLE "his_config_info" ADD CONSTRAINT "his_config_info_pkey" PRIMARY KEY ("nid");
- -- ----------------------------
- -- Indexes structure for table permissions
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_role_permission" ON "permissions" USING btree (
- "role",
- "resource",
- "action"
- );
- -- ----------------------------
- -- Indexes structure for table roles
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_username_role" ON "roles" USING btree (
- "username",
- "role"
- );
- -- ----------------------------
- -- Indexes structure for table tenant_capacity
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_tenant_id" ON "tenant_capacity" USING btree (
- "tenant_id"
- );
- -- ----------------------------
- -- Primary Key structure for table tenant_capacity
- -- ----------------------------
- ALTER TABLE "tenant_capacity" ADD CONSTRAINT "tenant_capacity_pkey" PRIMARY KEY ("id");
- -- ----------------------------
- -- Indexes structure for table tenant_info
- -- ----------------------------
- CREATE UNIQUE INDEX "uk_tenant_info_kptenantid" ON "tenant_info" USING btree (
- "kp",
- "tenant_id"
- );
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |