duckdb如何使用extension以及直接连接数据库
duckdb有大量拓展,本文用postgres这拓展为例子,展示在py代码中如何使用extension,这postgres的作用就是直连pg数据库. 直接上代码:
url = "postgres://postgres:pwd@0.0.0.0:5432/dbname"
con = duckdb.connect()
con.install_extension("postgres")
con.load_extension("postgres")
def add_name(k: str) -> str:
print (111,k)
return k + "just test to use func"
con.create_function("add_name", add_name)
a = con.sql(f"SELECT add_name(field1),field2 FROM postgres_scan('{url}', 'public', 'tablename');")
print(a.df)
add_name是在sql中使用function的一个例子,pwd,dbname,field1,field2,tablename要根据自己的表变化