| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
feat: Add Catalog and Table implementations for PostgreSQL (#5487) ## Changes Made Allows us to do catalog = daft.catalog.Catalog.from_postgres("postgresql://user:pass@uri:5432/postgres") table = catalog.get_table("myschema.mytable") df = table.read() ... output_table = catalog.create_table_if_not_exists("myschema.output") output_table.write(df) Depends on https://github.com/Eventual-Inc/Daft/pull/5471 for distributed writes and the df.write_sql() interface. ## Key decisions, limitations, and notes - Embeddings support is currently provided via the pgvector extension and the pgvector python client library. - The following types are currently not supported: - Duration - Interval - The following types currently fallback to JSONB: - Multidimensional lists - Structs - Maps - Images - Tensors - No connection pooling - Writes happen on a single node (https://github.com/Eventual-Inc/Daft/pull/5471 implements distributed writes) - Uses psycopg and COPY for writes. ADBC would potentially be a better choice here but we ignore it for now due to its limited type support. - Instead of assuming that public is the default schema, we delegate table resolution to Postgres' [Schema Search Path](https://www.postgresql.org/docs/current/ddl-schemas.html#DDL-SCHEMAS-PATH) --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> | 11 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 11 个月前 |