Postgres.app Mac 版本安裝 pgvector

筆記一波 Postgres.app 沒有預先安裝 pgvector 之後補安裝碰上的問題。附上解決方案以及檢查方式。

Postgres.app Mac 版本安裝 pgvector
Photo by Patrick Tomasso / Unsplash

如果有在關注生成式 AI 的人一定會知道為什麼現在的資料庫都必須要支援向量格式,今天就碰上了我的 postgres 14 沒有安裝支援向量的套件。所以就來實現一次安裝過程了。

TL;DR

直接去 https://github.com/pgvector/pgvector 照著他安裝步驟就好。

問題排除

那麼你會說,這樣就水了一篇文章,為何還要有這段,因為有看到,有人按照著步驟走完之後,還是沒有安裝成功的問題,所以有了這段筆記。

macOs 沒意外的話,系統本身會自動帶有 postgresql 又或是曾經有使用過 brew 安裝過?
這樣會讓 pgvector 安裝到錯誤的路徑上,如果你的 App 運行是透過 Postgress.app 連接的話,他安裝錯誤的位子當然也沒辦法支援向量格式了。
簡單來說 pgvector 是安裝到本地的 postgresql 而不是 Postgress.app

首先先確認你目前的 pg_config 也就是看看如果下指令是由誰來回應

pg_config --libdir

如果你是 /opt/homebrew/share/postgresql@14 那就代表你的 pgvector 應該是安裝到 brew 那邊去了

可以先將 homebrew 的 postgresql 移除
注意:這樣可能會導致你原本連接這個 postgresql 的功能無法運作!!

brew uninstall postgresql

接著再次確認

pg_config --libdir
=> /Applications/Postgres.app/Contents/Versions/14/lib

確認是 Postgres.app 之後就可以再一次按照 git repository 的方式 make

安裝完成之後可以確認 extension 是否正確安裝

ls /Applications/Postgres.app/Contents/Versions/14/share/postgresql/extension
ls /Applications/Postgres.app/Contents/Versions/14/lib/postgresql

應該就可以看到下面這些檔案的存在
CleanShot 2024-03-21 at 18.16.12@2x.png

CleanShot 2024-03-21 at 18.16.43@2x.png