PostgreSQLでのベクトル保存
ベクトル列を持つテーブルを作成し、埋め込みデータをPostgreSQLデータベースに直接挿入する方法を学びます。
「PostgreSQLでのベクトル保存」はCoddyKit上の無料Vector Databases: Pinecone, Weaviate & pgvectorレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはVector Databases: Pinecone, Weaviate & pgvector学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Vector Databases: Pinecone, Weaviate & pgvectorコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
Storing Vectors in PostgreSQL
Welcome back! In the previous lesson, we set up pgvector. Now, let's get practical and learn how to store actual vector embeddings in your PostgreSQL database.
This lesson covers creating tables with vector columns and inserting embedding data.
PostgreSQL Tables Reminder
Before storing vectors, let's quickly recall how tables work in PostgreSQL. You use the CREATE TABLE statement to define your table's structure, including column names and their data types.
With pgvector installed, we gain a new, powerful data type!
The `vector` Data Type
The core of storing embeddings with pgvector is the vector data type. When you define a column as vector(N), N represents the dimension of your embeddings.
vector(3): Stores 3-dimensional vectors.vector(1536): Stores 1536-dimensional vectors (common for OpenAI embeddings).
It's crucial that N matches the dimension of the embeddings you're working with.
Creating a Table with Vectors
To store embeddings, you'll create a table just like any other, but specify one or more columns as type vector(N).
Here's an example creating a simple table to hold items and their 3-dimensional embeddings:
CREATE TABLE items (
id SERIAL PRIMARY KEY,
embedding vector(3)
);Understanding Vector Dimensions
The number N in vector(N) is vital. It must precisely match the number of values (dimensions) in your actual embedding vectors. If your embedding model produces 768-dimensional vectors, your column must be vector(768).
Mismatched dimensions will result in errors when inserting data. Always check your embedding model's output dimension!
Inserting Single Vector Data
Once your table is set up, you can insert vector data using the standard INSERT INTO SQL command. Vector values are provided as a string representation of a list of numbers, e.g., '[1.2, 3.4, 5.6]'.
INSERT INTO items (embedding)
VALUES ('[1.0, 2.0, 3.0]');Inserting Multiple Vectors
You can insert multiple vectors into your table efficiently by providing multiple sets of values in a single INSERT INTO statement.
Each set of values corresponds to a new row in your table.
INSERT INTO items (embedding) VALUES
('[4.0, 5.0, 6.0]'),
('[7.0, 8.0, 9.0]');Storing Vectors with Metadata
In real-world applications, you'll almost always store additional information (metadata) alongside your vectors. This could be text content, a user ID, a timestamp, or any other relevant data.
Just add more columns to your table definition:
CREATE TABLE documents (
id SERIAL PRIMARY KEY,
content TEXT,
category VARCHAR(50),
embedding vector(4)
);Inserting Vectors & Metadata
When inserting data into a table with metadata, simply provide values for all the columns you wish to populate. Make sure the order of values matches the order of columns specified in your INSERT INTO statement.
INSERT INTO documents (content, category, embedding) VALUES
('The quick brown fox.', 'animal', '[0.1, 0.2, 0.3, 0.4]');Quick Check: Table Creation
Which of the following SQL statements correctly creates a table named products with an auto-incrementing primary key id and a vector column product_embedding of 1536 dimensions?
Recap: Storing Your Vectors
Great job! You've learned the fundamental steps to store vector embeddings in PostgreSQL using pgvector:
- Defining vector columns with
vector(N), ensuringNmatches your embedding dimensions. - Creating tables with both vector and metadata columns.
- Inserting single and multiple vector data points, along with their associated metadata.
Next, we'll explore how to query this data to find similar vectors!
よくある質問
「PostgreSQLでのベクトル保存」レッスンは無料ですか?
はい。「PostgreSQLでのベクトル保存」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Vector Databases: Pinecone, Weaviate & pgvectorコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Vector Databases: Pinecone, Weaviate & pgvectorコースには全4レッスンが含まれています。
「PostgreSQLでのベクトル保存」で何を学びますか?
ベクトル列を持つテーブルを作成し、埋め込みデータをPostgreSQLデータベースに直接挿入する方法を学びます。 ブラウザで直接実行するハンズオンコードでVector Databases: Pinecone, Weaviate & pgvectorを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Vector Databases: Pinecone, Weaviate & pgvectorを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのVector Databases: Pinecone, Weaviate & pgvectorは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「PostgreSQLでのベクトル保存」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このVector Databases: Pinecone, Weaviate & pgvectorレッスンでコードを書いて実行できますか?
はい。すべてのVector Databases: Pinecone, Weaviate & pgvectorレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- pgvector拡張機能のセットアップ
- PostgreSQLでのベクトル保存
- 類似度クエリの実行
- pgvectorで距離指標を選ぶ