top | item 46379765

Postgres extension complements pgvector for performance and scale

143 points| flyaway123 | 2 months ago |github.com

25 comments

order

ricw|2 months ago

I’ve been using this since early this year and it’s been great. It was what convinced me to just stick to Postgres rather than using a dedicated vector db.

Only working with 100m or so vectors, but for that it does the job.

pqdbr|2 months ago

Are you using a dedicated pg instance for vector or you keep all your data in a single pg instance (vector and non-vector)?

esafak|2 months ago

What kind of performance do you observe with what setup?

whakim|2 months ago

Worth noting that the filtering implementation is quite restrictive if you want to avoid post-filtering: filters must be expressible as discrete smallints (ruling out continuous variables like timestamps or high cardinality filters like ids); filters must always be denormalized onto the table you're indexing (no filtering on attributes of parent documents, for example); and filters must be declared at index creation time (lots of time spent on expensive index builds if you want to add filters). Personally I would consider these caveats pretty big deal-breakers if the intent is scale and you do a lot of filtering.

jascha_eng|2 months ago

Combined with our other search extension for full text search these two extensions make postgres a really capable hybrid search engine: https://github.com/timescale/pg_textsearch

ldng|2 months ago

I'm not how you'd combine the two; care to give us a quick outline ?

dmarwicke|2 months ago

does this actually fix metadata filtering during vector search? that's the thing that kills performance in pgvector. weaviate had the same problem, ended up using qdrant instead

mmmeff|2 months ago

This is still unsupported in RDS, right?

jascha_eng|2 months ago

We have a lot of happy customers that moved from rds to tiger cloud if you think pgvectorscale is interesting to you and you don't want to self host pg.

But yes big cloud providers move slow in adopting extensions.