Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

763
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda