问题标签 [pg-jdbc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
31127 浏览

java - Postgres UUID JDBC 不工作

用于 postgres 的最新 Java JDBC 驱动程序声称原生支持 UUID;针对 Postgres 9.2 (mac) 工作。

实际上,当使用 PreparedStatement 时,我可以单步执行驱动程序代码,甚至可以遍历 AbstractJdbc3gStatement.java 中专门的“setUuid”函数。种种迹象表明,它应该“正常工作”。

但是,它不起作用。数据库抛出一个错误,我因此收到:

是的,确实,JDBC 驱动程序中的 setUuid 确实将其作为 bytea 发送:

是什么赋予了?实际数据库中是否需要一些魔法符文来祝福这种转换?

0 投票
0 回答
638 浏览

postgresql - 是否可以在 postgresql9.2 中使用 getBlob() 方法从 bytea 类型字段中读取数据

我正在使用postgresql 9.2and ,当我从Bytea(用于postgresql)使用方法在字段中存储二进制大对象数据)读取数据时,getBlob()但我得到了同样的错误

我知道我收到此错误是因为只有方法适用于 this(Bytea) 而getBinaryStream()方法适用于类型字段。但是我有情况。所以我想知道,有没有办法从使用方法中读取数据。先感谢您。getBytes()getBlob()OIDByteagetBlob()Postgresql9.2

0 投票
1 回答
654 浏览

connection-pooling - Mahout、PostgreSQL 和连接池

在 Mahout 0.9 中使用 PostgreSQL 作为数据源,我不断得到

WARN org.apache.mahout.cf.taste.impl.model.jdbc.AbstractJDBCDataModel - You are not using ConnectionPoolDataSource. Make sure your DataSource pools connections to the database itself, or database performance will be severely reduced.

警告。

这是真的 - 每个请求都会不断打开新的连接。

有什么方法可以使用PGConnectionPoolDataSourcePostgreSQLBooleanPrefJDBCDataModel

(目前我有no constructorfor arguments n Java::OrgApacheMahoutCfTasteImplModelJdbc::PostgreSQLBooleanPrefJDBCDataModel错误)

0 投票
1 回答
1222 浏览

java - 是否可以编写一个 jOOQ 转换器来应用于数组?

我有一个 postgres 数据库,其中包含一些类型为varchar[]. jOOQ 和 pgjdbc-ng 不能很好地配合;jOOQ 的 DefaultBindContext 具有以下特点:

它将语句变量设置为"{\"value1\", \"value2\", \"etc\"}",这是您在查询中指定数组的方式。后来,pgjdbc-ng 有:

它期望语句中的值是 PGArray 类型或实际数组;它无法将数组的字符串表示强制转换为数组的字符串表示。:(

我正在尝试编写一个 jOOQ 转换器,它将在和之间进行String[]转换PGArray;理想情况下,这意味着 jOOQ 的 DefaultBindContext 可以很好地保留转换后的值,然后 pgjdbc-ng 将能够正确处理它。

但是,我一直无法编写允许我执行此操作的 jOOQ 模式配置。我尝试了以下变化:

没有任何运气;生成的表对象引用 a String[][],并且varchar[]不匹配任何内容。即使我将其分解,以便强制类型匹配任何类型但<expression>仅匹配我的列,并且转换器的类型java.lang.String为.

这条隧道的尽头有没有光,还是我应该开始寻找迁移我的数据库?

0 投票
0 回答
1330 浏览

java - 使用 pgjdbc-ng 作为 Postgres 的 Java 驱动程序的 SSL 连接

我在使用https://github.com/impossibl/pgjdbc-ng/连接到 Postgres 数据库时遇到了很大的问题。我需要这个库,因为我需要从数据库中获取异步通知。

我正在尝试使用 SSL 连接到远程数据库,我正在这样做:

但是,当我尝试这样做时,我得到一个IllegalStateException. 这是堆栈跟踪:

之前,我使用的是标准库org.postgresql.Driver,一切正常......

有人知道如何帮助我吗?

太感谢了!马可

0 投票
2 回答
535 浏览

jdbc - Pg-jdbc 使用现有的 RETURNING 子句在 Prepared Batch 上附加 RETURNING *

我正在使用 pg-jdbc/JDBI 执行准备好的批量插入到 Postgres 表中,以便使用显式 RETURNING 子句获取生成的 id 值列表:

准备好语句后,pg-jdbc 将RETURNING *在现有RETURNING子句之后盲目地附加一个额外的内容,从而导致以下格式错误的可恶:

如果我删除显式的 RETURNING 子句,则该语句可以正常工作;但是,它会导致返回目标表中的所有字段,这在许多已插入大量数据的情况下是非常不可取的。

有什么方法可以阻止 pg-jdbc 从事这种行为吗?

测试依赖:

0 投票
1 回答
3854 浏览

java - LISTEN/NOTIFY pgconnection 出现故障 java?

我正在使用 PostgreSQL DB 并应用它的LISTEN/NOTIFY功能。所以我的侦听器在我的 AS(应用程序服务器)上,并且我在我的数据库上配置了触发器,这样当对表执行 CRUD 操作时,NOTIFY就会在 AS 上发送请求。

java中的监听器类:

因此,当我的 AS 启动时,我已配置在启动时调用侦听器类 ( @Startup annotation) 并开始在频道上侦听。

现在,如果像测试我手动编辑数据库中的表,生成通知并且 LISTENER 接收它,那么这工作正常。

但是,当我以编程方式在表上发送 UPDATE 请求时,UPADTE 已成功执行,但 LISTENER 没有收到任何内容。

当我发送请求时,我感觉与 LISTENER 的连接断开了(它还与编辑实体建立了连接),但我不确定。我阅读了有关永久连接和池连接的信息,但无法决定如何进行。

我正在使用 pgjdbc ( http://impossibl.github.io/pgjdbc-ng/ ) jar 进行异步通知,因为 jdbc 连接需要轮询。

编辑:

当我使用标准 jdbc jar(而不是 pgjdbc)尝试使用上述侦听器进行轮询时,我会收到通知。

我这样做 PGNotification notif[] = con.getNotifications() 了,我收到了通知,但是像下面这样异步执行,我没有收到通知。

解决了:

函数执行完成后,我的侦听器超出了范围,因为我的侦听器具有函数范围所以将它保存到我的启动 bean 类的成员变量中,然后它就可以工作了。

0 投票
1 回答
282 浏览

postgresql - PostgreSQL 循环通知

我已经使用 pgjdbc-ng 进行 Postgresql 监听和通知。

我想在循环中执行通知。

我的示例代码:

我希望这使用听:

但我只收到一条短信。

我想知道这是可能的。如果是这样,请教我。谢谢您的回答。

0 投票
2 回答
466 浏览

java - VACUUM ANALYZE 之后vacuum_count 和analyze_count 都为零

我编写了一个单元测试,它修改了一个表(INSERT's 和DELETE's),然后手动VACUUM's 和ANALYZE's 它,然后我查询pg_stat_user_tables以确保它VACUUM确实ANALYZE有一些效果。

我使用以下 SQL:

对于常规表和

对于临时的。

尽管如此,当我运行我的示例时,我观察到vacuum_countanalyze_count都为零,并且该表包含许多死元组,例如:

为什么?

独立的代码示例如下:

0 投票
1 回答
88 浏览

javascript - Javascript自定义库问题

我看了又看,我还在摸不着头脑。如果我遗漏了一些明显的东西,我道歉。我试图创建一个我自己编写的自定义函数库(感谢 stackoverflow 帮助我解决了这个问题......)。然后我有一个在调用网页时加载的 javascript 文件,该文件又调用我的自定义库中的所述函数。

我有一个getConfig()很明显的函数。它获取一个 JSON 文件,其中包含我的服务器的配置详细信息,该服务器托管我的所有 RESTful Web 服务。当我单步执行代码时,配置详细信息按预期返回,但是,当我全速加载网页时,配置对象返回为undefined. 我认为这可能是一个时间问题,所以我把所有东西都包在一个$(document).ready(function())块里,但不行。我什至尝试了一个window.onload = function(){}块来确保在调用自定义库之前加载所有内容。没运气!它让我头脑清醒,因为我一生都无法弄清楚发生了什么。

我的自定义库文件看起来像这样的文件名xtendLibs.js


上面文件中调用各种函数的javascript文件长这样appts.js


我真的很难过。任何帮助将不胜感激。