From 5e354a18a3d7f09a8d28917b0751967c07f87104 Mon Sep 17 00:00:00 2001 From: Luna Yao Date: Mon, 2 Jun 2025 19:46:50 +0200 Subject: [PATCH] Update filer upsert sqlstring for postgresql (#6835) --- weed/command/scaffold/filer.toml | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/weed/command/scaffold/filer.toml b/weed/command/scaffold/filer.toml index e9f140576..24aeacef3 100644 --- a/weed/command/scaffold/filer.toml +++ b/weed/command/scaffold/filer.toml @@ -116,7 +116,13 @@ connection_max_open = 100 connection_max_lifetime_seconds = 0 # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: enableUpsert = true -upsertQuery = """UPSERT INTO "%[1]s" (dirhash,name,directory,meta) VALUES($1,$2,$3,$4)""" +upsertQuery = """ + INSERT INTO "%[1]s" (dirhash, name, directory, meta) + VALUES($1, $2, $3, $4) + ON CONFLICT (dirhash, name) DO UPDATE SET + directory=EXCLUDED.directory, + meta=EXCLUDED.meta +""" [postgres2] enabled = false @@ -141,7 +147,13 @@ connection_max_open = 100 connection_max_lifetime_seconds = 0 # if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax: enableUpsert = true -upsertQuery = """UPSERT INTO "%[1]s" (dirhash,name,directory,meta) VALUES($1,$2,$3,$4)""" +upsertQuery = """ + INSERT INTO "%[1]s" (dirhash, name, directory, meta) + VALUES($1, $2, $3, $4) + ON CONFLICT (dirhash, name) DO UPDATE SET + directory=EXCLUDED.directory, + meta=EXCLUDED.meta +""" [cassandra2] # CREATE TABLE filemeta (