问题标签 [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 回答
684 浏览

spring-data - 枚举类型的spring R2DBC查询

我的 PostgreSQL 包含一个像

在 Spring Boot 应用程序中,它表示为MyType.class enum

我正在尝试使用DatabasClient

作为一个错误,我得到:

将类型转换为my_type不起作用(使用 CAST 和 ::)

我已经注册了一个适用的特定编解码器MyType.class- 无条件查询所有适用于相关@ReadingConverter

0 投票
1 回答
489 浏览

java - 如何连接到 postgres 并使用 r2dbc 执行查询

我正在尝试编写一个简单的函数来连接postgres并执行一个 select 语句。

上面的代码没有打印任何东西。也没有错误。我可以使用相同的凭据连接到数据库。从数据库流式传输数据的代码中缺少什么?

0 投票
2 回答
2873 浏览

java - 如何在 r2dbc 中建立数据库连接?

如何在 r2dbc Spring boot 项目中建立 PostgreSQL 数据库连接?

我尝试了以下配置,它连接到数据库,但没有返回任何值

应用程序属性

模型

存储库

休息控制器:

它在控制台中打印输出,但在 JSON 中,我只得到空括号{}

正确的配置方法是什么?还需要什么其他配置吗?

0 投票
0 回答
400 浏览

performance - spring r2dbc 的性能问题

问题:仅在前 1 秒内观察到缓慢,其余 59 秒的响应时间恒定,比最大响应时间好 90%。

Server Env 详细信息:带有 r2dbc 池的 spring boot webflux 部署在 ECS fargate 中并连接到 Postgres Aurora 集群。池设置 - maxSize,initialSize 为 200 使用 spring data r2dbc 并启用代理侦听器进行调试。

客户端:在同一 VPC 中的 AWS EC2 中配置了一个具有 200,250,300,500 个用户且斜坡时间为 50 秒的最小负载的加特林脚本。

设想

  1. ECS 服务器已启动。
  2. 等待 4 分钟。
  3. 使用邮递员对 5 个请求进行了空运行。
  4. 使用加特林触发负载
  5. 关闭弹性云服务器。
  6. 对不同数量的用户重复这些步骤。

该行为与不同的用户一致。总是前 1 分钟的响应最慢,响应时间最长。 后续运行无需重新启动服务器具有良好的性能,没有任何延迟。

总计|OK |KO|Cnt/s|最小值|第 50 个百分比|第 75 个百分比|第 95 个百分比|第 99 个百分比|最大值|平均值|标准偏差|
500 |500 |0 |9.804|94 |184 |397 |1785 |2652 | 2912 | 417 | 第556章

并且还在日志中观察到,对于具有最大响应时间的请求,记录的这两条即时行之间的时间差为 168 毫秒。-- 执行查询:BEGIN -- io.r2dbc.spi.Connection.beginTransaction 在 ConnectionFactory#create() 回调

任何建议如何解决/解决问题?

谢谢。

0 投票
0 回答
1304 浏览

postgresql - Spring Data R2dbc中的数字类型映射问题与postgres

我尝试在示例应用程序中使用 Spring Data R2dbc/Postgres。

  • Spring Boot 2.4.0-M2
  • R2dbc Postgres(由 Spring Boot 管理)
  • Spring Data R2dbc 1.2.0-M2(由 Spring Boot 管理)

表脚本。

数据.sql:

我使用 aResourceDatabasePopulator来填充数据,它可以工作。

但是当我试图通过存储库保存数据时,失败了。

它抛出了这样的异常:

完整的代码在这里

更新:放弃扩展AbstractR2dbcConfiguration,按照官方指南解决。

0 投票
1 回答
796 浏览

postgresql - r2dbc postgres 驱动程序 - 如何从 PooledConnection 中提取 PostgresqlConnection

嗨,我的 Spring Boot 应用程序使用属性文件自动配置了 r2dbc 连接池:

现在我需要获取一个 PostgresqlConnection 实例,我这样做:

但是因为这是一个池配置,所以我收到了 ClassCastException 和以下包含所需 PostgresqlConnection 的 PooledConnection 对象:

PooledConnection[PostgresqlConnection{client=io.r2dbc.postgresql.client.ReactorNettyClient@14c93774, codecs=io.r2dbc.postgresql.codec.DefaultCodecs@62a68bcb}]

我需要访问 PostgresqlConnection 并使用它的原生功能,比如通知:

问题是如何从 connectionFactory 正确获取 PostgresqlConnection 实例?任何帮助将不胜感激。

0 投票
0 回答
105 浏览

spring-data-r2dbc - 间隔任务导致 R2DBC 中的空闲连接耗尽

我正在使用 reactor java 使用 r2dbc 对 Postgres 运行定期任务,如下所示;

大约 5 分钟后,它停止处理作业,当我检查 postgres 连接都空闲时:

如何适当地使用 r2dbc 和 databaseClient 定期从表中获取数据而不会导致此异常?

0 投票
1 回答
1000 浏览

spring - Spring R2DBC 使用 postgres 初始化数据库的正确方法

我有以下代码:

和:

我收到以下错误:

更早的错误:

如果我修改我的代码说:

然后我不再收到有关现有项目关系的错误,但是,似乎交易被完全取消了?

我得到以下输出:

所以我的问题是

  1. 这样做的正确方法是什么?

  2. 为什么我的 CommandLineRunner 代码似乎执行了两次?该表在运行代码后不会持续存在,因此似乎必须执行两次才能获得有关该表存在的第一个错误。

谢谢你。

0 投票
1 回答
303 浏览

java - R2DBC - 它在现实中是如何工作的?

我已经开始学习 Reactive 范式,所以我对这个主题很陌生。我创建了一个示例应用程序,它使用 Spring R2DBC 连接到 PostgreSQL DB。

我创建了一个 Rest Controller 用于在 DB 中获取和保存数据,以更好地理解一个概念。

我预计会遇到以下情况:

  1. 我正在从响应式存储库类运行 findById 查询以查找 ID,该 ID 在 DB 中尚不存在。我订阅了返回的 Mono 对象
  2. 我正在保存具有在 (1) 中查询的 id 的实体
  3. 来自 (1) 的查询不断监听 DB 中的变化并立即找到添加的实体

不幸的是,它不能以这种方式工作。基本上第 (3) 点永远不会发生,我需要从 (1) 手动触发查询以再次访问数据库。

我的问题是 - 我做错了什么或错误地理解了反应式数据库概念?

我觉得,这里需要一些解释。我非常感谢您在这个问题上的帮助。

0 投票
0 回答
205 浏览

spring - Hibernate 在模式中找不到表

我有一点问题,我有几个微服务,但是其中一个抛出了其他人不会抛出的异常并且工作完美......

我在这样的数据库中有很好的权限:

在此处输入图像描述

我的实体位于所有微服务使用的公共项目中,添加了 Maven 依赖项。

但是我在 pom 中修复了休眠版本:

因为这个项目是唯一一次像这样使用一个 jpa 数据源的项目:

r2dbc 的另一个数据源(postgres 反应式)

我不知道为什么只有这个微服务没有找到我的表computed.fluxeventlogging......虽然我在这个图中有很多其他表并没有提出问题

有人有想法吗?感谢你并致以真诚的问候