Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

231
Views
Columna generada por PostgreSQL a partir de una columna JSONB con valores anidados

Tengo la siguiente tabla con una columna JSONB:

 CREATE TABLE movies ( contributors JSONB );

Los datos en la columna se ven así:

 INSERT INTO movies (contributors) VALUES('[ {"last_name": "Robbins", "first_name": "Tim", "age": 61}, {"last_name": "Freeman", "first_name": "Morgan", "age": 83} ]');

Ahora quiero agregar una columna generada de vectores. Solo debe contener last_name de la columna JSONB:

 ALTER TABLE movies ADD COLUMN search TSVECTOR GENERATED ALWAYS AS (TO_TSVECTOR('simple', /* need help here 🙏 */ )) STORED;

¿Alguien puede ayudarme a hacer eso? Los vectores deberían verse así 'freeman':2 'robbin':1 Demostración en DB Fiddle

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Con la expresión JSON Path puede especificar los elementos en los datos JSON. Con el siguiente ejemplo, solo se incluirán los elementos con la clave last_name :

 ALTER TABLE movies ADD COLUMN search TSVECTOR GENERATED ALWAYS AS (TO_TSVECTOR('simple', jsonb_path_query_array(contributors, '$[*].last_name') /* ✅ */ )) STORED;

Demostración en DB Fiddle

Gracias RhodiumToad en el canal IRC #postgresql por brindar una solución a este problema 🙇‍♂️

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!