问题标签 [r2dbc-postgresql]

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 投票
1 回答
310 浏览

spring-webflux - Flux 只返回一个值而不是所有值

我对以下代码有疑问,它只返回每个表的第一个结果。

因此,我尝试仅返回此测试功能的结果,该功能运行良好

老实说,在这种情况下我会使用 .block() 因为我需要另一个表中包含的信息才能继续前进,它们是 3 个表,但是这种可能性已被消除。

对于每个测验,我都需要问题集,对于每个问题,我都需要答案。

你会怎么做?

编辑

我已将上面的代码更改为:

这是邮递员的结果:

现在我需要了解如何将这些问题和答案合并到一个集合中。

0 投票
0 回答
167 浏览

spring-data-r2dbc - 使用 spring-data-r2dbc 和 postgresql 从 DataIntegrityViolationException 获取失败约束名称

我在 postgresql 数据库中有一些限制(唯一的,外键......)。

我使用弹簧数据 r2dbc 存储库:ReactiveCrudRepository

我想将DataIntegrityViolationException存储库的 throw 转换为一些基于constraintNameinErrorDetails字段的自定义异常PostgresqlDataIntegrityViolationException

但是ExceptionFactory包含的类PostgresqlDataIntegrityViolationException是包私有的。所以我不能将原因异常转换为DataIntegrityViolationExceptionto PostgresqlDataIntegrityViolationException

constraintName当我抓到 时,最干净的访问方式是DataIntegrityViolationException什么?

(比解析异常消息更好的东西^^)

编辑 :

我结束了这个解决方案:

0 投票
1 回答
190 浏览

cockroachdb - 无法从 Spring Data R2DBC 驱动程序连接到 CockroachCloud 免费(测试版)集群

我创建了 CrockroachCloud 免费(测试版)集群,并且能够使用命令行连接到数据库。但是当我尝试从 Spring Data R2DBC 驱动程序连接时,我得到了一个异常。

我在 application.yml 中使用以下连接字符串:

然后我得到以下异常:

完整的堆栈跟踪:

任何帮助,将不胜感激。

0 投票
1 回答
155 浏览

postgresql - R2DBC Statement.fetchsize exaclty 如何工作

我正在使用r2dbc-postgresql驱动程序。假设我们有一个包含 1000 条记录的表,并且fetchSize是 100:

将执行多少个网络调用?我知道使用 JDBC Statement.SetFetchsize,驱动程序将获取 10 批中的所有行,每批 100 行。

0 投票
0 回答
645 浏览

postgresql - R2DBC - PostgreSQL - 无法交换消息,因为超出了请求队列限制

图书馆:

  1. r2dbc-postgresql-0.8.6.RELEASE
  2. r2dbc-pool-0.8.5.RELEASE
  3. r2dbc-spi-0.8.3.RELEASE
  4. postgresql-42.2.18
  5. 项目清单

问题:我尝试使用 R2DBC (PostgreSQL) 批量插入,代码如下:

该代码将执行语句以将用户插入数据库,然后获取生成的用户 ID。如果用户列表小于或等于 255,则上述代码按预期工作。当用户列表大于 255(256~)时,发生以下异常:

当我尝试调查以检测发生了什么时。我看到异常是由 ReactorNettyClient.java 引发的。实现是:

Queue 超过 255 且 Queue.offer 方法返回 false 时出错。导致异常被抛出。

对不起,我不熟悉英语。请帮我弄清楚发生了什么以及解决它的解决方案。我想批量插入每个请求的记录数> 100000。

谢谢你。

0 投票
1 回答
540 浏览

java - 如何在 r2dbc 中实现多对多

R2DBC 目前不支持复合键。我想知道我们现在如何实现多对多关系?

例如,给定两个实体:

及其架构:

我可以为多对多映射创建一个表:

ItemTag但是我们应该如何在kotlin/java中定义映射类呢?

或者省略@Id? 那么这个类就不能有了Repository吗?我想那会很好。这是唯一的暗示吗?

0 投票
0 回答
204 浏览

spring-webflux - 如何使用 webflux 和 r2dbc 在一个请求中保存两次?

我将 webflux 与 r2dbc 一起使用。
我尝试在一项服务中保存两个表,但只有一个实际保存。
可能有一种方法可以在处理程序中执行两次 flatmap,但我想在服务中使用事务。

0 投票
0 回答
71 浏览

r2dbc - 间歇性连接被拒绝错误似乎与解析为 IPv6 的 `localhost` 相关

我不太确定这个问题是否与此有关,r2dbc-postgresql但现在它只发生在 R2DBC 连接中,而不是使用 JDBC 的 Liquibase ...

我们的小型项目有 3 个集成测试,它们使用 Testcontainer 运行 PostgreSQL 来支持存储库。在我们的公司集群上构建项目时,我们注意到有时某些测试会失败,因为 R2DBC 连接localhost/0:0:0:0:0:0:0:1:<container_exposed_port>被拒绝。请注意,所有 3 个测试都依赖于数据库访问,当我们重复构建时,它们中的每一个在某些运行中都失败了,即,在某些构建中,所有 3 个测试都通过了;在某些版本中,只有测试 1 失败,但 2 和 3 通过;在某些版本中,只有测试 2 失败,但 1 和 3 通过;在某些构建中,测试 1 和 2 失败但 3 次通过,等等。当一个测试失败时,其他测试仍然运行并且可能通过。

我们已经进行了一些调试,发现 innetstat -a -n --tcp提示 only0.0.0.0:<container_exposed_port>正在被监听,而不是:::<container_exposed_port>.

在将集成测试的系统属性设置为首选 IPv4 堆栈后,问题就消失了,即

我在这里感到困惑的是,为什么在未设置 IPv4 首选项时,只有一些测试失败。另外,为什么 JDBC 连接不会发生这种情况。

0 投票
0 回答
66 浏览

spring - 无法覆盖 Spring 数据 r2dbc 中 AbstractR2dbcConfiguration 的 connectionFactory()(Spring boot 2.4.4)

我正在尝试创建 的实例PostgresqlConnectionFactory,但intellij找不到类PostgresqlConnectionFactory。但如果我按Ctrl+Nintellij就是给我上课PostgresqlConnectionFactory。我尝试使用 STS,但同样的事情发生了。我还尝试通过手动导入“外部库”部分中的包来编写代码,但出现编译错误。有人可以提出解决方案吗?

0 投票
0 回答
183 浏览

spring-boot - 是否有更惯用的方式将 R2dbcEntityTemplate 与 kotlin 协程/扩展一起使用?

我正在尝试以R2dbcEntityTemplate更惯用的方式与 kotlin 协程/扩展一起使用。

基本上我可以写:

我想知道我是否可以写这样的东西

但它不能编译('没有为参数'查询'传递值)。

尝试正常括号时:

编译器抱怨: