问题标签 [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.
spring-webflux - Flux 只返回一个值而不是所有值
我对以下代码有疑问,它只返回每个表的第一个结果。
因此,我尝试仅返回此测试功能的结果,该功能运行良好
老实说,在这种情况下我会使用 .block() 因为我需要另一个表中包含的信息才能继续前进,它们是 3 个表,但是这种可能性已被消除。
对于每个测验,我都需要问题集,对于每个问题,我都需要答案。
你会怎么做?
编辑
我已将上面的代码更改为:
这是邮递员的结果:
现在我需要了解如何将这些问题和答案合并到一个集合中。
spring-data-r2dbc - 使用 spring-data-r2dbc 和 postgresql 从 DataIntegrityViolationException 获取失败约束名称
我在 postgresql 数据库中有一些限制(唯一的,外键......)。
我使用弹簧数据 r2dbc 存储库:ReactiveCrudRepository
我想将DataIntegrityViolationException
存储库的 throw 转换为一些基于constraintName
inErrorDetails
字段的自定义异常PostgresqlDataIntegrityViolationException
。
但是ExceptionFactory
包含的类PostgresqlDataIntegrityViolationException
是包私有的。所以我不能将原因异常转换为DataIntegrityViolationException
to PostgresqlDataIntegrityViolationException
。
constraintName
当我抓到 时,最干净的访问方式是DataIntegrityViolationException
什么?
(比解析异常消息更好的东西^^)
编辑 :
我结束了这个解决方案:
cockroachdb - 无法从 Spring Data R2DBC 驱动程序连接到 CockroachCloud 免费(测试版)集群
我创建了 CrockroachCloud 免费(测试版)集群,并且能够使用命令行连接到数据库。但是当我尝试从 Spring Data R2DBC 驱动程序连接时,我得到了一个异常。
我在 application.yml 中使用以下连接字符串:
然后我得到以下异常:
完整的堆栈跟踪:
任何帮助,将不胜感激。
postgresql - R2DBC Statement.fetchsize exaclty 如何工作
我正在使用r2dbc-postgresql驱动程序。假设我们有一个包含 1000 条记录的表,并且fetchSize
是 100:
将执行多少个网络调用?我知道使用 JDBC Statement.SetFetchsize
,驱动程序将获取 10 批中的所有行,每批 100 行。
postgresql - R2DBC - PostgreSQL - 无法交换消息,因为超出了请求队列限制
图书馆:
- r2dbc-postgresql-0.8.6.RELEASE
- r2dbc-pool-0.8.5.RELEASE
- r2dbc-spi-0.8.3.RELEASE
- postgresql-42.2.18
- 项目清单
问题:我尝试使用 R2DBC (PostgreSQL) 批量插入,代码如下:
该代码将执行语句以将用户插入数据库,然后获取生成的用户 ID。如果用户列表小于或等于 255,则上述代码按预期工作。当用户列表大于 255(256~)时,发生以下异常:
当我尝试调查以检测发生了什么时。我看到异常是由 ReactorNettyClient.java 引发的。实现是:
Queue 超过 255 且 Queue.offer 方法返回 false 时出错。导致异常被抛出。
对不起,我不熟悉英语。请帮我弄清楚发生了什么以及解决它的解决方案。我想批量插入每个请求的记录数> 100000。
谢谢你。
java - 如何在 r2dbc 中实现多对多
R2DBC 目前不支持复合键。我想知道我们现在如何实现多对多关系?
例如,给定两个实体:
及其架构:
我可以为多对多映射创建一个表:
ItemTag
但是我们应该如何在kotlin/java中定义映射类呢?
或者省略@Id
? 那么这个类就不能有了Repository
吗?我想那会很好。这是唯一的暗示吗?
spring-webflux - 如何使用 webflux 和 r2dbc 在一个请求中保存两次?
我将 webflux 与 r2dbc 一起使用。
我尝试在一项服务中保存两个表,但只有一个实际保存。
可能有一种方法可以在处理程序中执行两次 flatmap,但我想在服务中使用事务。
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 连接不会发生这种情况。
spring - 无法覆盖 Spring 数据 r2dbc 中 AbstractR2dbcConfiguration 的 connectionFactory()(Spring boot 2.4.4)
我正在尝试创建 的实例PostgresqlConnectionFactory
,但intellij
找不到类PostgresqlConnectionFactory
。但如果我按Ctrl+N
,intellij
就是给我上课PostgresqlConnectionFactory
。我尝试使用 STS,但同样的事情发生了。我还尝试通过手动导入“外部库”部分中的包来编写代码,但出现编译错误。有人可以提出解决方案吗?
spring-boot - 是否有更惯用的方式将 R2dbcEntityTemplate 与 kotlin 协程/扩展一起使用?
我正在尝试以R2dbcEntityTemplate
更惯用的方式与 kotlin 协程/扩展一起使用。
基本上我可以写:
我想知道我是否可以写这样的东西
但它不能编译('没有为参数'查询'传递值)。
尝试正常括号时:
编译器抱怨: