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