tds_fdw VS pg_similarity

Compare tds_fdw vs pg_similarity and see what are their differences.

tds_fdw

A PostgreSQL foreign data wrapper to connect to TDS databases (Sybase and Microsoft SQL Server) (by tds-fdw)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
tds_fdw pg_similarity
1 3
347 352
1.4% -
5.6 0.0
3 months ago 7 months ago
C C
GNU General Public License v3.0 or later BSD 3-clause "New" or "Revised" 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.

tds_fdw

Posts with mentions or reviews of tds_fdw. We have used some of these posts to build our list of alternatives and similar projects.

pg_similarity

Posts with mentions or reviews of pg_similarity. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-07.
  • Data Cleaning in SQL
    1 project | /r/SQL | 15 Jun 2023
    For Postgres, there is an extension that provides that.
  • Show HN: Supabase Clippy – ChatGPT for Supabase Docs
    4 projects | news.ycombinator.com | 7 Feb 2023
    Note that pgvector isn't supported on any of the large cloud providers' hosted Postgres offerings, other than Supabase. https://github.com/pgvector/pgvector#hosted-postgres has instructions on how to add your voice to request it to be added!

    (It does seem that the ancient https://github.com/eulerto/pg_similarity is supported by RDS and Google Cloud - but it's hard to tell whether attention was paid to its performance characteristics with nearly the rigor that pgvector seems to have been designed.)

  • Official Elasticsearch Python library no longer works with open-source forks
    7 projects | news.ycombinator.com | 8 Aug 2021
    While I don't doubt that you know your usecase and weighed/tried the option.

    > Postgres search is essentially an easier to use regex engine.

    I'm not sure exactly what you meant to convey here, but if you're searching with LIKE or `~` you're not doing Postgres's proper Full Text Search. You should be dealing with tsvectors[0]

    > As soon as you need multiple languages

    Postgres FTS supports multiple languages and you can create your own configurations[1]

    > advanced autocomplete

    I'm not sure what "advanced" autocomplete is but you can get pretty fast trigram searches going[2] (back to LIKE/ILIKE here but obviously this is an isolated usecase). In the end I'd expect auto complete results to actually not hit your DB most of the time (maybe I'm naive but that feels like a caching > cache invalidation > cache pushdown problem to me)

    > misspelling detection

    pg_similarity_extension[3] might be of some help here, but it may require some wrangling.

    > large documents, large datasets,

    PG has TOAST[4], and obviously can scale (maybe not necessarily great at it) -- see pg_partman/Timescale/Citus/etc.

    > custom scoring

    Postgres only has basic ranking features[5], but you can write your own functions and extend it of course.

    Solr/ES are definitely the right tools for the job (tm) when the job is search, but you can get surprisingly far with Postgres. I'd argue that many usecases actually don't want/need a perfect full text search solution -- it's often minor features that turn into overkill fests and ops people learning/figuring out how to properly manage and scale an ES cluster and falling into pitfalls along the way.

    [0]: https://www.postgresql.org/docs/current/textsearch-intro.htm...

    [1]: https://www.postgresql.org/docs/current/textsearch-intro.htm...

    [2]: https://about.gitlab.com/blog/2016/03/18/fast-search-using-p...

    [3]: https://github.com/eulerto/pg_similarity

    [4]: https://www.postgresql.org/docs/current/storage-toast.html

    [5]: https://www.postgresql.org/docs/9.5/textsearch-controls.html...

What are some alternatives?

When comparing tds_fdw and pg_similarity you can also consider the following projects:

plpgsql_check - plpgsql_check is a linter tool (does source code static analyze) for the PostgreSQL language plpgsql (the native language for PostgreSQL store procedures).

git-imerge - Incremental merge for git

pg_auto_failover - Postgres extension and service for automated failover and high-availability

elasticsearch-py - Official Python client for Elasticsearch

orafce - The "orafce" project implements in Postgres some of the functions from the Oracle database that are missing (or behaving differently).Those functions were verified on Oracle 10g, and the module is useful for production work.

pgsentinel - postgresql extension providing Active session history