"error: column 'varying' does not exist" wenn kein column abgefragt wird

UPDATE table_name SET column_name = ARRAY['varying'] WHERE id = '123';
Error:
error: column "varying" does not exist
column_name data type: text[]

Ich hab das gleiche mit einem varchar(18) array gemacht, dort habe ich keine Probleme
Warum nimmt pSQL “varying” als column name während column_name der eigentliche name ist?

Darauf hin habe ich ein colum namens “varying” erstellt.
Nach ausführung der Query wurde die Value von column_name to NULL geändert während die Value von Column “varying” unverändert blieb.

Hast Du vielleicht doppelte Anführungszeichen verwendet? z.B. array["varying"]

Nein, ich habe jetzt “varying” als text gespeichert welcher nun später im Code zum Array transformiert wird. Das Problem besteht allerdings weiterhin.

Ich vermute Du zeigst uns nicht alles - die Fehlermeldung weißt jedenfalls ziemlich eindeutig daraufhin, dass Du irgendwo doppelte Anführungszeichen (") verwendest statt einfacher (')

Das Statement funktioniert so wie in Deiner Frage geschrieben jedenfalls problemlos:

Online Beispiel

error: column “aaa” does not exist
at Parser.parseErrorMessage (E:\Workspace\node_modules\pg-protocol\dist\parser.js:278:15)
at Parser.handlePacket (E:\Workspace\node_modules\pg-protocol\dist\parser.js:126:29)
at Parser.parse (E:\Workspace\node_modules\pg-protocol\dist\parser.js:39:38)
at Socket. (E:\Workspace\node_modules\pg-protocol\dist\index.js:10:42)
at Socket.emit (events.js:314:20)
at addChunk (_stream_readable.js:298:12)
at readableAddChunk (_stream_readable.js:273:9)
at Socket.Readable.push (_stream_readable.js:214:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23) {
length: 166,
severity: ‘ERROR’,
code: ‘42703’,
detail: undefined,
hint: undefined,
position: ‘31’,
internalPosition: undefined,
internalQuery: undefined,
where: undefined,
schema: undefined,
table: undefined,
column: undefined,
dataType: undefined,
constraint: undefined,
file: ‘d:\pginstaller_13.auto\postgres.windows-x64\src\backend\parser\parse_relation.c’,
line: ‘3514’,
routine: ‘errorMissingColumn’
}

.js Code:

const array = [‘aaa’];
pool.query(`UPDATE blacklists SET words = ARRAY[${array}] WHERE guildid = ‘${msg.guild.id}’`)

Hier ist der exacte code plus error

Da wird offensichtlich der Parameter komplett ohne Anführungszeichen gesendet. Das ist kein Postgres Problem sonder ein JavaScript Problem.