kgdxpr 2 years ago
commit 64665f2d6c

@ -31,3 +31,52 @@ WHERE
# 需要注意修改一下
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中一旦使用了序列就不能手动向这个字段写入数值否则序列不变化会导致主键重复

@ -184,7 +184,6 @@
<artifactId>mysql-connector-java</artifactId>
<version>8.0.30</version>
</dependency>
<!--引用gson-->
<dependency>
<groupId>com.google.code.gson</groupId>

@ -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");
}
}
Loading…
Cancel
Save