EDB PostgreSQL17のインストール
homebrewでpostgresql@17を何度再インストールしてもUserがrootになってしまい、brewで起動するとerror 256なります。そこでbrewでアンインストールしてからEDB版をインストールしました。
問題なくpostgresが起動し、vector拡張を試すと、予想通りエラーになります。
postgres=# create extension vector;
ERROR: extension "vector" is not available
DETAIL: Could not open extension control file
...
HINT: The extension must first be installed on the system where PostgreSQL is running.
以下は、*1で示した対処法のEDB PostgreSQL17用に焼き直したものです。
pgvectorのインストール
git clone --branch v0.7.4 https://github.com/pgvector/pgvector.git
$cd ~/pgvector
$export PG_CONFIG=/Library/PostgreSQL/17/bin/pg_config
$make PG_CONFIG=$PG_CONFIG clean
$make PG_CONFIG=$PG_CONFIG all
clang: error: unsupported argument 'native' to option '-march='
Makefileを以下のように変更します
#To compile for portability, run: make OPTFLAGS=""
#OPTFLAGS = -march=native unsupportのためこの行をコメントアウトして次行を追加
OPTFLAGS =
再度makeして、make installします
$make PG_CONFIG=$PG_CONFIG all
$sudo make PG_CONFIG=$PG_CONFIG install
vector拡張をインストールする
$cd
$psql -U postgres
Password for user postgres:
psql (17.0)
Type "help" for help.
postgres=# create extension vector;
CREATE EXTENSION
インストールが成功しました。
参考情報:
*1 : Postgresql@16でベクトル拡張の失敗に対処する(Mac)https://qiita.com/tnagata/items/7e6ae9956bdcaf167d94