gpt4 book ai didi

postgresql - 我如何使用 postgres crate 从 PostgreSQL 接收表修改事件?

转载 作者:行者123 更新时间:2023-11-29 08:31:26 27 4
gpt4 key购买 nike

我有一个处理 PostgreSQL 数据库的 Rust 进程。此进程与服务器进程通信以使用 MPSC channel 传递详细信息。我卡在如何监听和处理表修改事件。

我尝试使用 tokio-postgres 但似乎有 an issue在 Windows 上使用它。

最佳答案

在 PostgreSQL 的特定 channel 上监听事件如下:-

// Establish connection with database.
let url = "postgresql://root:root1234@127.0.01/test";
let conn = Connection::connect(url, TlsMode::None).unwrap();

// Listen for events on channel 'myevent'.
conn.execute("LISTEN myevent", &[]).expect("Could not send LISTEN");
let notifications = conn.notifications();
let mut it = notifications.blocking_iter();

println!("Waiting for notifications...");
loop {
let a = it.next();
match a {
Ok(Some(b)) => {
println!("{:?}", b);
},
Err(e) => println!("Got error {:?}", e),
_ => panic!("Unexpected operation!!!")
}
}

关于postgresql - 我如何使用 postgres crate 从 PostgreSQL 接收表修改事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56747634/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com