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

759
Views
Postgresql crea un error de sintaxis de columna generada, ¿por qué?

Tengo una tabla de postgres con dos columnas (un identificador y una fecha) que son una clave principal compuesta. Me gustaría codificar la concatenación en otra columna, generando este valor cada vez que se inserta un nuevo registro. Para eso, estoy tratando de modificar mi tabla para crear una columna generada:

 ALTER TABLE my_table ADD COLUMN hash_id_date VARCHAR(50) GENERATED ALWAYS AS (MD5(my_table.original_id||'-'||my_table.time)) STORED;

Esto me plantea el siguiente error:

 ERROR: syntax error at or near "(" LINE 4: GENERATED ALWAYS AS (MD5(my_table.original_id,'-',my_table.t... ^ SQL state: 42601 Character: 178

Me estoy volviendo loco por encontrar dónde está el error de sintaxis... He leído sobre funciones STABLE e IMMUTABLE y las columnas generadas siempre deben tener una función IMMUTABLE como expresión. Por lo que sé, MD5 es IMMUTABLE , pero el mensaje de error ni siquiera es capaz de alcanzar ese nivel.

¿Alguna ayuda?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Suponiendo que la funcionalidad básica para calcular el MD5 es común, puede crear una función para el cálculo. Use esta función donde sea necesario, incluida la actualización de sus filas actuales e invoque desde un activador en su tabla. Si el cálculo MD5 en particular no es tan común, simplemente puede poner el cálculo en la función de activación y también usarlo en una actualización independiente para las filas actuales. Vea aquí, por ejemplo, con la suposición de que es común en su aplicación.

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!