0Pricing
Vector Databases: Pinecone, Weaviate & pgvector · Lección

Almacenamiento de vectores en PostgreSQL

Aprenda a crear tablas con columnas vectoriales e insertar datos de embeddings directamente en su base de datos PostgreSQL.

Almacenamiento de vectores en PostgreSQL es una lección gratuita de Vector Databases: Pinecone, Weaviate & pgvector en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Vector Databases: Pinecone, Weaviate & pgvector, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Vector Databases: Pinecone, Weaviate & pgvector incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

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), ensuring N matches 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!

Preguntas frecuentes

¿La lección «Almacenamiento de vectores en PostgreSQL» es gratis?

Sí — el texto completo de «Almacenamiento de vectores en PostgreSQL» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Vector Databases: Pinecone, Weaviate & pgvector, actualiza a CoddyKit PRO. El curso de Vector Databases: Pinecone, Weaviate & pgvector incluye 4 lecciones en total.

¿Qué aprenderé en «Almacenamiento de vectores en PostgreSQL»?

Aprenda a crear tablas con columnas vectoriales e insertar datos de embeddings directamente en su base de datos PostgreSQL. Practicas Vector Databases: Pinecone, Weaviate & pgvector con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Vector Databases: Pinecone, Weaviate & pgvector?

No se requiere experiencia previa. Vector Databases: Pinecone, Weaviate & pgvector en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Almacenamiento de vectores en PostgreSQL»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Vector Databases: Pinecone, Weaviate & pgvector?

Sí. Cada lección de Vector Databases: Pinecone, Weaviate & pgvector incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Configuración de la extensión pgvector
  2. Almacenamiento de vectores en PostgreSQL
  3. Ejecución de consultas por similitud
  4. Elegir métricas de distancia en pgvector
← Volver a Vector Databases: Pinecone, Weaviate & pgvector