postgres/
postgres.rs

1use datafusion::prelude::SessionContext;
2use datafusion_remote_table::{ConnectionOptions, PostgresConnectionOptions, RemoteTable};
3use std::sync::Arc;
4
5#[tokio::main]
6pub async fn main() {
7    let options = ConnectionOptions::Postgres(PostgresConnectionOptions {
8        host: "localhost".to_string(),
9        port: 5432,
10        username: "user".to_string(),
11        password: "password".to_string(),
12        database: None,
13    });
14    let remote_table = RemoteTable::try_new(options, "SELECT * from supported_data_types", None)
15        .await
16        .unwrap();
17
18    let ctx = SessionContext::new();
19    ctx.register_table("remote_table", Arc::new(remote_table))
20        .unwrap();
21
22    ctx.sql("SELECT * from remote_table")
23        .await
24        .unwrap()
25        .show()
26        .await
27        .unwrap();
28}