首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用postgres crate接收来自PostgreSQL的表修改事件?

如何使用postgres crate接收来自PostgreSQL的表修改事件?
EN

Stack Overflow用户
提问于 2019-06-25 13:53:59
回答 1查看 210关注 0票数 0

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

我试过使用tokio-postgres,但似乎在Windows上有an issue

EN

回答 1

Stack Overflow用户

发布于 2019-06-26 17:28:03

在PostgreSQL的特定通道上侦听事件如下:

代码语言:javascript
复制
// 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!!!")
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56747634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档