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::new(
8 "localhost",
9 5432,
10 "user",
11 "password",
12 ));
13 let remote_table =
14 RemoteTable::try_new(options, "SELECT * from supported_data_types", None, 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}