From 5b18cb3715e1c35597a1b659bf371d56f3eb5e44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Wed, 17 May 2023 16:50:15 +0800 Subject: [PATCH 1/4] 'commit' --- Doc/ OpenGauss常用命令.txt | 52 +++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/Doc/ OpenGauss常用命令.txt b/Doc/ OpenGauss常用命令.txt index 325a1d2..3bc418d 100644 --- a/Doc/ OpenGauss常用命令.txt +++ b/Doc/ OpenGauss常用命令.txt @@ -30,4 +30,54 @@ WHERE AND A.attrelid = C.oid # 需要注意修改一下 -mysql:ifnull <--> pgsql:coalesce \ No newline at end of file +mysql:ifnull <--> pgsql:coalesce + +#************************************************************************************************************************************ +# 查看有哪些序列 +select * from pg_class where relkind='S'; + +# 创建一个序列 +create sequence seq_t_base_student +increment by 1 --步长 +minvalue 1 --最小值 +maxvalue 999999999 --最大值 +start 1 --起始值 +cache 1 --每次生成几个值 +cycle; --到达最大值或最小值循环(不加默认不循环) + + +# 查看当前序列的值 +select * from seq_t_base_student; + +# 删除序列 +drop sequence seq_t_base_student; + +# 使用序列 +DROP TABLE IF EXISTS "public"."t_base_student"; +CREATE TABLE "public"."t_base_student" ( + "student_id" int4 NOT NULL DEFAULT nextval('seq_t_base_student'::regclass), + "student_name" varchar(255) COLLATE "pg_catalog"."default" +); + +-- ---------------------------- +-- Records of t_base_student +-- ---------------------------- +INSERT INTO "public"."t_base_student" VALUES (1, '张三'); +INSERT INTO "public"."t_base_student" VALUES (2, '李四'); + +-- ---------------------------- +-- Primary Key structure for table t_base_student +-- ---------------------------- +ALTER TABLE "public"."t_base_student" ADD CONSTRAINT "t_base_student_pkey" PRIMARY KEY ("student_id"); + + + +# 查询孤儿序列(没有字段绑定的,也没有被使用,在系统中占用资源,如果序列被绑定到一个serial类型的字段,删除该表时,序列会被自动删除,如果时int类型,则不会被删除,所以在大型数据库系统中应注意过多孤儿序列的产生) +SELECT ns.nspname AS schema_name, seq.relname AS seq_name +FROM pg_class AS seq +JOIN pg_namespace ns ON (seq.relnamespace=ns.oid) +WHERE seq.relkind = 'S' + AND NOT EXISTS (SELECT * FROM pg_depend WHERE objid=seq.oid AND deptype='a') +ORDER BY seq.relname; + +结论:PG中一旦使用了序列,就不能手动向这个字段写入数值,否则序列不变化,会导致主键重复! \ No newline at end of file From d921fb0a6be09dc72330e533c1bf733699134512 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Thu, 18 May 2023 07:58:10 +0800 Subject: [PATCH 2/4] 'commit' --- Doc/ OpenGauss常用命令.txt | 1 - pom.xml | 7 +++++++ src/main/java/UnitTest/TestOpenGauss.java | 4 ++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/Doc/ OpenGauss常用命令.txt b/Doc/ OpenGauss常用命令.txt index 3bc418d..552fb10 100644 --- a/Doc/ OpenGauss常用命令.txt +++ b/Doc/ OpenGauss常用命令.txt @@ -71,7 +71,6 @@ INSERT INTO "public"."t_base_student" VALUES (2, '李四'); ALTER TABLE "public"."t_base_student" ADD CONSTRAINT "t_base_student_pkey" PRIMARY KEY ("student_id"); - # 查询孤儿序列(没有字段绑定的,也没有被使用,在系统中占用资源,如果序列被绑定到一个serial类型的字段,删除该表时,序列会被自动删除,如果时int类型,则不会被删除,所以在大型数据库系统中应注意过多孤儿序列的产生) SELECT ns.nspname AS schema_name, seq.relname AS seq_name FROM pg_class AS seq diff --git a/pom.xml b/pom.xml index a4c964f..94f8e4f 100644 --- a/pom.xml +++ b/pom.xml @@ -185,6 +185,13 @@ 8.0.30 + + + org.opengauss + opengauss-jdbc + 5.0.0 + + com.google.code.gson diff --git a/src/main/java/UnitTest/TestOpenGauss.java b/src/main/java/UnitTest/TestOpenGauss.java index ac79568..26e9819 100644 --- a/src/main/java/UnitTest/TestOpenGauss.java +++ b/src/main/java/UnitTest/TestOpenGauss.java @@ -12,8 +12,8 @@ import java.util.List; public class TestOpenGauss { public static void main(String[] args) { //读取库 - DruidPlugin druid = new DruidPlugin("jdbc:postgresql://10.10.14.62:5432/ccdjzswd_db", "dsideal", - "DsideaL147258369", "org.postgresql.Driver"); + DruidPlugin druid = new DruidPlugin("jdbc:opengauss://10.10.14.62:5432/ccdjzswd_db", "dsideal", + "DsideaL147258369", "org.opengauss.Driver"); druid.start(); ActiveRecordPlugin arp = new ActiveRecordPlugin(druid); From bb381ab99809ee2c247d07ab0d38012f47280526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Thu, 18 May 2023 08:51:37 +0800 Subject: [PATCH 3/4] 'commit' --- pom.xml | 7 ---- src/main/java/Tools/TestGauss2.java | 39 +++++++++++++++++++++++ src/main/java/UnitTest/TestOpenGauss.java | 4 +-- 3 files changed, 41 insertions(+), 9 deletions(-) create mode 100644 src/main/java/Tools/TestGauss2.java diff --git a/pom.xml b/pom.xml index 94f8e4f..a4c964f 100644 --- a/pom.xml +++ b/pom.xml @@ -185,13 +185,6 @@ 8.0.30 - - - org.opengauss - opengauss-jdbc - 5.0.0 - - com.google.code.gson diff --git a/src/main/java/Tools/TestGauss2.java b/src/main/java/Tools/TestGauss2.java new file mode 100644 index 0000000..70c60a4 --- /dev/null +++ b/src/main/java/Tools/TestGauss2.java @@ -0,0 +1,39 @@ +package Tools; + +import java.sql.Connection; +import java.sql.DriverManager; + +public class TestGauss2 { + //以下代码将获取数据库连接操作封装为一个接口,可通过给定用户名和密码来连接数据库。 + public static Connection getConnect(String username, String passwd) { + //驱动类。 + String driver = "org.postgresql.Driver"; + //数据库连接描述符。 + String sourceURL = "jdbc:postgresql://10.10.14.62:5432/ccdjzswd_db"; + Connection conn; + + try { + //加载驱动。 + Class.forName(driver); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + try { + //创建连接。 + conn = DriverManager.getConnection(sourceURL, username, passwd); + System.out.println("Connection succeed!"); + } catch (Exception e) { + e.printStackTrace(); + return null; + } + + return conn; + } + + + public static void main(String[] args) { + getConnect("dsideal","DsideaL147258369"); + } +} diff --git a/src/main/java/UnitTest/TestOpenGauss.java b/src/main/java/UnitTest/TestOpenGauss.java index 26e9819..ac79568 100644 --- a/src/main/java/UnitTest/TestOpenGauss.java +++ b/src/main/java/UnitTest/TestOpenGauss.java @@ -12,8 +12,8 @@ import java.util.List; public class TestOpenGauss { public static void main(String[] args) { //读取库 - DruidPlugin druid = new DruidPlugin("jdbc:opengauss://10.10.14.62:5432/ccdjzswd_db", "dsideal", - "DsideaL147258369", "org.opengauss.Driver"); + DruidPlugin druid = new DruidPlugin("jdbc:postgresql://10.10.14.62:5432/ccdjzswd_db", "dsideal", + "DsideaL147258369", "org.postgresql.Driver"); druid.start(); ActiveRecordPlugin arp = new ActiveRecordPlugin(druid); From 95ac4c91a5bcf2cbb4173fd0bf26f4f9afaefada Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=B7?= <10402852@qq.com> Date: Thu, 18 May 2023 08:57:34 +0800 Subject: [PATCH 4/4] 'commit' --- pom.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/pom.xml b/pom.xml index a4c964f..f9e804d 100644 --- a/pom.xml +++ b/pom.xml @@ -184,7 +184,6 @@ mysql-connector-java 8.0.30 - com.google.code.gson