jnpf_nacos_kingbase.sql 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400
  1. -- ----------------------------
  2. -- 表名:config_info
  3. -- ----------------------------
  4. CREATE TABLE config_info (
  5. id SERIAL PRIMARY KEY,
  6. data_id varchar(255) NOT NULL,
  7. group_id varchar(128),
  8. content text NOT NULL,
  9. md5 varchar(32),
  10. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  11. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  12. src_user text,
  13. src_ip varchar(20),
  14. app_name varchar(128),
  15. tenant_id varchar(128) DEFAULT '',
  16. c_desc varchar(256),
  17. c_use varchar(64),
  18. effect varchar(64),
  19. type varchar(64),
  20. c_schema text,
  21. encrypted_data_key text
  22. );
  23. COMMENT ON TABLE config_info IS 'config_info';
  24. COMMENT ON COLUMN config_info.id IS 'id';
  25. COMMENT ON COLUMN config_info.data_id IS 'data_id';
  26. COMMENT ON COLUMN config_info.group_id IS '';
  27. COMMENT ON COLUMN config_info.content IS 'content';
  28. COMMENT ON COLUMN config_info.md5 IS 'md5';
  29. COMMENT ON COLUMN config_info.gmt_create IS '创建时间';
  30. COMMENT ON COLUMN config_info.gmt_modified IS '修改时间';
  31. COMMENT ON COLUMN config_info.src_user IS 'source user';
  32. COMMENT ON COLUMN config_info.src_ip IS 'source ip';
  33. COMMENT ON COLUMN config_info.app_name IS '';
  34. COMMENT ON COLUMN config_info.tenant_id IS '租户字段';
  35. COMMENT ON COLUMN config_info.c_desc IS '';
  36. COMMENT ON COLUMN config_info.c_use IS '';
  37. COMMENT ON COLUMN config_info.effect IS '';
  38. COMMENT ON COLUMN config_info.type IS '';
  39. COMMENT ON COLUMN config_info.c_schema IS '';
  40. COMMENT ON COLUMN config_info.encrypted_data_key IS '秘钥';
  41. -- ----------------------------
  42. -- Records of config_info
  43. -- ----------------------------
  44. -- ----------------------------
  45. -- 表名:config_info_aggr
  46. -- ----------------------------
  47. CREATE TABLE config_info_aggr (
  48. id SERIAL PRIMARY KEY,
  49. data_id varchar(255) NOT NULL,
  50. group_id varchar(128) NOT NULL,
  51. datum_id varchar(255) NOT NULL,
  52. content text NOT NULL,
  53. gmt_modified timestamp NOT NULL,
  54. app_name varchar(128),
  55. tenant_id varchar(128) DEFAULT ''
  56. );
  57. COMMENT ON TABLE config_info_aggr IS '增加租户字段';
  58. COMMENT ON COLUMN config_info_aggr.id IS 'id';
  59. COMMENT ON COLUMN config_info_aggr.data_id IS 'data_id';
  60. COMMENT ON COLUMN config_info_aggr.group_id IS 'group_id';
  61. COMMENT ON COLUMN config_info_aggr.datum_id IS 'datum_id';
  62. COMMENT ON COLUMN config_info_aggr.content IS '内容';
  63. COMMENT ON COLUMN config_info_aggr.gmt_modified IS '修改时间';
  64. COMMENT ON COLUMN config_info_aggr.app_name IS '';
  65. COMMENT ON COLUMN config_info_aggr.tenant_id IS '租户字段';
  66. -- ----------------------------
  67. -- 表名:config_info_beta
  68. -- ----------------------------
  69. CREATE TABLE config_info_beta (
  70. id SERIAL PRIMARY KEY,
  71. data_id varchar(255) NOT NULL,
  72. group_id varchar(128) NOT NULL,
  73. app_name varchar(128),
  74. content text NOT NULL,
  75. beta_ips varchar(1024),
  76. md5 varchar(32),
  77. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  78. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  79. src_user text,
  80. src_ip varchar(20),
  81. tenant_id varchar(128) DEFAULT '',
  82. encrypted_data_key text NOT NULL
  83. );
  84. COMMENT ON TABLE config_info_beta IS 'config_info_beta';
  85. COMMENT ON COLUMN config_info_beta.id IS 'id';
  86. COMMENT ON COLUMN config_info_beta.data_id IS 'data_id';
  87. COMMENT ON COLUMN config_info_beta.group_id IS 'group_id';
  88. COMMENT ON COLUMN config_info_beta.app_name IS 'app_name';
  89. COMMENT ON COLUMN config_info_beta.content IS 'content';
  90. COMMENT ON COLUMN config_info_beta.beta_ips IS 'betaIps';
  91. COMMENT ON COLUMN config_info_beta.md5 IS 'md5';
  92. COMMENT ON COLUMN config_info_beta.gmt_create IS '创建时间';
  93. COMMENT ON COLUMN config_info_beta.gmt_modified IS '修改时间';
  94. COMMENT ON COLUMN config_info_beta.src_user IS 'source user';
  95. COMMENT ON COLUMN config_info_beta.src_ip IS 'source ip';
  96. COMMENT ON COLUMN config_info_beta.tenant_id IS '租户字段';
  97. COMMENT ON COLUMN config_info_beta.encrypted_data_key IS '秘钥';
  98. -- ----------------------------
  99. -- 表名:config_info_tag
  100. -- ----------------------------
  101. CREATE TABLE config_info_tag (
  102. id SERIAL PRIMARY KEY,
  103. data_id varchar(255) NOT NULL,
  104. group_id varchar(128) NOT NULL,
  105. tenant_id varchar(128) DEFAULT '',
  106. tag_id varchar(128) NOT NULL,
  107. app_name varchar(128),
  108. content text NOT NULL,
  109. md5 varchar(32),
  110. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  111. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  112. src_user text,
  113. src_ip varchar(20)
  114. );
  115. COMMENT ON TABLE config_info_tag IS 'config_info_tag';
  116. COMMENT ON COLUMN config_info_tag.id IS 'id';
  117. COMMENT ON COLUMN config_info_tag.data_id IS 'data_id';
  118. COMMENT ON COLUMN config_info_tag.group_id IS 'group_id';
  119. COMMENT ON COLUMN config_info_tag.tenant_id IS 'tenant_id';
  120. COMMENT ON COLUMN config_info_tag.tag_id IS 'tag_id';
  121. COMMENT ON COLUMN config_info_tag.app_name IS 'app_name';
  122. COMMENT ON COLUMN config_info_tag.content IS 'content';
  123. COMMENT ON COLUMN config_info_tag.md5 IS 'md5';
  124. COMMENT ON COLUMN config_info_tag.gmt_create IS '创建时间';
  125. COMMENT ON COLUMN config_info_tag.gmt_modified IS '修改时间';
  126. COMMENT ON COLUMN config_info_tag.src_user IS 'source user';
  127. COMMENT ON COLUMN config_info_tag.src_ip IS 'source ip';
  128. -- ----------------------------
  129. -- 表名:config_tags_relation
  130. -- ----------------------------
  131. CREATE TABLE config_tags_relation (
  132. id bigint NOT NULL,
  133. tag_name varchar(128) NOT NULL,
  134. tag_type varchar(64),
  135. data_id varchar(255) NOT NULL,
  136. group_id varchar(128) NOT NULL,
  137. tenant_id varchar(128) DEFAULT '',
  138. nid SERIAL PRIMARY KEY
  139. );
  140. COMMENT ON TABLE config_tags_relation IS 'config_tag_relation';
  141. COMMENT ON COLUMN config_tags_relation.id IS 'id';
  142. COMMENT ON COLUMN config_tags_relation.tag_name IS 'tag_name';
  143. COMMENT ON COLUMN config_tags_relation.tag_type IS 'tag_type';
  144. COMMENT ON COLUMN config_tags_relation.data_id IS 'data_id';
  145. COMMENT ON COLUMN config_tags_relation.group_id IS 'group_id';
  146. COMMENT ON COLUMN config_tags_relation.tenant_id IS 'tenant_id';
  147. COMMENT ON COLUMN config_tags_relation.nid IS '';
  148. -- ----------------------------
  149. -- 表名:group_capacity
  150. -- ----------------------------
  151. CREATE TABLE group_capacity (
  152. id SERIAL PRIMARY KEY,
  153. group_id varchar(128) NOT NULL DEFAULT '',
  154. quota integer NOT NULL DEFAULT '0',
  155. usage integer NOT NULL DEFAULT '0',
  156. max_size integer NOT NULL DEFAULT '0',
  157. max_aggr_count integer NOT NULL DEFAULT '0',
  158. max_aggr_size integer NOT NULL DEFAULT '0',
  159. max_history_count integer NOT NULL DEFAULT '0',
  160. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  161. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00'
  162. );
  163. COMMENT ON TABLE group_capacity IS '集群、各Group容量信息表';
  164. COMMENT ON COLUMN group_capacity.id IS '主键ID';
  165. COMMENT ON COLUMN group_capacity.group_id IS 'Group ID,空字符表示整个集群';
  166. COMMENT ON COLUMN group_capacity.quota IS '配额,0表示使用默认值';
  167. COMMENT ON COLUMN group_capacity.usage IS '使用量';
  168. COMMENT ON COLUMN group_capacity.max_size IS '单个配置大小上限,单位为字节,0表示使用默认值';
  169. COMMENT ON COLUMN group_capacity.max_aggr_count IS '聚合子配置最大个数,,0表示使用默认值';
  170. COMMENT ON COLUMN group_capacity.max_aggr_size IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
  171. COMMENT ON COLUMN group_capacity.max_history_count IS '最大变更历史数量';
  172. COMMENT ON COLUMN group_capacity.gmt_create IS '创建时间';
  173. COMMENT ON COLUMN group_capacity.gmt_modified IS '修改时间';
  174. -- ----------------------------
  175. -- 表名:his_config_info
  176. -- ----------------------------
  177. CREATE TABLE his_config_info (
  178. id bigint NOT NULL,
  179. nid SERIAL PRIMARY KEY,
  180. data_id varchar(255) NOT NULL,
  181. group_id varchar(128) NOT NULL,
  182. app_name varchar(128),
  183. content text NOT NULL,
  184. md5 varchar(32),
  185. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  186. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  187. src_user text,
  188. src_ip varchar(20),
  189. op_type character(10),
  190. tenant_id varchar(128) DEFAULT '',
  191. encrypted_data_key text
  192. );
  193. COMMENT ON TABLE his_config_info IS '多租户改造';
  194. COMMENT ON COLUMN his_config_info.id IS '';
  195. COMMENT ON COLUMN his_config_info.nid IS '';
  196. COMMENT ON COLUMN his_config_info.data_id IS '';
  197. COMMENT ON COLUMN his_config_info.group_id IS '';
  198. COMMENT ON COLUMN his_config_info.app_name IS 'app_name';
  199. COMMENT ON COLUMN his_config_info.content IS '';
  200. COMMENT ON COLUMN his_config_info.md5 IS '';
  201. COMMENT ON COLUMN his_config_info.gmt_create IS '';
  202. COMMENT ON COLUMN his_config_info.gmt_modified IS '';
  203. COMMENT ON COLUMN his_config_info.src_user IS '';
  204. COMMENT ON COLUMN his_config_info.src_ip IS '';
  205. COMMENT ON COLUMN his_config_info.op_type IS '';
  206. COMMENT ON COLUMN his_config_info.tenant_id IS '租户字段';
  207. COMMENT ON COLUMN his_config_info.encrypted_data_key IS '秘钥';
  208. -- ----------------------------
  209. -- 表名:permissions
  210. -- ----------------------------
  211. CREATE TABLE permissions (
  212. role varchar(50) NOT NULL,
  213. resource varchar(512) NOT NULL,
  214. action varchar(8) NOT NULL
  215. );
  216. COMMENT ON TABLE permissions IS '';
  217. COMMENT ON COLUMN permissions.role IS '';
  218. COMMENT ON COLUMN permissions.resource IS '';
  219. COMMENT ON COLUMN permissions.action IS '';
  220. -- ----------------------------
  221. -- 表名:roles
  222. -- ----------------------------
  223. CREATE TABLE roles (
  224. username varchar(50) NOT NULL,
  225. role varchar(50) NOT NULL
  226. );
  227. COMMENT ON TABLE roles IS '';
  228. COMMENT ON COLUMN roles.username IS '';
  229. COMMENT ON COLUMN roles.role IS '';
  230. DELETE FROM roles;
  231. INSERT INTO roles (role,username) VALUES ('ROLE_ADMIN','nacos');
  232. -- ----------------------------
  233. -- 表名:tenant_capacity
  234. -- ----------------------------
  235. CREATE TABLE tenant_capacity (
  236. id SERIAL PRIMARY KEY,
  237. tenant_id varchar(128) NOT NULL DEFAULT '',
  238. quota integer NOT NULL DEFAULT '0',
  239. usage integer NOT NULL DEFAULT '0',
  240. max_size integer NOT NULL DEFAULT '0',
  241. max_aggr_count integer NOT NULL DEFAULT '0',
  242. max_aggr_size integer NOT NULL DEFAULT '0',
  243. max_history_count integer NOT NULL DEFAULT '0',
  244. gmt_create timestamp NOT NULL DEFAULT '2010-05-05 00:00:00',
  245. gmt_modified timestamp NOT NULL DEFAULT '2010-05-05 00:00:00'
  246. );
  247. COMMENT ON TABLE tenant_capacity IS '租户容量信息表';
  248. COMMENT ON COLUMN tenant_capacity.id IS '主键ID';
  249. COMMENT ON COLUMN tenant_capacity.tenant_id IS 'Tenant ID';
  250. COMMENT ON COLUMN tenant_capacity.quota IS '配额,0表示使用默认值';
  251. COMMENT ON COLUMN tenant_capacity.usage IS '使用量';
  252. COMMENT ON COLUMN tenant_capacity.max_size IS '单个配置大小上限,单位为字节,0表示使用默认值';
  253. COMMENT ON COLUMN tenant_capacity.max_aggr_count IS '聚合子配置最大个数';
  254. COMMENT ON COLUMN tenant_capacity.max_aggr_size IS '单个聚合数据的子配置大小上限,单位为字节,0表示使用默认值';
  255. COMMENT ON COLUMN tenant_capacity.max_history_count IS '最大变更历史数量';
  256. COMMENT ON COLUMN tenant_capacity.gmt_create IS '创建时间';
  257. COMMENT ON COLUMN tenant_capacity.gmt_modified IS '修改时间';
  258. -- ----------------------------
  259. -- 表名:tenant_info
  260. -- ----------------------------
  261. CREATE TABLE tenant_info (
  262. id SERIAL PRIMARY KEY,
  263. kp varchar(128) NOT NULL,
  264. tenant_id varchar(128) DEFAULT '',
  265. tenant_name varchar(128) DEFAULT '',
  266. tenant_desc varchar(256),
  267. create_source varchar(32),
  268. gmt_create bigint NOT NULL,
  269. gmt_modified bigint NOT NULL
  270. );
  271. COMMENT ON TABLE tenant_info IS 'tenant_info';
  272. COMMENT ON COLUMN tenant_info.id IS 'id';
  273. COMMENT ON COLUMN tenant_info.kp IS 'kp';
  274. COMMENT ON COLUMN tenant_info.tenant_id IS 'tenant_id';
  275. COMMENT ON COLUMN tenant_info.tenant_name IS 'tenant_name';
  276. COMMENT ON COLUMN tenant_info.tenant_desc IS 'tenant_desc';
  277. COMMENT ON COLUMN tenant_info.create_source IS 'create_source';
  278. COMMENT ON COLUMN tenant_info.gmt_create IS '创建时间';
  279. COMMENT ON COLUMN tenant_info.gmt_modified IS '修改时间';
  280. -- ----------------------------
  281. -- Records of tenant_info
  282. -- ----------------------------
  283. INSERT INTO "public"."tenant_info" VALUES (1, '1', '69c4eecb-05bd-4041-81fe-1473f95f578c', 'develop', '开发环境', 'nacos', 1683359420265, 1683359420265);
  284. INSERT INTO "public"."tenant_info" VALUES (7, '1', '1e017954-eb52-4d21-a843-0286d9013cf3', 'staging', '测试环境', 'nacos', 1683359955156, 1683359955156);
  285. INSERT INTO "public"."tenant_info" VALUES (8, '1', 'f50f4948-3ca2-48af-8bb1-1a47950b503d', 'pre', '预发环境', 'nacos', 1683359976752, 1683359976752);
  286. INSERT INTO "public"."tenant_info" VALUES (9, '1', '3baec428-9669-486c-b359-a76f7a1f1ac7', 'production', '生产环境', 'nacos', 1683359987767, 1683359987767);
  287. -- ----------------------------
  288. -- 表名:users
  289. -- ----------------------------
  290. CREATE TABLE users (
  291. username varchar(50) NOT NULL PRIMARY KEY,
  292. password varchar(500) NOT NULL,
  293. enabled varchar(15) NOT NULL
  294. );
  295. COMMENT ON TABLE users IS '';
  296. COMMENT ON COLUMN users.username IS '';
  297. COMMENT ON COLUMN users.password IS '';
  298. COMMENT ON COLUMN users.enabled IS '';
  299. DELETE FROM users;
  300. INSERT INTO users (password,enabled,username) VALUES ('$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu','true','nacos');
  301. -- 唯一索引
  302. CREATE UNIQUE INDEX uk_configinfo_datagrouptenant ON config_info(data_id,group_id,tenant_id);
  303. CREATE UNIQUE INDEX uk_configinfoaggr_datagrouptenantdatum ON config_info_aggr(data_id,group_id,tenant_id,datum_id);
  304. CREATE UNIQUE INDEX uk_configinfoaggr_datagrouptenantdatum_nottenant ON config_info_aggr(data_id,group_id,datum_id);
  305. CREATE UNIQUE INDEX uk_configinfobeta_datagrouptenant ON config_info_beta(data_id,group_id,tenant_id);
  306. CREATE UNIQUE INDEX uk_configinfobeta_datagrouptenant_nottenant ON config_info_beta(data_id,group_id);
  307. CREATE UNIQUE INDEX uk_configinfotag_datagrouptenanttag ON config_info_tag(data_id,group_id,tenant_id,tag_id);
  308. CREATE UNIQUE INDEX uk_configinfotag_datagrouptenanttag_nottenant ON config_info_tag(data_id,group_id,tag_id);
  309. CREATE UNIQUE INDEX uk_configtagrelation_configidtag ON config_tags_relation(id,tag_name,tag_type);
  310. CREATE UNIQUE INDEX uk_group_id ON group_capacity(group_id);
  311. CREATE UNIQUE INDEX uk_role_permission ON permissions(role,resource,action);
  312. CREATE UNIQUE INDEX uk_username_role ON roles(username,role);
  313. CREATE UNIQUE INDEX uk_tenant_id ON tenant_capacity(tenant_id);
  314. CREATE UNIQUE INDEX uk_tenant_info_kptenantid ON tenant_info(kp,tenant_id);
  315. CREATE TABLE IF NOT EXISTS public.global_table
  316. (
  317. xid VARCHAR(128) NOT NULL,
  318. transaction_id BIGINT,
  319. status SMALLINT NOT NULL,
  320. application_id VARCHAR(32),
  321. transaction_service_group VARCHAR(32),
  322. transaction_name VARCHAR(128),
  323. timeout INT,
  324. begin_time BIGINT,
  325. application_data VARCHAR(2000),
  326. gmt_create TIMESTAMP(0),
  327. gmt_modified TIMESTAMP(0),
  328. CONSTRAINT pk_global_table PRIMARY KEY (xid)
  329. );
  330. CREATE INDEX idx_global_table_status_gmt_modified ON public.global_table (status, gmt_modified);
  331. CREATE INDEX idx_global_table_transaction_id ON public.global_table (transaction_id);
  332. -- the table to store BranchSession data
  333. CREATE TABLE IF NOT EXISTS public.branch_table
  334. (
  335. branch_id BIGINT NOT NULL,
  336. xid VARCHAR(128) NOT NULL,
  337. transaction_id BIGINT,
  338. resource_group_id VARCHAR(32),
  339. resource_id VARCHAR(256),
  340. branch_type VARCHAR(8),
  341. status SMALLINT,
  342. client_id VARCHAR(64),
  343. application_data VARCHAR(2000),
  344. gmt_create TIMESTAMP(6),
  345. gmt_modified TIMESTAMP(6),
  346. CONSTRAINT pk_branch_table PRIMARY KEY (branch_id)
  347. );
  348. CREATE INDEX idx_branch_table_xid ON public.branch_table (xid);
  349. -- the table to store lock data
  350. CREATE TABLE IF NOT EXISTS public.lock_table
  351. (
  352. row_key VARCHAR(128) NOT NULL,
  353. xid VARCHAR(128),
  354. transaction_id BIGINT,
  355. branch_id BIGINT NOT NULL,
  356. resource_id VARCHAR(256),
  357. table_name VARCHAR(32),
  358. pk VARCHAR(128),
  359. status SMALLINT NOT NULL DEFAULT 0,
  360. gmt_create TIMESTAMP(0),
  361. gmt_modified TIMESTAMP(0),
  362. CONSTRAINT pk_lock_table PRIMARY KEY (row_key)
  363. );
  364. comment on column public.lock_table.status is '0:locked ,1:rollbacking';
  365. CREATE INDEX idx_lock_table_branch_id ON public.lock_table (branch_id);
  366. CREATE INDEX idx_lock_table_xid ON public.lock_table (xid);
  367. CREATE INDEX idx_lock_table_status ON public.lock_table (status);
  368. CREATE TABLE distributed_lock (
  369. lock_key VARCHAR(20) NOT NULL,
  370. lock_value VARCHAR(20) NOT NULL,
  371. expire BIGINT NOT NULL,
  372. CONSTRAINT pk_distributed_lock_table PRIMARY KEY (lock_key)
  373. );
  374. INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('AsyncCommitting', ' ', 0);
  375. INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryCommitting', ' ', 0);
  376. INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('RetryRollbacking', ' ', 0);
  377. INSERT INTO distributed_lock (lock_key, lock_value, expire) VALUES ('TxTimeoutCheck', ' ', 0);
  378. CREATE TABLE IF NOT EXISTS vgroup_table
  379. (
  380. vGroup VARCHAR(255),
  381. namespace VARCHAR(255),
  382. cluster VARCHAR(255),
  383. PRIMARY KEY (vGroup)
  384. );