Problem polega na tym, że atrybuty keys
i values
są metodami niezmiennej kolekcji kolumn sq_objects.c
. Innym rozwiązaniem problemu jest użycie notacji dostępu do pozycji w celu uzyskania rzeczywistych kolumn:
func.jsonb_object_agg(
sq_objects.c["keys"],
sq_objects.c["values"]
).over(
partition_by=sq_objects.c.object_id
).label("attributes")