在 Greenplum/Postgresql 数据库上使用 java 驱动程序创建序列不起作用

Using java driver create sequence on Greenplum/Postgresql database doesn't work

我使用 Greenplum/PostgreSQL 作为数据库。

我打算通过 jdbc 创建序列,但行不通。

val conn=getConnection();
val st=conn.createState();
st.execute("CREATE SEQUENCE SEQ_4_MT_QUERY  INCREMENT BY 1  MINVALUE 0  MAXVALUE 99999999  START 0   CACHE 3  cycle");
conn.close();

没有出现错误,但未创建序列。

有人有过这种经历吗?谢谢

Greenplum 是最新版本
Jdbc驱动版本为:PostgreSQL-9.4.1212

如果您的连接未处于自动提交模式,您必须提交您的 DDL 语句(至少在 Postgres 中 - 我假设这在 Greenplum 中是相同的)。

所以你需要添加:

conn.commit();

execute() 调用之后。

我需要提交给数据库。

create sql直到调用conn.commit()才会生效,这个要看数据库连接池的设置,但是我用的是这个commit auto.Now的池设置,我觉得这个设置不行。

感谢a_horse_with_no_name的建议