postgres_scanner VS go-duckdb

Compare postgres_scanner vs go-duckdb and see what are their differences.

go-duckdb

go-duckdb provides a database/sql driver for the DuckDB database engine. (by marcboeker)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
postgres_scanner go-duckdb
6 4
177 496
4.0% -
9.3 8.1
12 days ago 2 days ago
C++ Go
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

postgres_scanner

Posts with mentions or reviews of postgres_scanner. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-14.
  • Connect ODBC Databases to DuckDB
    3 projects | news.ycombinator.com | 14 Jul 2023
    I've created an ODBC DuckDB extension to query any database that has an ODBC driver. It's modeled after the fantastic official Postgres scanner extension https://github.com/duckdblabs/postgres_scanner.

    It supports fetching rowsets in batches to minimize network overhead and defaults to the default DuckDB vector size of 2048.

    I've tested it against the IBM DB2 & Postgres ODBC drivers and will continue to test and add support for all major databases. If you've got one you'd like to see let me know in the comments.

    I've got plenty of improvements in the pipeline including:

  • DuckDB 0.7.0
    2 projects | news.ycombinator.com | 13 Feb 2023
    It's not a dumb question at all. I'm pretty knowledgeable with DBs and still find it very difficult to understand how many of these front-end/pass-through engines work.

    Checkout Postgres Foreign Data Wrappers. That might be the most well known approach for accessing one database through another. The Supabase team wrote an interesting piece about this recently.

    https://supabase.com/blog/postgres-foreign-data-wrappers-rus...

    You might also want to try out duckdb's approach to reading other DBs (or DB files). They talk about how they can "import" a sqlite DB in the above 0.7.0 announcement, but also have some other examples in their duckdblabs github project. Check out their "...-scanner" repos:

    https://github.com/duckdblabs/postgres_scanner

    https://github.com/duckdblabs/sqlite_scanner

  • DuckDB – in-process SQL OLAP database management system
    4 projects | news.ycombinator.com | 10 Feb 2023
    Doesn't postgres have a columnar option? If so, you could prob get better performance for your analytical interactions if you switched some tables to columnar.

    Otherwise check out postgres scanner. https://github.com/duckdblabs/postgres_scanner

  • DuckDB on YugabyteDB
    2 projects | dev.to | 22 Nov 2022
  • Notes on the SQLite DuckDB Paper
    4 projects | news.ycombinator.com | 1 Sep 2022
    DuckDB can actually read SQLite or Postgres directly! In the SQLite case, something like Litestream plus DuckDB could work really well!

    Also, with Pyarrow's help, DuckDB can already do this with Delta tables!

    https://github.com/duckdblabs/sqlite_scanner

    https://github.com/duckdblabs/postgresscanner

  • Friendlier SQL with DuckDB
    8 projects | news.ycombinator.com | 12 May 2022
    Interesting thought! I have not tried this yet so I only have a guess as an answer. Could you export the data as SQL statements and then run those statements on DuckDB? That may be easier to set up, but may take longer to run...

    DuckDB also has the ability to read Postgres data directly, and there is a Postgres FDW that can read from DuckDB!

    https://github.com/duckdblabs/postgresscanner

    https://github.com/alitrack/duckdb_fdw

go-duckdb

Posts with mentions or reviews of go-duckdb. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-05-27.
  • Embeddable Database for Go which have Date/Time type
    1 project | /r/golang | 28 Nov 2022
    DuckDB also has date functions and Go bindings
  • Range Joins in DuckDB
    2 projects | news.ycombinator.com | 27 May 2022
    I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps.

    https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

  • Friendlier SQL with DuckDB
    8 projects | news.ycombinator.com | 12 May 2022
    Here is a solved Github Issue related to CGO for the Go bindings! If you have another issue, please feel free to post it on their Github page!

    https://github.com/marcboeker/go-duckdb/issues/4

  • Dsq: Commandline tool for running SQL queries against JSON, CSV, Parquet, etc.
    5 projects | news.ycombinator.com | 11 Jan 2022
    Yeah frankly the q benchmark isn't the best even though dsq compares favorably in it. It isn't well documented and exercises a very limited amount of functionality and isn't very rigorous from what I can see. That said, the caching q does is likely very solid (and not something dsq does).

    The biggest risk I think with octosql (and cube2222 is here somewhere to disagree with me if I'm wrong) is that they have their own entire SQL engine whereas textql, q and dsq use SQLite. But q is also in Python whereas textql, octosql, and dsq are in Go.

    In the next few weeks I'll be posting some benchmarks that I hope are a little fairer (or at least well-documented and reproducible). Though of course it would be appropriate to have independent benchmarks too since I now have a dog in the fight.

    On a tangent, once the go-duckdb binding [0] matures I'd love to offer duckdb as an alternative engine flag within dsq (and DataStation). Would be neat to see.

    [0] https://github.com/marcboeker/go-duckdb

What are some alternatives?

When comparing postgres_scanner and go-duckdb you can also consider the following projects:

odbc-scanner-duckdb-extension - A DuckDB extension to read data directly from databases supporting the ODBC interface

dsq - Commandline tool for running SQL queries against JSON, CSV, Excel, Parquet, and more.

ClickBench - ClickBench: a Benchmark For Analytical Databases

textql - Execute SQL against structured text like CSV or TSV

sqlite_scanner - DuckDB extension to read and write to SQLite databases

roapi - Create full-fledged APIs for slowly moving datasets without writing a single line of code.

budibase - Budibase is an open-source low code platform that helps you build internal tools in minutes 🚀

better-sqlite3 - The fastest and simplest library for SQLite3 in Node.js. [Moved to: https://github.com/WiseLibs/better-sqlite3]

duckdb - DuckDB is an in-process SQL OLAP Database Management System

q - q - Run SQL directly on delimited files and multi-file sqlite databases

db-benchmark - reproducible benchmark of database-like ops