yum源安装
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql-server
sudo /usr/lib/systemd/system/postgresql.service initdb
sudo systemctl enable postgresql-
sudo systemctl start postgresql
sudo systemctl status postgresql
psql -U <数据库用户名> -d <数据库名>
psql -U postgres -d postgres
psql -U postgres
SELECT datname FROM pg_database;
SELECT table_name FROM information_schema.table where table_schema = 'maxkb';
docker 安装 pgvector
使用自定义Docker镜像(推荐)
- 创建Dockerfile
FROM postgres:13
RUN apt-get update && \
apt-get install -y build-essential postgresql-server-dev-13 git
RUN git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git /tmp/pgvector && \
cd /tmp/pgvector && \
make && \
make install && \
rm -rf /tmp/pgvector
RUN apt-get purge -y --auto-remove build-essential postgresql-server-dev-13 git && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
- 构建镜像
docker build -t my-postgres-with-pgvector .
- 运行容器并启用扩展
docker run \
--name my-pgvector \
-e POSTGRES_PASSWORD=mysecretpassword \
-v ./init.sql:/docker-entrypoint-initdb.d/init.sql \
-d my-postgres-with-pgvector
``
+ 手动启用扩展
```bash
docker exec -it my-pgvector psql -U postgres -c "CREATE EXTENSION vector;"
使用现有社区镜像(快速)
docker run -d --name pgvector -e POSTGRES_PASSWORD=Password123@postgres -p 5432:5432 -v /path/to/docker/postgresql:/var/lib/postgresql/data ankane/pgvector
docker exec -it pgvector psql -U postgres
\dx
SELECT * FROM pg_extension;
\q
docker exec -it pgvector bash
cp /var/lib/postgresql/data/pg_hba.conf /var/lib/postgresql/data/pg_hba.conf.bk250411
echo "host all all 0.0.0.0/0 scram-sha-256" >> /var/lib/postgresql/data/pg_hba.conf
docker cp pgvector:/var/lib/postgresql/data/pg_hba.conf pg_hba.conf
docker exec -u postgres pgvector pg_ctl reload -D /var/lib/postgresql/data
创建用户及授权
CREATE USER maxkb WITH PASSWORD 'maxkb';
CREATE DATABASE maxkb OWNER maxkb;
GRANT ALL PRIVILEGES ON DATABASE maxkb TO maxkb;
\l
\c maxkb
GRANT USAGE, CREATE ON SCHEMA public TO maxkb;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL ON TABLES TO maxkb;
CREATE EXTENSION vector;