0Pricing
Supabase Backend as a Service · Lección

Uso de extensiones de Postgres

Descubra cómo habilitar y utilizar potentes extensiones de PostgreSQL para añadir funcionalidades como la generación de UUID o la búsqueda de texto completo.

Uso de extensiones de Postgres es una lección gratuita de Supabase Backend as a Service en CoddyKit. Esta es la lección 1 de 3. 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 Supabase Backend as a Service, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Supabase Backend as a Service incluye 3 lecciones en total.

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

What are Postgres Extensions?

PostgreSQL is super powerful, but did you know you can make it even better? That's where extensions come in!

Extensions are like plugins for your database. They add new functions, data types, or operators that aren't available by default.

Supabase, built on PostgreSQL, lets you easily enable many of these extensions to boost your app's capabilities.

Enabling Extensions in Supabase

Turning on an extension in Supabase is straightforward. You usually do it through the SQL Editor in your Supabase Dashboard.

  • Go to the SQL Editor.
  • Run the command: CREATE EXTENSION extension_name;
  • Make sure you have admin privileges for your database.

Once enabled, the new features become available for use across your database.

CREATE EXTENSION "uuid-ossp"; -- Example for UUIDs

Unique IDs with `uuid-ossp`

Generating truly unique identifiers is crucial for many applications. PostgreSQL's built-in SERIAL or BIGINT sequences are great for simple auto-incrementing IDs, but they are sequential.

For global uniqueness, especially in distributed systems, Universally Unique Identifiers (UUIDs) are better. The uuid-ossp extension helps generate them.

Using `uuid-ossp`

After enabling uuid-ossp, you can create a table with a UUID primary key. Here's how to create a table and insert a row with a generated UUID:

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS "uuid-ossp";

CREATE TABLE products (
  id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
  name TEXT NOT NULL,
  price NUMERIC
);

INSERT INTO products (name, price) VALUES
('Supabase T-Shirt', 25.00),
('Postgres Mug', 12.50);

SELECT id, name FROM products;

Fuzzy Search with `pg_trgm`

Have you ever searched for something and misspelled it, but still got relevant results? That's fuzzy search!

The pg_trgm extension helps you perform similarity searches based on trigrams (sequences of three characters). It's great for "did you mean?" features or finding close matches.

Using `pg_trgm` for Similarity

Let's enable pg_trgm and see how to find products with names similar to a search term. We'll use the similarity() function.

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS pg_trgm;

-- Create a sample table if it doesn't exist
CREATE TABLE IF NOT EXISTS articles (
  id SERIAL PRIMARY KEY,
  title TEXT NOT NULL
);

TRUNCATE TABLE articles; -- Clear previous data for fresh run
INSERT INTO articles (title) VALUES
('PostgreSQL Best Practices'),
('Supabase Authentication Guide'),
('Understanding Postgres Extensions'),
('Postgres Performance Tips');

-- Find titles similar to 'Postgres Extension'
SELECT title, similarity(title, 'Postgres Extension') AS score
FROM articles
WHERE similarity(title, 'Postgres Extension') > 0.3
ORDER BY score DESC;

Key-Value with `hstore`

Sometimes, you need to store flexible, unstructured data, like user preferences or product attributes, without creating many new columns.

The hstore extension provides a data type for storing sets of key/value pairs within a single column. It's like a mini-JSON object, but optimized for simple string key-value storage.

Using `hstore`

Let's add an hstore column to a table and store some flexible data. You can then query it using operators like -> to get a value by key.

-- First, ensure the extension is enabled (run once in SQL Editor)
-- CREATE EXTENSION IF NOT EXISTS hstore;

CREATE TABLE IF NOT EXISTS users (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  settings HSTORE
);

TRUNCATE TABLE users; -- Clear previous data for fresh run
INSERT INTO users (name, settings) VALUES
('Alice', 'theme=>dark, notifications=>true'),
('Bob', 'theme=>light, language=>en-US');

-- Query for users with dark theme
SELECT name, settings->'theme' AS user_theme
FROM users
WHERE settings->'theme' = 'dark';

Why Use Extensions?

PostgreSQL extensions offer several key benefits:

  • Extended Functionality: Add powerful features not available by default.
  • Performance: Many are highly optimized C functions, offering great speed.
  • Simplicity: Integrate complex logic directly into your database.

However, be mindful of over-reliance and ensure the extension is well-maintained and compatible with your Postgres version.

Extension Check

You've learned about a few powerful PostgreSQL extensions. Let's test your understanding!

Recap: Power Up Your Database!

In this lesson, we explored the world of PostgreSQL extensions! We learned that they are like powerful plugins that enhance your database's capabilities.

  • We saw how to enable extensions in Supabase.
  • We used uuid-ossp for generating unique IDs.
  • We used pg_trgm for fuzzy search.
  • We used hstore for flexible key-value storage.

These extensions help you build more robust and feature-rich applications directly within your database!

Preguntas frecuentes

¿La lección «Uso de extensiones de Postgres» es gratis?

Sí — el texto completo de «Uso de extensiones de Postgres» 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 Supabase Backend as a Service, actualiza a CoddyKit PRO. El curso de Supabase Backend as a Service incluye 3 lecciones en total.

¿Qué aprenderé en «Uso de extensiones de Postgres»?

Descubra cómo habilitar y utilizar potentes extensiones de PostgreSQL para añadir funcionalidades como la generación de UUID o la búsqueda de texto completo. Practicas Supabase Backend as a Service 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 Supabase Backend as a Service?

No se requiere experiencia previa. Supabase Backend as a Service 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 1 de 3.

¿Cuánto tiempo toma la lección «Uso de extensiones de Postgres»?

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 Supabase Backend as a Service?

Sí. Cada lección de Supabase Backend as a Service 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. Uso de extensiones de Postgres
  2. Datos geoespaciales avanzados (PostGIS)
  3. Búsqueda de texto completo y embeddings vectoriales con pgvector
← Volver a Supabase Backend as a Service