immich_postgres | 2025-07-31T13:58:53.797501532Z Using HDD storage immich_postgres | 2025-07-31T13:58:54.239500719Z immich_postgres | 2025-07-31T13:58:54.239620197Z PostgreSQL Database directory appears to contain a database; Skipping initialization immich_postgres | 2025-07-31T13:58:54.239674094Z immich_postgres | 2025-07-31T13:58:55.788651176Z 2025-07-31 13:58:55.788 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" immich_postgres | 2025-07-31T13:58:55.789154063Z 2025-07-31 13:58:55.788 GMT [1] LOG: skipping missing configuration file "/var/lib/postgresql/data/postgresql.override.conf" immich_postgres | 2025-07-31T13:59:01.227077274Z 2025-07-31 13:59:01.226 UTC [1] LOG: starting PostgreSQL 14.18 (Debian 14.18-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit immich_postgres | 2025-07-31T13:59:01.262322334Z 2025-07-31 13:59:01.262 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432 immich_postgres | 2025-07-31T13:59:01.262469653Z 2025-07-31 13:59:01.262 UTC [1] LOG: listening on IPv6 address "::", port 5432 immich_postgres | 2025-07-31T13:59:01.627875466Z 2025-07-31 13:59:01.627 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432" immich_postgres | 2025-07-31T13:59:01.929532201Z 2025-07-31 13:59:01.929 UTC [38] LOG: database system was shut down at 2025-07-31 13:57:40 UTC immich_postgres | 2025-07-31T13:59:02.013786970Z 2025-07-31 13:59:02.013 UTC [1] LOG: database system is ready to accept connections immich_postgres | 2025-07-31T13:59:02.961542163Z 2025-07-31 13:59:02.961 UTC [54] LOG: statement: select * from pg_catalog.pg_tables immich_server | 2025-07-31T13:59:39.611949829Z Initializing Immich v1.136.0 immich_server | 2025-07-31T13:59:39.717847081Z Detected CPU Cores: 4 immich_server | 2025-07-31T14:00:12.181769923Z Starting api worker immich_server | 2025-07-31T14:00:12.188926687Z Starting microservices worker immich_server | 2025-07-31T14:00:16.750359977Z [Nest] 7 - 07/31/2025, 2:00:16 PM  LOG [Microservices:EventRepository] Initialized websocket server immich_postgres | 2025-07-31T14:00:16.895090719Z 2025-07-31 14:00:16.894 UTC [56] LOG: execute wv6reyyzvq91: immich_postgres | 2025-07-31T14:00:16.895631207Z select b.oid, b.typarray immich_postgres | 2025-07-31T14:00:16.895687722Z from pg_catalog.pg_type a immich_postgres | 2025-07-31T14:00:16.895723238Z left join pg_catalog.pg_type b on b.oid = a.typelem immich_postgres | 2025-07-31T14:00:16.895757559Z where a.typcategory = 'A' immich_postgres | 2025-07-31T14:00:16.895787837Z group by b.oid, b.typarray immich_postgres | 2025-07-31T14:00:16.895817571Z order by b.oid immich_postgres | 2025-07-31T14:00:16.895846216Z immich_postgres | 2025-07-31T14:00:16.915855436Z 2025-07-31 14:00:16.915 UTC [56] LOG: statement: SHOW server_version immich_postgres | 2025-07-31T14:00:16.924569947Z 2025-07-31 14:00:16.924 UTC [56] LOG: execute : SELECT pg_advisory_lock($1) immich_postgres | 2025-07-31T14:00:16.924728677Z 2025-07-31 14:00:16.924 UTC [56] DETAIL: parameters: $1 = '200' immich_postgres | 2025-07-31T14:00:16.939292416Z 2025-07-31 14:00:16.939 UTC [57] LOG: execute czsxg2epkwg1: immich_postgres | 2025-07-31T14:00:16.939439595Z select b.oid, b.typarray immich_postgres | 2025-07-31T14:00:16.939475798Z from pg_catalog.pg_type a immich_postgres | 2025-07-31T14:00:16.939504796Z left join pg_catalog.pg_type b on b.oid = a.typelem immich_postgres | 2025-07-31T14:00:16.939535348Z where a.typcategory = 'A' immich_postgres | 2025-07-31T14:00:16.939563532Z group by b.oid, b.typarray immich_postgres | 2025-07-31T14:00:16.939591223Z order by b.oid immich_postgres | 2025-07-31T14:00:16.939618084Z immich_postgres | 2025-07-31T14:00:16.944251268Z 2025-07-31 14:00:16.944 UTC [57] LOG: statement: SELECT name FROM pg_available_extensions WHERE name IN ('vchord', 'vectors', 'vector') immich_postgres | 2025-07-31T14:00:16.950336082Z 2025-07-31 14:00:16.950 UTC [57] LOG: execute : immich_postgres | 2025-07-31T14:00:16.950486029Z SELECT name, default_version as "availableVersion", installed_version as "installedVersion" immich_postgres | 2025-07-31T14:00:16.950529808Z FROM pg_available_extensions immich_postgres | 2025-07-31T14:00:16.950559585Z WHERE name in ($1, $2, $3) immich_postgres | 2025-07-31T14:00:16.950591196Z immich_postgres | 2025-07-31T14:00:16.950616286Z 2025-07-31 14:00:16.950 UTC [57] DETAIL: parameters: $1 = 'vchord', $2 = 'vectors', $3 = 'vector' immich_postgres | 2025-07-31T14:00:16.959527528Z 2025-07-31 14:00:16.959 UTC [57] LOG: execute : SELECT indexdef, indexname FROM pg_indexes WHERE indexname = ANY(ARRAY[$1, $2]) immich_postgres | 2025-07-31T14:00:16.959691696Z 2025-07-31 14:00:16.959 UTC [57] DETAIL: parameters: $1 = 'clip_index', $2 = 'face_index' immich_postgres | 2025-07-31T14:00:16.991364703Z 2025-07-31 14:00:16.991 UTC [57] LOG: statement: select count(*) as "count" from "smart_search" as "t" immich_server | 2025-07-31T14:00:16.995648099Z [Nest] 7 - 07/31/2025, 2:00:16 PM  LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 152 rows immich_postgres | 2025-07-31T14:00:16.996452976Z 2025-07-31 14:00:16.996 UTC [57] LOG: statement: select count(*) as "count" from "face_search" as "t" immich_postgres | 2025-07-31T14:00:17.008376939Z 2025-07-31 14:00:17.008 UTC [58] LOG: execute g2nxlucdets1: immich_postgres | 2025-07-31T14:00:17.008562201Z select b.oid, b.typarray immich_postgres | 2025-07-31T14:00:17.008600937Z from pg_catalog.pg_type a immich_postgres | 2025-07-31T14:00:17.008637175Z left join pg_catalog.pg_type b on b.oid = a.typelem immich_postgres | 2025-07-31T14:00:17.008667463Z where a.typcategory = 'A' immich_postgres | 2025-07-31T14:00:17.008702754Z group by b.oid, b.typarray immich_postgres | 2025-07-31T14:00:17.008736289Z order by b.oid immich_postgres | 2025-07-31T14:00:17.008764268Z immich_server | 2025-07-31T14:00:17.013201952Z [Nest] 7 - 07/31/2025, 2:00:17 PM  LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 77110 rows immich_postgres | 2025-07-31T14:00:17.014706968Z 2025-07-31 14:00:17.014 UTC [57] LOG: statement: select to_regclass('migrations') as "result" immich_server | 2025-07-31T14:00:17.015717522Z [Nest] 7 - 07/31/2025, 2:00:17 PM  LOG [Microservices:DatabaseRepository] Running migrations, this may take a while immich_postgres | 2025-07-31T14:00:17.102815039Z 2025-07-31 14:00:17.102 UTC [59] LOG: statement: SELECT version() immich_postgres | 2025-07-31T14:00:17.105732425Z 2025-07-31 14:00:17.105 UTC [59] LOG: statement: SELECT * FROM current_schema() immich_server | 2025-07-31T14:00:17.265072011Z [Nest] 18 - 07/31/2025, 2:00:17 PM  LOG [Api:EventRepository] Initialized websocket server immich_postgres | 2025-07-31T14:00:17.467594577Z 2025-07-31 14:00:17.467 UTC [59] LOG: statement: SELECT * FROM "information_schema"."tables" WHERE "table_schema" = 'public' AND "table_name" = 'migrations' immich_postgres | 2025-07-31T14:00:17.511598812Z 2025-07-31 14:00:17.511 UTC [60] LOG: execute t8szqwofi1: immich_postgres | 2025-07-31T14:00:17.511746799Z select b.oid, b.typarray immich_postgres | 2025-07-31T14:00:17.511779825Z from pg_catalog.pg_type a immich_postgres | 2025-07-31T14:00:17.511807550Z left join pg_catalog.pg_type b on b.oid = a.typelem immich_postgres | 2025-07-31T14:00:17.511836900Z where a.typcategory = 'A' immich_postgres | 2025-07-31T14:00:17.511867871Z group by b.oid, b.typarray immich_postgres | 2025-07-31T14:00:17.511893996Z order by b.oid immich_postgres | 2025-07-31T14:00:17.511919672Z immich_postgres | 2025-07-31T14:00:17.518438324Z 2025-07-31 14:00:17.518 UTC [60] LOG: statement: SHOW server_version immich_postgres | 2025-07-31T14:00:17.526027224Z 2025-07-31 14:00:17.525 UTC [60] LOG: execute : SELECT pg_advisory_lock($1) immich_postgres | 2025-07-31T14:00:17.526175391Z 2025-07-31 14:00:17.525 UTC [60] DETAIL: parameters: $1 = '200' immich_postgres | 2025-07-31T14:00:17.603226447Z 2025-07-31 14:00:17.603 UTC [59] LOG: statement: SELECT * FROM "migrations" "migrations" ORDER BY "id" DESC immich_postgres | 2025-07-31T14:00:17.785705115Z 2025-07-31 14:00:17.785 UTC [58] LOG: execute : select "a"."attname" as "column", "a"."attnotnull" as "not_null", "a"."atthasdef" as "has_default", "c"."relname" as "table", "c"."relkind" as "table_type", "ns"."nspname" as "schema", "typ"."typname" as "type", "dtns"."nspname" as "type_schema", col_description(a.attrelid, a.attnum) as "column_description", pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname) as "auto_incrementing" from "pg_catalog"."pg_attribute" as "a" inner join "pg_catalog"."pg_class" as "c" on "a"."attrelid" = "c"."oid" inner join "pg_catalog"."pg_namespace" as "ns" on "c"."relnamespace" = "ns"."oid" inner join "pg_catalog"."pg_type" as "typ" on "a"."atttypid" = "typ"."oid" inner join "pg_catalog"."pg_namespace" as "dtns" on "typ"."typnamespace" = "dtns"."oid" where "c"."relkind" in ($1, $2, $3) and "ns"."nspname" !~ $4 and "ns"."nspname" != $5 and "a"."attnum" >= $6 and "a"."attisdropped" != $7 order by "ns"."nspname", "c"."relname", "a"."attnum" immich_postgres | 2025-07-31T14:00:17.785976831Z 2025-07-31 14:00:17.785 UTC [58] DETAIL: parameters: $1 = 'r', $2 = 'v', $3 = 'p', $4 = '^pg_', $5 = 'information_schema', $6 = '0', $7 = 't' immich_postgres | 2025-07-31T14:00:19.182822161Z 2025-07-31 14:00:19.182 UTC [57] LOG: execute : select "a"."attname" as "column", "a"."attnotnull" as "not_null", "a"."atthasdef" as "has_default", "c"."relname" as "table", "c"."relkind" as "table_type", "ns"."nspname" as "schema", "typ"."typname" as "type", "dtns"."nspname" as "type_schema", col_description(a.attrelid, a.attnum) as "column_description", pg_get_serial_sequence(quote_ident(ns.nspname) || '.' || quote_ident(c.relname), a.attname) as "auto_incrementing" from "pg_catalog"."pg_attribute" as "a" inner join "pg_catalog"."pg_class" as "c" on "a"."attrelid" = "c"."oid" inner join "pg_catalog"."pg_namespace" as "ns" on "c"."relnamespace" = "ns"."oid" inner join "pg_catalog"."pg_type" as "typ" on "a"."atttypid" = "typ"."oid" inner join "pg_catalog"."pg_namespace" as "dtns" on "typ"."typnamespace" = "dtns"."oid" where "c"."relkind" in ($1, $2, $3) and "ns"."nspname" !~ $4 and "ns"."nspname" != $5 and "a"."attnum" >= $6 and "a"."attisdropped" != $7 order by "ns"."nspname", "c"."relname", "a"."attnum" immich_postgres | 2025-07-31T14:00:20.490428961Z 2025-07-31 14:00:19.182 UTC [57] DETAIL: parameters: $1 = 'r', $2 = 'v', $3 = 'p', $4 = '^pg_', $5 = 'information_schema', $6 = '0', $7 = 't' immich_postgres | 2025-07-31T14:00:20.490558563Z 2025-07-31 14:00:19.294 UTC [58] LOG: execute : select "id" from "kysely_migrations_lock" where "id" = $1 immich_postgres | 2025-07-31T14:00:22.006469186Z 2025-07-31 14:00:19.294 UTC [58] DETAIL: parameters: $1 = 'migration_lock' immich_postgres | 2025-07-31T14:00:22.006532477Z 2025-07-31 14:00:19.296 UTC [57] LOG: statement: begin immich_postgres | 2025-07-31T14:00:22.006566992Z 2025-07-31 14:00:19.297 UTC [57] LOG: statement: select pg_advisory_xact_lock('3853314791062309107') immich_postgres | 2025-07-31T14:00:22.006603809Z 2025-07-31 14:00:19.513 UTC [57] LOG: statement: select "name", "timestamp" from "kysely_migrations" immich_postgres | 2025-07-31T14:00:22.006638753Z 2025-07-31 14:00:19.515 UTC [57] LOG: statement: ALTER TABLE "albums_assets_assets" ADD "updatedAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:22.006680698Z 2025-07-31 14:00:19.576 UTC [57] LOG: statement: ALTER TABLE "albums_assets_assets" ADD "updateId" uuid NOT NULL DEFAULT immich_uuid_v7(); immich_postgres | 2025-07-31T14:00:23.155350072Z 2025-07-31 14:00:23.155 UTC [57] LOG: statement: CREATE INDEX "IDX_album_assets_update_id" ON "albums_assets_assets" ("updateId") immich_postgres | 2025-07-31T14:00:24.337445143Z 2025-07-31 14:00:24.337 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "album_assets_updated_at" immich_postgres | 2025-07-31T14:00:24.337596931Z BEFORE UPDATE ON "albums_assets_assets" immich_postgres | 2025-07-31T14:00:24.337633313Z FOR EACH ROW immich_postgres | 2025-07-31T14:00:24.337668026Z EXECUTE FUNCTION updated_at(); immich_postgres | 2025-07-31T14:00:24.344023300Z 2025-07-31 14:00:24.343 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:24.344195736Z 2025-07-31 14:00:24.343 UTC [57] DETAIL: parameters: $1 = '1750676477029-AlbumAssetUpdateId', $2 = '2025-07-31T14:00:24.340Z' immich_postgres | 2025-07-31T14:00:24.401005458Z 2025-07-31 14:00:24.400 UTC [57] LOG: statement: CREATE TABLE "album_assets_audit" ("id" uuid NOT NULL DEFAULT immich_uuid_v7(), "albumId" uuid NOT NULL, "assetId" uuid NOT NULL, "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp()); immich_postgres | 2025-07-31T14:00:26.099557710Z 2025-07-31 14:00:24.919 UTC [57] LOG: statement: ALTER TABLE "album_assets_audit" ADD CONSTRAINT "PK_32969b576ec8f78d84f37c2eb2d" PRIMARY KEY ("id"); immich_postgres | 2025-07-31T14:00:26.099643052Z 2025-07-31 14:00:25.449 UTC [57] LOG: statement: CREATE INDEX "IDX_album_assets_audit_album_id" ON "album_assets_audit" ("albumId") immich_postgres | 2025-07-31T14:00:26.724594676Z 2025-07-31 14:00:26.724 UTC [57] LOG: statement: CREATE INDEX "IDX_album_assets_audit_asset_id" ON "album_assets_audit" ("assetId") immich_postgres | 2025-07-31T14:00:27.819733374Z 2025-07-31 14:00:27.767 UTC [57] LOG: statement: CREATE INDEX "IDX_album_assets_audit_deleted_at" ON "album_assets_audit" ("deletedAt") immich_postgres | 2025-07-31T14:00:27.863869670Z 2025-07-31 14:00:27.863 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "album_assets_updated_at" immich_postgres | 2025-07-31T14:00:27.864035655Z BEFORE UPDATE ON "albums_assets_assets" immich_postgres | 2025-07-31T14:00:27.864077742Z FOR EACH ROW immich_postgres | 2025-07-31T14:00:27.864109129Z EXECUTE FUNCTION updated_at(); immich_postgres | 2025-07-31T14:00:27.865937437Z 2025-07-31 14:00:27.865 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:27.866098419Z 2025-07-31 14:00:27.865 UTC [57] DETAIL: parameters: $1 = '1750694237564-AlbumAssetAuditTable', $2 = '2025-07-31T14:00:27.864Z' immich_postgres | 2025-07-31T14:00:27.866731238Z 2025-07-31 14:00:27.866 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION album_assets_delete_audit() immich_postgres | 2025-07-31T14:00:27.866822057Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:27.866856043Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:27.866884822Z AS $$ immich_postgres | 2025-07-31T14:00:27.866911348Z BEGIN immich_postgres | 2025-07-31T14:00:27.866937453Z INSERT INTO album_assets_audit ("albumId", "assetId") immich_postgres | 2025-07-31T14:00:27.866994326Z SELECT "albumsId", "assetsId" FROM OLD immich_postgres | 2025-07-31T14:00:27.867030706Z WHERE "albumsId" IN (SELECT "id" FROM albums WHERE "id" IN (SELECT "albumsId" FROM OLD)); immich_postgres | 2025-07-31T14:00:27.867076368Z RETURN NULL; immich_postgres | 2025-07-31T14:00:27.867103147Z END immich_postgres | 2025-07-31T14:00:27.867128257Z $$; immich_postgres | 2025-07-31T14:00:28.260648629Z 2025-07-31 14:00:28.260 UTC [57] LOG: statement: ALTER TABLE "album_assets_audit" ADD CONSTRAINT "FK_8047b44b812619a3c75a2839b0d" FOREIGN KEY ("albumId") REFERENCES "albums" ("id") ON UPDATE CASCADE ON DELETE CASCADE; immich_postgres | 2025-07-31T14:00:28.265173953Z 2025-07-31 14:00:28.265 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "album_assets_delete_audit" immich_postgres | 2025-07-31T14:00:28.265320733Z AFTER DELETE ON "albums_assets_assets" immich_postgres | 2025-07-31T14:00:28.265355836Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:28.265387169Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:28.265414438Z WHEN (pg_trigger_depth() <= 1) immich_postgres | 2025-07-31T14:00:28.265441862Z EXECUTE FUNCTION album_assets_delete_audit(); immich_postgres | 2025-07-31T14:00:28.267015505Z 2025-07-31 14:00:28.266 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:28.267215522Z 2025-07-31 14:00:28.266 UTC [57] DETAIL: parameters: $1 = '1750780093818-AddAlbumToAssetDeleteTrigger', $2 = '2025-07-31T14:00:28.266Z' immich_postgres | 2025-07-31T14:00:28.267854872Z 2025-07-31 14:00:28.267 UTC [57] LOG: statement: CREATE TABLE "memory_assets_audit" ("id" uuid NOT NULL DEFAULT immich_uuid_v7(), "memoryId" uuid NOT NULL, "assetId" uuid NOT NULL, "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp()); immich_postgres | 2025-07-31T14:00:28.270855605Z 2025-07-31 14:00:28.270 UTC [57] LOG: statement: CREATE TABLE "memories_audit" ("id" uuid NOT NULL DEFAULT immich_uuid_v7(), "memoryId" uuid NOT NULL, "userId" uuid NOT NULL, "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp()); immich_postgres | 2025-07-31T14:00:28.276163935Z 2025-07-31 14:00:28.276 UTC [57] LOG: statement: ALTER TABLE "memories_assets_assets" ADD "createdAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:28.279152736Z 2025-07-31 14:00:28.279 UTC [57] LOG: statement: ALTER TABLE "memories_assets_assets" ADD "updatedAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:28.279870064Z 2025-07-31 14:00:28.279 UTC [57] LOG: statement: ALTER TABLE "memories_assets_assets" ADD "updateId" uuid NOT NULL DEFAULT immich_uuid_v7(); immich_postgres | 2025-07-31T14:00:30.208480638Z 2025-07-31 14:00:30.208 UTC [57] LOG: statement: ALTER TABLE "memory_assets_audit" ADD CONSTRAINT "PK_35ef16910228f980e0766dcc59b" PRIMARY KEY ("id"); immich_postgres | 2025-07-31T14:00:30.296385871Z 2025-07-31 14:00:30.296 UTC [57] LOG: statement: ALTER TABLE "memories_audit" ADD CONSTRAINT "PK_19de798c033a710dcfa5c72f81b" PRIMARY KEY ("id"); immich_postgres | 2025-07-31T14:00:30.362919134Z 2025-07-31 14:00:30.362 UTC [57] LOG: statement: ALTER TABLE "memory_assets_audit" ADD CONSTRAINT "FK_225a204afcb0bd6de015080fb03" FOREIGN KEY ("memoryId") REFERENCES "memories" ("id") ON UPDATE CASCADE ON DELETE CASCADE; immich_postgres | 2025-07-31T14:00:30.364987452Z 2025-07-31 14:00:30.364 UTC [57] LOG: statement: CREATE INDEX "IDX_memory_assets_audit_memory_id" ON "memory_assets_audit" ("memoryId") immich_postgres | 2025-07-31T14:00:30.495460513Z 2025-07-31 14:00:30.495 UTC [57] LOG: statement: CREATE INDEX "IDX_memory_assets_audit_asset_id" ON "memory_assets_audit" ("assetId") immich_postgres | 2025-07-31T14:00:31.453095238Z 2025-07-31 14:00:30.683 UTC [57] LOG: statement: CREATE INDEX "IDX_memory_assets_audit_deleted_at" ON "memory_assets_audit" ("deletedAt") immich_postgres | 2025-07-31T14:00:32.087489287Z 2025-07-31 14:00:32.087 UTC [57] LOG: statement: CREATE INDEX "IDX_memory_assets_update_id" ON "memories_assets_assets" ("updateId") immich_postgres | 2025-07-31T14:00:32.176422728Z 2025-07-31 14:00:32.176 UTC [57] LOG: statement: CREATE INDEX "IDX_memories_audit_memory_id" ON "memories_audit" ("memoryId") immich_postgres | 2025-07-31T14:00:32.280266419Z 2025-07-31 14:00:32.280 UTC [57] LOG: statement: CREATE INDEX "IDX_memories_audit_user_id" ON "memories_audit" ("userId") immich_postgres | 2025-07-31T14:00:33.324352880Z 2025-07-31 14:00:33.322 UTC [57] LOG: statement: CREATE INDEX "IDX_memories_audit_deleted_at" ON "memories_audit" ("deletedAt") immich_postgres | 2025-07-31T14:00:34.137054481Z 2025-07-31 14:00:34.136 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION memories_delete_audit() immich_postgres | 2025-07-31T14:00:34.137242488Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:34.137281727Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:34.137317811Z AS $$ immich_postgres | 2025-07-31T14:00:34.137345973Z BEGIN immich_postgres | 2025-07-31T14:00:34.137377867Z INSERT INTO memories_audit ("memoryId", "userId") immich_postgres | 2025-07-31T14:00:34.137414950Z SELECT "id", "ownerId" immich_postgres | 2025-07-31T14:00:34.137448767Z FROM OLD; immich_postgres | 2025-07-31T14:00:34.137558767Z RETURN NULL; immich_postgres | 2025-07-31T14:00:34.137587959Z END immich_postgres | 2025-07-31T14:00:34.137614617Z $$; immich_postgres | 2025-07-31T14:00:34.139684540Z 2025-07-31 14:00:34.138 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION memory_assets_delete_audit() immich_postgres | 2025-07-31T14:00:34.139842196Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:34.139877801Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:34.139907125Z AS $$ immich_postgres | 2025-07-31T14:00:34.139934654Z BEGIN immich_postgres | 2025-07-31T14:00:34.139986266Z INSERT INTO memory_assets_audit ("memoryId", "assetId") immich_postgres | 2025-07-31T14:00:34.140019064Z SELECT "memoriesId", "assetsId" FROM OLD immich_postgres | 2025-07-31T14:00:34.140051036Z WHERE "memoriesId" IN (SELECT "id" FROM memories WHERE "id" IN (SELECT "memoriesId" FROM OLD)); immich_postgres | 2025-07-31T14:00:34.140090449Z RETURN NULL; immich_postgres | 2025-07-31T14:00:34.140119679Z END immich_postgres | 2025-07-31T14:00:34.140145555Z $$; immich_postgres | 2025-07-31T14:00:34.140173843Z 2025-07-31 14:00:34.139 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "memories_delete_audit" immich_postgres | 2025-07-31T14:00:34.140207730Z AFTER DELETE ON "memories" immich_postgres | 2025-07-31T14:00:34.140243010Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:34.140273531Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:34.140306118Z WHEN (pg_trigger_depth() = 0) immich_postgres | 2025-07-31T14:00:34.140334634Z EXECUTE FUNCTION memories_delete_audit(); immich_postgres | 2025-07-31T14:00:34.141087361Z 2025-07-31 14:00:34.140 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "memory_assets_delete_audit" immich_postgres | 2025-07-31T14:00:34.141235731Z AFTER DELETE ON "memories_assets_assets" immich_postgres | 2025-07-31T14:00:34.141273722Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:34.141312678Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:34.141342771Z WHEN (pg_trigger_depth() <= 1) immich_postgres | 2025-07-31T14:00:34.141371661Z EXECUTE FUNCTION memory_assets_delete_audit(); immich_postgres | 2025-07-31T14:00:34.143239510Z 2025-07-31 14:00:34.143 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "memory_assets_updated_at" immich_postgres | 2025-07-31T14:00:34.143418394Z BEFORE UPDATE ON "memories_assets_assets" immich_postgres | 2025-07-31T14:00:34.143453618Z FOR EACH ROW immich_postgres | 2025-07-31T14:00:34.143483225Z EXECUTE FUNCTION updated_at(); immich_postgres | 2025-07-31T14:00:34.145264323Z 2025-07-31 14:00:34.145 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:34.145423149Z 2025-07-31 14:00:34.145 UTC [57] DETAIL: parameters: $1 = '1751035357937-MemorySyncChanges', $2 = '2025-07-31T14:00:34.144Z' immich_postgres | 2025-07-31T14:00:34.146692858Z 2025-07-31 14:00:34.146 UTC [57] LOG: statement: CREATE TABLE "stacks_audit" ("id" uuid NOT NULL DEFAULT immich_uuid_v7(), "stackId" uuid NOT NULL, "userId" uuid NOT NULL, "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp()); immich_postgres | 2025-07-31T14:00:34.150211262Z 2025-07-31 14:00:34.149 UTC [57] LOG: statement: ALTER TABLE "asset_stack" ADD "createdAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:34.152577892Z 2025-07-31 14:00:34.152 UTC [57] LOG: statement: ALTER TABLE "asset_stack" ADD "updatedAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:34.153735273Z 2025-07-31 14:00:34.153 UTC [57] LOG: statement: ALTER TABLE "asset_stack" ADD "updateId" uuid NOT NULL DEFAULT immich_uuid_v7(); immich_postgres | 2025-07-31T14:00:34.948846067Z 2025-07-31 14:00:34.948 UTC [57] LOG: statement: ALTER TABLE "stacks_audit" ADD CONSTRAINT "PK_dbe4ec648fa032e8973297de07e" PRIMARY KEY ("id"); immich_postgres | 2025-07-31T14:00:35.393835920Z 2025-07-31 14:00:35.393 UTC [57] LOG: statement: CREATE INDEX "IDX_stacks_audit_deleted_at" ON "stacks_audit" ("deletedAt") immich_postgres | 2025-07-31T14:00:35.515599083Z 2025-07-31 14:00:35.515 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION stacks_delete_audit() immich_postgres | 2025-07-31T14:00:35.515733645Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:35.515775690Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:35.515804341Z AS $$ immich_postgres | 2025-07-31T14:00:35.515830873Z BEGIN immich_postgres | 2025-07-31T14:00:35.515856191Z INSERT INTO stacks_audit ("stackId", "userId") immich_postgres | 2025-07-31T14:00:35.515887477Z SELECT "id", "ownerId" immich_postgres | 2025-07-31T14:00:35.515919239Z FROM OLD; immich_postgres | 2025-07-31T14:00:35.515973155Z RETURN NULL; immich_postgres | 2025-07-31T14:00:35.516001446Z END immich_postgres | 2025-07-31T14:00:35.516026711Z $$; immich_postgres | 2025-07-31T14:00:35.516623628Z 2025-07-31 14:00:35.516 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "stacks_delete_audit" immich_postgres | 2025-07-31T14:00:35.516693727Z AFTER DELETE ON "asset_stack" immich_postgres | 2025-07-31T14:00:35.516726998Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:35.516756404Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:35.516787294Z WHEN (pg_trigger_depth() = 0) immich_postgres | 2025-07-31T14:00:35.516817714Z EXECUTE FUNCTION stacks_delete_audit(); immich_postgres | 2025-07-31T14:00:35.517329719Z 2025-07-31 14:00:35.517 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "stacks_updated_at" immich_postgres | 2025-07-31T14:00:35.517385156Z BEFORE UPDATE ON "asset_stack" immich_postgres | 2025-07-31T14:00:35.517419874Z FOR EACH ROW immich_postgres | 2025-07-31T14:00:35.517452528Z EXECUTE FUNCTION updated_at(); immich_postgres | 2025-07-31T14:00:35.518714834Z 2025-07-31 14:00:35.518 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:35.518824235Z 2025-07-31 14:00:35.518 UTC [57] DETAIL: parameters: $1 = '1751304834247-StackSyncChanges', $2 = '2025-07-31T14:00:35.517Z' immich_postgres | 2025-07-31T14:00:35.519933402Z 2025-07-31 14:00:35.519 UTC [57] LOG: statement: CREATE TABLE "migration_overrides" ("name" character varying NOT NULL, "value" jsonb NOT NULL); immich_postgres | 2025-07-31T14:00:35.603886457Z 2025-07-31 14:00:35.603 UTC [57] LOG: statement: ALTER TABLE "migration_overrides" ADD CONSTRAINT "migration_overrides_pkey" PRIMARY KEY ("name"); immich_postgres | 2025-07-31T14:00:35.670418086Z 2025-07-31 14:00:35.670 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_immich_uuid_v7', '{"type":"function","name":"immich_uuid_v7","sql":"CREATE OR REPLACE FUNCTION immich_uuid_v7(p_timestamp timestamp with time zone default clock_timestamp())\n RETURNS uuid\n VOLATILE LANGUAGE SQL\n AS $$\n SELECT encode(\n set_bit(\n set_bit(\n overlay(uuid_send(gen_random_uuid())\n placing substring(int8send(floor(extract(epoch from p_timestamp) * 1000)::bigint) from 3)\n from 1 for 6\n ),\n 52, 1\n ),\n 53, 1\n ),\n ''hex'')::uuid;\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.671218808Z 2025-07-31 14:00:35.671 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_album_user_after_insert', '{"type":"function","name":"album_user_after_insert","sql":"CREATE OR REPLACE FUNCTION album_user_after_insert()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n UPDATE albums SET \"updatedAt\" = clock_timestamp(), \"updateId\" = immich_uuid_v7(clock_timestamp())\n WHERE \"id\" IN (SELECT DISTINCT \"albumsId\" FROM inserted_rows);\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.671695985Z 2025-07-31 14:00:35.671 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_updated_at', '{"type":"function","name":"updated_at","sql":"CREATE OR REPLACE FUNCTION updated_at()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n DECLARE\n clock_timestamp TIMESTAMP := clock_timestamp();\n BEGIN\n new.\"updatedAt\" = clock_timestamp;\n new.\"updateId\" = immich_uuid_v7(clock_timestamp);\n return new;\n END;\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.672114696Z 2025-07-31 14:00:35.672 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_f_concat_ws', '{"type":"function","name":"f_concat_ws","sql":"CREATE OR REPLACE FUNCTION f_concat_ws(text, text[])\n RETURNS text\n PARALLEL SAFE IMMUTABLE LANGUAGE SQL\n AS $$SELECT array_to_string($2, $1)$$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.672502181Z 2025-07-31 14:00:35.672 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_f_unaccent', '{"type":"function","name":"f_unaccent","sql":"CREATE OR REPLACE FUNCTION f_unaccent(text)\n RETURNS text\n PARALLEL SAFE STRICT IMMUTABLE LANGUAGE SQL\n RETURN unaccent(''unaccent'', $1)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.672902878Z 2025-07-31 14:00:35.672 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_ll_to_earth_public', '{"type":"function","name":"ll_to_earth_public","sql":"CREATE OR REPLACE FUNCTION ll_to_earth_public(latitude double precision, longitude double precision)\n RETURNS public.earth\n PARALLEL SAFE STRICT IMMUTABLE LANGUAGE SQL\n AS $$SELECT public.cube(public.cube(public.cube(public.earth()*cos(radians(latitude))*cos(radians(longitude))),public.earth()*cos(radians(latitude))*sin(radians(longitude))),public.earth()*sin(radians(latitude)))::public.earth$$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.673309596Z 2025-07-31 14:00:35.673 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_users_delete_audit', '{"type":"function","name":"users_delete_audit","sql":"CREATE OR REPLACE FUNCTION users_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO users_audit (\"userId\")\n SELECT \"id\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.673755910Z 2025-07-31 14:00:35.673 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_partners_delete_audit', '{"type":"function","name":"partners_delete_audit","sql":"CREATE OR REPLACE FUNCTION partners_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO partners_audit (\"sharedById\", \"sharedWithId\")\n SELECT \"sharedById\", \"sharedWithId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.674595615Z 2025-07-31 14:00:35.674 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_assets_delete_audit', '{"type":"function","name":"assets_delete_audit","sql":"CREATE OR REPLACE FUNCTION assets_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO assets_audit (\"assetId\", \"ownerId\")\n SELECT \"id\", \"ownerId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.675063088Z 2025-07-31 14:00:35.674 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_albums_delete_audit', '{"type":"function","name":"albums_delete_audit","sql":"CREATE OR REPLACE FUNCTION albums_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO albums_audit (\"albumId\", \"userId\")\n SELECT \"id\", \"ownerId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.675588832Z 2025-07-31 14:00:35.675 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_album_assets_delete_audit', '{"type":"function","name":"album_assets_delete_audit","sql":"CREATE OR REPLACE FUNCTION album_assets_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO album_assets_audit (\"albumId\", \"assetId\")\n SELECT \"albumsId\", \"assetsId\" FROM OLD\n WHERE \"albumsId\" IN (SELECT \"id\" FROM albums WHERE \"id\" IN (SELECT \"albumsId\" FROM OLD));\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.675965409Z 2025-07-31 14:00:35.675 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_album_users_delete_audit', '{"type":"function","name":"album_users_delete_audit","sql":"CREATE OR REPLACE FUNCTION album_users_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO albums_audit (\"albumId\", \"userId\")\n SELECT \"albumsId\", \"usersId\"\n FROM OLD;\n\n IF pg_trigger_depth() = 1 THEN\n INSERT INTO album_users_audit (\"albumId\", \"userId\")\n SELECT \"albumsId\", \"usersId\"\n FROM OLD;\n END IF;\n\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.676381559Z 2025-07-31 14:00:35.676 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_memories_delete_audit', '{"type":"function","name":"memories_delete_audit","sql":"CREATE OR REPLACE FUNCTION memories_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO memories_audit (\"memoryId\", \"userId\")\n SELECT \"id\", \"ownerId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.676732272Z 2025-07-31 14:00:35.676 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_memory_assets_delete_audit', '{"type":"function","name":"memory_assets_delete_audit","sql":"CREATE OR REPLACE FUNCTION memory_assets_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO memory_assets_audit (\"memoryId\", \"assetId\")\n SELECT \"memoriesId\", \"assetsId\" FROM OLD\n WHERE \"memoriesId\" IN (SELECT \"id\" FROM memories WHERE \"id\" IN (SELECT \"memoriesId\" FROM OLD));\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.677108192Z 2025-07-31 14:00:35.677 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_stacks_delete_audit', '{"type":"function","name":"stacks_delete_audit","sql":"CREATE OR REPLACE FUNCTION stacks_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO stacks_audit (\"stackId\", \"userId\")\n SELECT \"id\", \"ownerId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.677471830Z 2025-07-31 14:00:35.677 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_users_delete_audit', '{"type":"trigger","name":"users_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"users_delete_audit\"\n AFTER DELETE ON \"users\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION users_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.677832975Z 2025-07-31 14:00:35.677 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_users_updated_at', '{"type":"trigger","name":"users_updated_at","sql":"CREATE OR REPLACE TRIGGER \"users_updated_at\"\n BEFORE UPDATE ON \"users\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.678226146Z 2025-07-31 14:00:35.678 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_libraries_updated_at', '{"type":"trigger","name":"libraries_updated_at","sql":"CREATE OR REPLACE TRIGGER \"libraries_updated_at\"\n BEFORE UPDATE ON \"libraries\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.678571175Z 2025-07-31 14:00:35.678 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_stacks_delete_audit', '{"type":"trigger","name":"stacks_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"stacks_delete_audit\"\n AFTER DELETE ON \"asset_stack\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION stacks_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.678921779Z 2025-07-31 14:00:35.678 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_stacks_updated_at', '{"type":"trigger","name":"stacks_updated_at","sql":"CREATE OR REPLACE TRIGGER \"stacks_updated_at\"\n BEFORE UPDATE ON \"asset_stack\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.679318156Z 2025-07-31 14:00:35.679 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_assets_delete_audit', '{"type":"trigger","name":"assets_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"assets_delete_audit\"\n AFTER DELETE ON \"assets\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION assets_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.679701147Z 2025-07-31 14:00:35.679 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_assets_updated_at', '{"type":"trigger","name":"assets_updated_at","sql":"CREATE OR REPLACE TRIGGER \"assets_updated_at\"\n BEFORE UPDATE ON \"assets\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.680417854Z 2025-07-31 14:00:35.680 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_originalfilename_trigram', '{"type":"index","name":"idx_originalfilename_trigram","sql":"CREATE INDEX \"idx_originalfilename_trigram\" ON \"assets\" USING gin (f_unaccent(\"originalFileName\") gin_trgm_ops)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.680802487Z 2025-07-31 14:00:35.680 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_local_date_time_month', '{"type":"index","name":"idx_local_date_time_month","sql":"CREATE INDEX \"idx_local_date_time_month\" ON \"assets\" ((date_trunc(''MONTH''::text, (\"localDateTime\" AT TIME ZONE ''UTC''::text)) AT TIME ZONE ''UTC''::text))"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.681165194Z 2025-07-31 14:00:35.681 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_local_date_time', '{"type":"index","name":"idx_local_date_time","sql":"CREATE INDEX \"idx_local_date_time\" ON \"assets\" (((\"localDateTime\" at time zone ''UTC'')::date))"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.681548848Z 2025-07-31 14:00:35.681 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_UQ_assets_owner_library_checksum', '{"type":"index","name":"UQ_assets_owner_library_checksum","sql":"CREATE UNIQUE INDEX \"UQ_assets_owner_library_checksum\" ON \"assets\" (\"ownerId\", \"libraryId\", \"checksum\") WHERE (\"libraryId\" IS NOT NULL)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.681966122Z 2025-07-31 14:00:35.681 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_UQ_assets_owner_checksum', '{"type":"index","name":"UQ_assets_owner_checksum","sql":"CREATE UNIQUE INDEX \"UQ_assets_owner_checksum\" ON \"assets\" (\"ownerId\", \"checksum\") WHERE (\"libraryId\" IS NULL)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.682409302Z 2025-07-31 14:00:35.682 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_albums_delete_audit', '{"type":"trigger","name":"albums_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"albums_delete_audit\"\n AFTER DELETE ON \"albums\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION albums_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.682768742Z 2025-07-31 14:00:35.682 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_albums_updated_at', '{"type":"trigger","name":"albums_updated_at","sql":"CREATE OR REPLACE TRIGGER \"albums_updated_at\"\n BEFORE UPDATE ON \"albums\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.683145615Z 2025-07-31 14:00:35.683 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_activity_updated_at', '{"type":"trigger","name":"activity_updated_at","sql":"CREATE OR REPLACE TRIGGER \"activity_updated_at\"\n BEFORE UPDATE ON \"activity\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.683511174Z 2025-07-31 14:00:35.683 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_IDX_activity_like', '{"type":"index","name":"IDX_activity_like","sql":"CREATE UNIQUE INDEX \"IDX_activity_like\" ON \"activity\" (\"assetId\", \"userId\", \"albumId\") WHERE (\"isLiked\" = true)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.683896619Z 2025-07-31 14:00:35.683 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_album_assets_delete_audit', '{"type":"trigger","name":"album_assets_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"album_assets_delete_audit\"\n AFTER DELETE ON \"albums_assets_assets\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() <= 1)\n EXECUTE FUNCTION album_assets_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.684273627Z 2025-07-31 14:00:35.684 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_album_assets_updated_at', '{"type":"trigger","name":"album_assets_updated_at","sql":"CREATE OR REPLACE TRIGGER \"album_assets_updated_at\"\n BEFORE UPDATE ON \"albums_assets_assets\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.684620428Z 2025-07-31 14:00:35.684 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_album_users_delete_audit', '{"type":"trigger","name":"album_users_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"album_users_delete_audit\"\n AFTER DELETE ON \"albums_shared_users_users\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() <= 1)\n EXECUTE FUNCTION album_users_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.684949561Z 2025-07-31 14:00:35.684 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_album_user_after_insert', '{"type":"trigger","name":"album_user_after_insert","sql":"CREATE OR REPLACE TRIGGER \"album_user_after_insert\"\n AFTER INSERT ON \"albums_shared_users_users\"\n REFERENCING NEW TABLE AS \"inserted_rows\"\n FOR EACH STATEMENT\n EXECUTE FUNCTION album_user_after_insert();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.685416631Z 2025-07-31 14:00:35.685 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_album_users_updated_at', '{"type":"trigger","name":"album_users_updated_at","sql":"CREATE OR REPLACE TRIGGER \"album_users_updated_at\"\n BEFORE UPDATE ON \"albums_shared_users_users\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.685864166Z 2025-07-31 14:00:35.685 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_api_keys_updated_at', '{"type":"trigger","name":"api_keys_updated_at","sql":"CREATE OR REPLACE TRIGGER \"api_keys_updated_at\"\n BEFORE UPDATE ON \"api_keys\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.686343638Z 2025-07-31 14:00:35.686 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_person_updated_at', '{"type":"trigger","name":"person_updated_at","sql":"CREATE OR REPLACE TRIGGER \"person_updated_at\"\n BEFORE UPDATE ON \"person\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.686822938Z 2025-07-31 14:00:35.686 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_asset_files_updated_at', '{"type":"trigger","name":"asset_files_updated_at","sql":"CREATE OR REPLACE TRIGGER \"asset_files_updated_at\"\n BEFORE UPDATE ON \"asset_files\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.687377730Z 2025-07-31 14:00:35.687 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_asset_exif_updated_at', '{"type":"trigger","name":"asset_exif_updated_at","sql":"CREATE OR REPLACE TRIGGER \"asset_exif_updated_at\"\n BEFORE UPDATE ON \"exif\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.687833632Z 2025-07-31 14:00:35.687 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_face_index', '{"type":"index","name":"face_index","sql":"CREATE INDEX \"face_index\" ON \"face_search\" USING hnsw (embedding vector_cosine_ops) WITH (ef_construction = 300, m = 16)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.688261924Z 2025-07-31 14:00:35.688 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_IDX_geodata_gist_earthcoord', '{"type":"index","name":"IDX_geodata_gist_earthcoord","sql":"CREATE INDEX \"IDX_geodata_gist_earthcoord\" ON \"geodata_places\" (ll_to_earth_public(latitude, longitude))"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.688622610Z 2025-07-31 14:00:35.688 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_geodata_places_name', '{"type":"index","name":"idx_geodata_places_name","sql":"CREATE INDEX \"idx_geodata_places_name\" ON \"geodata_places\" USING gin (f_unaccent(\"name\") gin_trgm_ops)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.689031709Z 2025-07-31 14:00:35.688 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_geodata_places_admin2_name', '{"type":"index","name":"idx_geodata_places_admin2_name","sql":"CREATE INDEX \"idx_geodata_places_admin2_name\" ON \"geodata_places\" USING gin (f_unaccent(\"admin2Name\") gin_trgm_ops)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.689417088Z 2025-07-31 14:00:35.689 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_geodata_places_admin1_name', '{"type":"index","name":"idx_geodata_places_admin1_name","sql":"CREATE INDEX \"idx_geodata_places_admin1_name\" ON \"geodata_places\" USING gin (f_unaccent(\"admin1Name\") gin_trgm_ops)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.689812699Z 2025-07-31 14:00:35.689 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('index_idx_geodata_places_alternate_names', '{"type":"index","name":"idx_geodata_places_alternate_names","sql":"CREATE INDEX \"idx_geodata_places_alternate_names\" ON \"geodata_places\" USING gin (f_unaccent(\"alternateNames\") gin_trgm_ops)"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.690279503Z 2025-07-31 14:00:35.690 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_memories_delete_audit', '{"type":"trigger","name":"memories_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"memories_delete_audit\"\n AFTER DELETE ON \"memories\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION memories_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.690689530Z 2025-07-31 14:00:35.690 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_memories_updated_at', '{"type":"trigger","name":"memories_updated_at","sql":"CREATE OR REPLACE TRIGGER \"memories_updated_at\"\n BEFORE UPDATE ON \"memories\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.691230449Z 2025-07-31 14:00:35.691 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_memory_assets_delete_audit', '{"type":"trigger","name":"memory_assets_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"memory_assets_delete_audit\"\n AFTER DELETE ON \"memories_assets_assets\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() <= 1)\n EXECUTE FUNCTION memory_assets_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.692047269Z 2025-07-31 14:00:35.691 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_memory_assets_updated_at', '{"type":"trigger","name":"memory_assets_updated_at","sql":"CREATE OR REPLACE TRIGGER \"memory_assets_updated_at\"\n BEFORE UPDATE ON \"memories_assets_assets\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.692494157Z 2025-07-31 14:00:35.692 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_notifications_updated_at', '{"type":"trigger","name":"notifications_updated_at","sql":"CREATE OR REPLACE TRIGGER \"notifications_updated_at\"\n BEFORE UPDATE ON \"notifications\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.692987086Z 2025-07-31 14:00:35.692 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_partners_delete_audit', '{"type":"trigger","name":"partners_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"partners_delete_audit\"\n AFTER DELETE ON \"partners\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION partners_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.693397932Z 2025-07-31 14:00:35.693 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_partners_updated_at', '{"type":"trigger","name":"partners_updated_at","sql":"CREATE OR REPLACE TRIGGER \"partners_updated_at\"\n BEFORE UPDATE ON \"partners\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.693750685Z 2025-07-31 14:00:35.693 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_sessions_updated_at', '{"type":"trigger","name":"sessions_updated_at","sql":"CREATE OR REPLACE TRIGGER \"sessions_updated_at\"\n BEFORE UPDATE ON \"sessions\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.694122533Z 2025-07-31 14:00:35.694 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_session_sync_checkpoints_updated_at', '{"type":"trigger","name":"session_sync_checkpoints_updated_at","sql":"CREATE OR REPLACE TRIGGER \"session_sync_checkpoints_updated_at\"\n BEFORE UPDATE ON \"session_sync_checkpoints\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.694487013Z 2025-07-31 14:00:35.694 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_tags_updated_at', '{"type":"trigger","name":"tags_updated_at","sql":"CREATE OR REPLACE TRIGGER \"tags_updated_at\"\n BEFORE UPDATE ON \"tags\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:35.695432677Z 2025-07-31 14:00:35.695 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:35.695515591Z 2025-07-31 14:00:35.695 UTC [57] DETAIL: parameters: $1 = '1751924596408-AddOverrides', $2 = '2025-07-31T14:00:35.694Z' immich_postgres | 2025-07-31T14:00:35.696095865Z 2025-07-31 14:00:35.696 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_originalfilename_trigram","sql":"CREATE INDEX \"idx_originalfilename_trigram\" ON \"assets\" USING gin (f_unaccent(\"originalFileName\") gin_trgm_ops);"}'::jsonb WHERE "name" = 'index_idx_originalfilename_trigram'; immich_postgres | 2025-07-31T14:00:35.697139047Z 2025-07-31 14:00:35.697 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_local_date_time_month","sql":"CREATE INDEX \"idx_local_date_time_month\" ON \"assets\" ((date_trunc(''MONTH''::text, (\"localDateTime\" AT TIME ZONE ''UTC''::text)) AT TIME ZONE ''UTC''::text));"}'::jsonb WHERE "name" = 'index_idx_local_date_time_month'; immich_postgres | 2025-07-31T14:00:35.697631299Z 2025-07-31 14:00:35.697 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_local_date_time","sql":"CREATE INDEX \"idx_local_date_time\" ON \"assets\" (((\"localDateTime\" at time zone ''UTC'')::date));"}'::jsonb WHERE "name" = 'index_idx_local_date_time'; immich_postgres | 2025-07-31T14:00:35.698098567Z 2025-07-31 14:00:35.698 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"UQ_assets_owner_library_checksum","sql":"CREATE UNIQUE INDEX \"UQ_assets_owner_library_checksum\" ON \"assets\" (\"ownerId\", \"libraryId\", \"checksum\") WHERE (\"libraryId\" IS NOT NULL);"}'::jsonb WHERE "name" = 'index_UQ_assets_owner_library_checksum'; immich_postgres | 2025-07-31T14:00:35.698513324Z 2025-07-31 14:00:35.698 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"UQ_assets_owner_checksum","sql":"CREATE UNIQUE INDEX \"UQ_assets_owner_checksum\" ON \"assets\" (\"ownerId\", \"checksum\") WHERE (\"libraryId\" IS NULL);"}'::jsonb WHERE "name" = 'index_UQ_assets_owner_checksum'; immich_postgres | 2025-07-31T14:00:35.698925176Z 2025-07-31 14:00:35.698 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"IDX_activity_like","sql":"CREATE UNIQUE INDEX \"IDX_activity_like\" ON \"activity\" (\"assetId\", \"userId\", \"albumId\") WHERE (\"isLiked\" = true);"}'::jsonb WHERE "name" = 'index_IDX_activity_like'; immich_postgres | 2025-07-31T14:00:35.699424576Z 2025-07-31 14:00:35.699 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"face_index","sql":"CREATE INDEX \"face_index\" ON \"face_search\" USING hnsw (embedding vector_cosine_ops) WITH (ef_construction = 300, m = 16);"}'::jsonb WHERE "name" = 'index_face_index'; immich_postgres | 2025-07-31T14:00:35.699866941Z 2025-07-31 14:00:35.699 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"IDX_geodata_gist_earthcoord","sql":"CREATE INDEX \"IDX_geodata_gist_earthcoord\" ON \"geodata_places\" (ll_to_earth_public(latitude, longitude));"}'::jsonb WHERE "name" = 'index_IDX_geodata_gist_earthcoord'; immich_postgres | 2025-07-31T14:00:35.700344523Z 2025-07-31 14:00:35.700 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_geodata_places_name","sql":"CREATE INDEX \"idx_geodata_places_name\" ON \"geodata_places\" USING gin (f_unaccent(\"name\") gin_trgm_ops);"}'::jsonb WHERE "name" = 'index_idx_geodata_places_name'; immich_postgres | 2025-07-31T14:00:35.700783927Z 2025-07-31 14:00:35.700 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_geodata_places_admin2_name","sql":"CREATE INDEX \"idx_geodata_places_admin2_name\" ON \"geodata_places\" USING gin (f_unaccent(\"admin2Name\") gin_trgm_ops);"}'::jsonb WHERE "name" = 'index_idx_geodata_places_admin2_name'; immich_postgres | 2025-07-31T14:00:35.701218095Z 2025-07-31 14:00:35.701 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_geodata_places_admin1_name","sql":"CREATE INDEX \"idx_geodata_places_admin1_name\" ON \"geodata_places\" USING gin (f_unaccent(\"admin1Name\") gin_trgm_ops);"}'::jsonb WHERE "name" = 'index_idx_geodata_places_admin1_name'; immich_postgres | 2025-07-31T14:00:35.701645772Z 2025-07-31 14:00:35.701 UTC [57] LOG: statement: UPDATE "migration_overrides" SET "value" = '{"type":"index","name":"idx_geodata_places_alternate_names","sql":"CREATE INDEX \"idx_geodata_places_alternate_names\" ON \"geodata_places\" USING gin (f_unaccent(\"alternateNames\") gin_trgm_ops);"}'::jsonb WHERE "name" = 'index_idx_geodata_places_alternate_names'; immich_postgres | 2025-07-31T14:00:35.702740948Z 2025-07-31 14:00:35.702 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:35.702882797Z 2025-07-31 14:00:35.702 UTC [57] DETAIL: parameters: $1 = '1752004072340-UpdateIndexOverrides', $2 = '2025-07-31T14:00:35.701Z' immich_postgres | 2025-07-31T14:00:35.704007101Z 2025-07-31 14:00:35.703 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION person_delete_audit() immich_postgres | 2025-07-31T14:00:35.704141385Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:35.704175192Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:35.704210756Z AS $$ immich_postgres | 2025-07-31T14:00:35.704242639Z BEGIN immich_postgres | 2025-07-31T14:00:35.704267442Z INSERT INTO person_audit ("personId", "ownerId") immich_postgres | 2025-07-31T14:00:35.704302311Z SELECT "id", "ownerId" immich_postgres | 2025-07-31T14:00:35.704331770Z FROM OLD; immich_postgres | 2025-07-31T14:00:35.704363099Z RETURN NULL; immich_postgres | 2025-07-31T14:00:35.704388422Z END immich_postgres | 2025-07-31T14:00:35.704414206Z $$; immich_postgres | 2025-07-31T14:00:35.705288698Z 2025-07-31 14:00:35.705 UTC [57] LOG: statement: CREATE TABLE "person_audit" ( immich_postgres | 2025-07-31T14:00:35.705378325Z "id" uuid NOT NULL DEFAULT immich_uuid_v7(), immich_postgres | 2025-07-31T14:00:35.705419263Z "personId" uuid NOT NULL, immich_postgres | 2025-07-31T14:00:35.705453883Z "ownerId" uuid NOT NULL, immich_postgres | 2025-07-31T14:00:35.705484052Z "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp(), immich_postgres | 2025-07-31T14:00:35.705518102Z CONSTRAINT "PK_46c1ad23490b9312ffaa052aa59" PRIMARY KEY ("id") immich_postgres | 2025-07-31T14:00:35.705552199Z ); immich_postgres | 2025-07-31T14:00:36.712706992Z 2025-07-31 14:00:36.712 UTC [57] LOG: statement: CREATE INDEX "IDX_person_audit_person_id" ON "person_audit" ("personId"); immich_postgres | 2025-07-31T14:00:36.930645635Z 2025-07-31 14:00:36.889 UTC [57] LOG: statement: CREATE INDEX "IDX_person_audit_owner_id" ON "person_audit" ("ownerId"); immich_postgres | 2025-07-31T14:00:36.963971068Z 2025-07-31 14:00:36.963 UTC [57] LOG: statement: CREATE INDEX "IDX_person_audit_deleted_at" ON "person_audit" ("deletedAt"); immich_postgres | 2025-07-31T14:00:37.030485909Z 2025-07-31 14:00:37.030 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "person_delete_audit" immich_postgres | 2025-07-31T14:00:37.030660330Z AFTER DELETE ON "person" immich_postgres | 2025-07-31T14:00:37.030825414Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:37.030865037Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:37.030903059Z WHEN (pg_trigger_depth() = 0) immich_postgres | 2025-07-31T14:00:37.030931204Z EXECUTE FUNCTION person_delete_audit(); immich_postgres | 2025-07-31T14:00:37.032714671Z 2025-07-31 14:00:37.032 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_person_delete_audit', '{"type":"function","name":"person_delete_audit","sql":"CREATE OR REPLACE FUNCTION person_delete_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO person_audit (\"personId\", \"ownerId\")\n SELECT \"id\", \"ownerId\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:37.033397447Z 2025-07-31 14:00:37.033 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_person_delete_audit', '{"type":"trigger","name":"person_delete_audit","sql":"CREATE OR REPLACE TRIGGER \"person_delete_audit\"\n AFTER DELETE ON \"person\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION person_delete_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:37.034527741Z 2025-07-31 14:00:37.034 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:37.034652035Z 2025-07-31 14:00:37.034 UTC [57] DETAIL: parameters: $1 = '1752152941084-PeopleAuditTable', $2 = '2025-07-31T14:00:37.033Z' immich_postgres | 2025-07-31T14:00:37.035206278Z 2025-07-31 14:00:37.035 UTC [57] LOG: statement: ALTER TABLE "geodata_places" DROP CONSTRAINT IF EXISTS "PK_c29918988912ef4036f3d7fbff4"; immich_postgres | 2025-07-31T14:00:37.036196104Z 2025-07-31 14:00:37.036 UTC [57] LOG: statement: ALTER TABLE "geodata_places" DROP CONSTRAINT IF EXISTS "geodata_places_pkey" immich_postgres | 2025-07-31T14:00:37.038738155Z 2025-07-31 14:00:37.038 UTC [57] LOG: statement: ALTER TABLE "geodata_places" ADD CONSTRAINT "geodata_places_pkey" PRIMARY KEY ("id"); immich_postgres | 2025-07-31T14:00:38.260721671Z 2025-07-31 14:00:38.260 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:38.260884411Z 2025-07-31 14:00:38.260 UTC [57] DETAIL: parameters: $1 = '1752161055253-RenameGeodataPKConstraint', $2 = '2025-07-31T14:00:38.259Z' immich_postgres | 2025-07-31T14:00:38.261692655Z 2025-07-31 14:00:38.261 UTC [57] LOG: statement: DELETE FROM activity AS a immich_postgres | 2025-07-31T14:00:38.261768969Z WHERE a."assetId" IS NOT NULL immich_postgres | 2025-07-31T14:00:38.261806566Z AND NOT EXISTS ( immich_postgres | 2025-07-31T14:00:38.261835582Z SELECT 1 immich_postgres | 2025-07-31T14:00:38.261861424Z FROM albums_assets_assets AS aaa immich_postgres | 2025-07-31T14:00:38.261890442Z WHERE a."albumId" = aaa."albumsId" immich_postgres | 2025-07-31T14:00:38.261920242Z AND a."assetId" = aaa."assetsId" immich_postgres | 2025-07-31T14:00:38.261958165Z ); immich_postgres | 2025-07-31T14:00:38.263585362Z 2025-07-31 14:00:38.263 UTC [57] LOG: statement: ALTER TABLE "activity" ADD CONSTRAINT "fk_activity_album_asset_composite" FOREIGN KEY ("albumId", "assetId") REFERENCES "albums_assets_assets" ("albumsId", "assetsId") ON UPDATE NO ACTION ON DELETE CASCADE; immich_postgres | 2025-07-31T14:00:38.265857239Z 2025-07-31 14:00:38.265 UTC [57] LOG: statement: CREATE INDEX "IDX_86102d85cfa7f196073aebff68" ON "activity" ("albumId", "assetId") immich_postgres | 2025-07-31T14:00:38.402421828Z 2025-07-31 14:00:38.402 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:38.611952479Z 2025-07-31 14:00:38.402 UTC [57] DETAIL: parameters: $1 = '1752161055254-AddActivityAssetFk', $2 = '2025-07-31T14:00:38.401Z' immich_postgres | 2025-07-31T14:00:38.612071850Z 2025-07-31 14:00:38.402 UTC [57] LOG: statement: ALTER TABLE "sessions" ADD "isPendingSyncReset" boolean NOT NULL DEFAULT false; immich_postgres | 2025-07-31T14:00:38.612120034Z 2025-07-31 14:00:38.429 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:38.612166186Z 2025-07-31 14:00:38.429 UTC [57] DETAIL: parameters: $1 = '1752169992364-AddIsPendingSyncReset', $2 = '2025-07-31T14:00:38.428Z' immich_postgres | 2025-07-31T14:00:38.612202515Z 2025-07-31 14:00:38.430 UTC [57] LOG: statement: CREATE OR REPLACE FUNCTION user_metadata_audit() immich_postgres | 2025-07-31T14:00:38.612237063Z RETURNS TRIGGER immich_postgres | 2025-07-31T14:00:38.612265790Z LANGUAGE PLPGSQL immich_postgres | 2025-07-31T14:00:38.612292976Z AS $$ immich_postgres | 2025-07-31T14:00:38.612318517Z BEGIN immich_postgres | 2025-07-31T14:00:38.612343472Z INSERT INTO user_metadata_audit ("userId", "key") immich_postgres | 2025-07-31T14:00:38.612372604Z SELECT "userId", "key" immich_postgres | 2025-07-31T14:00:38.612398854Z FROM OLD; immich_postgres | 2025-07-31T14:00:38.612424945Z RETURN NULL; immich_postgres | 2025-07-31T14:00:38.612448839Z END immich_postgres | 2025-07-31T14:00:38.612472975Z $$; immich_postgres | 2025-07-31T14:00:38.612495542Z 2025-07-31 14:00:38.431 UTC [57] LOG: statement: CREATE TABLE "user_metadata_audit" ( immich_postgres | 2025-07-31T14:00:38.612525224Z "id" uuid NOT NULL DEFAULT immich_uuid_v7(), immich_postgres | 2025-07-31T14:00:38.612553249Z "userId" uuid NOT NULL, immich_postgres | 2025-07-31T14:00:38.612581449Z "key" character varying NOT NULL, immich_postgres | 2025-07-31T14:00:38.612612613Z "deletedAt" timestamp with time zone NOT NULL DEFAULT clock_timestamp(), immich_postgres | 2025-07-31T14:00:38.612643653Z CONSTRAINT "PK_15d5cc4d65ac966233b9921acac" PRIMARY KEY ("id") immich_postgres | 2025-07-31T14:00:38.612673400Z ); immich_postgres | 2025-07-31T14:00:38.644748309Z 2025-07-31 14:00:38.644 UTC [57] LOG: statement: CREATE INDEX "IDX_user_metadata_audit_user_id" ON "user_metadata_audit" ("userId"); immich_postgres | 2025-07-31T14:00:38.733339966Z 2025-07-31 14:00:38.733 UTC [57] LOG: statement: CREATE INDEX "IDX_user_metadata_audit_key" ON "user_metadata_audit" ("key"); immich_postgres | 2025-07-31T14:00:38.800102045Z 2025-07-31 14:00:38.799 UTC [57] LOG: statement: CREATE INDEX "IDX_user_metadata_audit_deleted_at" ON "user_metadata_audit" ("deletedAt"); immich_postgres | 2025-07-31T14:00:38.854751858Z 2025-07-31 14:00:38.854 UTC [57] LOG: statement: ALTER TABLE "user_metadata" ADD "updateId" uuid NOT NULL DEFAULT immich_uuid_v7(); immich_postgres | 2025-07-31T14:00:39.950315567Z 2025-07-31 14:00:39.950 UTC [57] LOG: statement: ALTER TABLE "user_metadata" ADD "updatedAt" timestamp with time zone NOT NULL DEFAULT now(); immich_postgres | 2025-07-31T14:00:39.951142856Z 2025-07-31 14:00:39.951 UTC [57] LOG: statement: CREATE INDEX "IDX_user_metadata_update_id" ON "user_metadata" ("updateId"); immich_postgres | 2025-07-31T14:00:40.560894435Z 2025-07-31 14:00:40.560 UTC [57] LOG: statement: CREATE INDEX "IDX_user_metadata_updated_at" ON "user_metadata" ("updatedAt"); immich_server | 2025-07-31T14:00:41.624275031Z Query failed : { immich_server | 2025-07-31T14:00:41.624885573Z durationMs: 2.1496470000056433, immich_server | 2025-07-31T14:00:41.624939235Z error: PostgresError: relation "user" already exists immich_server | 2025-07-31T14:00:41.624991065Z at ErrorResponse (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:794:26) immich_server | 2025-07-31T14:00:41.625031102Z at handle (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:480:6) immich_server | 2025-07-31T14:00:41.625067215Z at Socket.data (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:315:9) immich_server | 2025-07-31T14:00:41.625099765Z at Socket.emit (node:events:518:28) immich_server | 2025-07-31T14:00:41.625130964Z at addChunk (node:internal/streams/readable:561:12) immich_server | 2025-07-31T14:00:41.625160568Z at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) immich_server | 2025-07-31T14:00:41.625191230Z at Readable.push (node:internal/streams/readable:392:5) immich_server | 2025-07-31T14:00:41.625223915Z at TCP.onStreamRead (node:internal/stream_base_commons:189:23) { immich_server | 2025-07-31T14:00:41.625254140Z severity_local: 'ERROR', immich_server | 2025-07-31T14:00:41.625279692Z severity: 'ERROR', immich_server | 2025-07-31T14:00:41.625304888Z code: '42P07', immich_server | 2025-07-31T14:00:41.625333742Z file: 'tablecmds.c', immich_server | 2025-07-31T14:00:41.625360864Z line: '3870', immich_server | 2025-07-31T14:00:41.625385841Z routine: 'RenameRelationInternal' immich_server | 2025-07-31T14:00:41.625413852Z }, immich_server | 2025-07-31T14:00:41.625437016Z sql: 'ALTER TABLE "users" RENAME TO "user"', immich_server | 2025-07-31T14:00:41.625480246Z params: [] immich_server | 2025-07-31T14:00:41.625505196Z } immich_server | 2025-07-31T14:00:41.632289592Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1750676477029-AlbumAssetUpdateId" succeeded immich_server | 2025-07-31T14:00:41.633458900Z [Nest] 7 - 07/31/2025, 2:00:41 PM  ERROR [Microservices:DatabaseRepository] Kysely migrations failed: PostgresError: relation "user" already exists immich_server | 2025-07-31T14:00:41.634501726Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1750694237564-AlbumAssetAuditTable" succeeded immich_server | 2025-07-31T14:00:41.634627044Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1750780093818-AddAlbumToAssetDeleteTrigger" succeeded immich_server | 2025-07-31T14:00:41.634692817Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1751035357937-MemorySyncChanges" succeeded immich_server | 2025-07-31T14:00:41.634852592Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1751304834247-StackSyncChanges" succeeded immich_server | 2025-07-31T14:00:41.634898553Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1751924596408-AddOverrides" succeeded immich_server | 2025-07-31T14:00:41.634937505Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752004072340-UpdateIndexOverrides" succeeded immich_server | 2025-07-31T14:00:41.634987708Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752152941084-PeopleAuditTable" succeeded immich_server | 2025-07-31T14:00:41.635026462Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055253-RenameGeodataPKConstraint" succeeded immich_server | 2025-07-31T14:00:41.635065947Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752161055254-AddActivityAssetFk" succeeded immich_server | 2025-07-31T14:00:41.635106226Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752169992364-AddIsPendingSyncReset" succeeded immich_server | 2025-07-31T14:00:41.635142224Z [Nest] 7 - 07/31/2025, 2:00:41 PM  LOG [Microservices:DatabaseRepository] Migration "1752250924342-UserMetadataSync" succeeded immich_server | 2025-07-31T14:00:41.635177331Z [Nest] 7 - 07/31/2025, 2:00:41 PM  WARN [Microservices:DatabaseRepository] Migration "1752267649968-StandardizeNames" failed immich_server | 2025-07-31T14:00:41.636858410Z PostgresError: relation "user" already exists immich_server | 2025-07-31T14:00:41.637002105Z at ErrorResponse (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:794:26) immich_server | 2025-07-31T14:00:41.637044255Z at handle (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:480:6) immich_server | 2025-07-31T14:00:41.637077225Z at Socket.data (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:315:9) immich_server | 2025-07-31T14:00:41.637108327Z at Socket.emit (node:events:518:28) immich_server | 2025-07-31T14:00:41.637138041Z at addChunk (node:internal/streams/readable:561:12) immich_server | 2025-07-31T14:00:41.637170933Z at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) immich_server | 2025-07-31T14:00:41.637203173Z at Readable.push (node:internal/streams/readable:392:5) immich_server | 2025-07-31T14:00:41.637231181Z at TCP.onStreamRead (node:internal/stream_base_commons:189:23) { immich_server | 2025-07-31T14:00:41.637259738Z severity_local: 'ERROR', immich_server | 2025-07-31T14:00:41.637285652Z severity: 'ERROR', immich_server | 2025-07-31T14:00:41.637311422Z code: '42P07', immich_server | 2025-07-31T14:00:41.637339363Z file: 'tablecmds.c', immich_server | 2025-07-31T14:00:41.637367914Z line: '3870', immich_server | 2025-07-31T14:00:41.637392997Z routine: 'RenameRelationInternal' immich_server | 2025-07-31T14:00:41.637418553Z } immich_server | 2025-07-31T14:00:41.640442846Z microservices worker error: PostgresError: relation "user" already exists, stack: PostgresError: relation "user" already exists immich_server | 2025-07-31T14:00:41.640603930Z at ErrorResponse (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:794:26) immich_server | 2025-07-31T14:00:41.640688974Z at handle (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:480:6) immich_server | 2025-07-31T14:00:41.640729700Z at Socket.data (/usr/src/app/server/node_modules/postgres/cjs/src/connection.js:315:9) immich_server | 2025-07-31T14:00:41.640761836Z at Socket.emit (node:events:518:28) immich_server | 2025-07-31T14:00:41.640793491Z at addChunk (node:internal/streams/readable:561:12) immich_server | 2025-07-31T14:00:41.640848827Z at readableAddChunkPushByteMode (node:internal/streams/readable:512:3) immich_server | 2025-07-31T14:00:41.640882276Z at Readable.push (node:internal/streams/readable:392:5) immich_server | 2025-07-31T14:00:41.640912035Z at TCP.onStreamRead (node:internal/stream_base_commons:189:23) immich_postgres | 2025-07-31T14:00:41.642022855Z 2025-07-31 14:00:41.021 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "user_metadata_audit" immich_postgres | 2025-07-31T14:00:41.642110389Z AFTER DELETE ON "user_metadata" immich_postgres | 2025-07-31T14:00:41.642142176Z REFERENCING OLD TABLE AS "old" immich_postgres | 2025-07-31T14:00:41.642173300Z FOR EACH STATEMENT immich_postgres | 2025-07-31T14:00:41.642206013Z WHEN (pg_trigger_depth() = 0) immich_postgres | 2025-07-31T14:00:41.642236684Z EXECUTE FUNCTION user_metadata_audit(); immich_postgres | 2025-07-31T14:00:41.642264691Z 2025-07-31 14:00:41.024 UTC [57] LOG: statement: CREATE OR REPLACE TRIGGER "user_metadata_updated_at" immich_postgres | 2025-07-31T14:00:41.642341774Z BEFORE UPDATE ON "user_metadata" immich_postgres | 2025-07-31T14:00:41.642372598Z FOR EACH ROW immich_postgres | 2025-07-31T14:00:41.642407815Z EXECUTE FUNCTION updated_at(); immich_postgres | 2025-07-31T14:00:41.642436268Z 2025-07-31 14:00:41.025 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('function_user_metadata_audit', '{"type":"function","name":"user_metadata_audit","sql":"CREATE OR REPLACE FUNCTION user_metadata_audit()\n RETURNS TRIGGER\n LANGUAGE PLPGSQL\n AS $$\n BEGIN\n INSERT INTO user_metadata_audit (\"userId\", \"key\")\n SELECT \"userId\", \"key\"\n FROM OLD;\n RETURN NULL;\n END\n $$;"}'::jsonb); immich_postgres | 2025-07-31T14:00:41.642508780Z 2025-07-31 14:00:41.026 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_user_metadata_audit', '{"type":"trigger","name":"user_metadata_audit","sql":"CREATE OR REPLACE TRIGGER \"user_metadata_audit\"\n AFTER DELETE ON \"user_metadata\"\n REFERENCING OLD TABLE AS \"old\"\n FOR EACH STATEMENT\n WHEN (pg_trigger_depth() = 0)\n EXECUTE FUNCTION user_metadata_audit();"}'::jsonb); immich_postgres | 2025-07-31T14:00:41.642563354Z 2025-07-31 14:00:41.026 UTC [57] LOG: statement: INSERT INTO "migration_overrides" ("name", "value") VALUES ('trigger_user_metadata_updated_at', '{"type":"trigger","name":"user_metadata_updated_at","sql":"CREATE OR REPLACE TRIGGER \"user_metadata_updated_at\"\n BEFORE UPDATE ON \"user_metadata\"\n FOR EACH ROW\n EXECUTE FUNCTION updated_at();"}'::jsonb); immich_postgres | 2025-07-31T14:00:41.642609399Z 2025-07-31 14:00:41.027 UTC [57] LOG: execute : insert into "kysely_migrations" ("name", "timestamp") values ($1, $2) immich_postgres | 2025-07-31T14:00:41.642645955Z 2025-07-31 14:00:41.027 UTC [57] DETAIL: parameters: $1 = '1752250924342-UserMetadataSync', $2 = '2025-07-31T14:00:41.026Z' immich_postgres | 2025-07-31T14:00:41.642683052Z 2025-07-31 14:00:41.030 UTC [57] LOG: statement: ALTER TABLE "album_assets_audit" RENAME TO "album_asset_audit" immich_postgres | 2025-07-31T14:00:41.642720209Z 2025-07-31 14:00:41.031 UTC [57] LOG: statement: ALTER TABLE "albums_assets_assets" RENAME TO "album_asset" immich_postgres | 2025-07-31T14:00:41.642751842Z 2025-07-31 14:00:41.032 UTC [57] LOG: statement: ALTER TABLE "albums_audit" RENAME TO "album_audit" immich_postgres | 2025-07-31T14:00:41.642786019Z 2025-07-31 14:00:41.033 UTC [57] LOG: statement: ALTER TABLE "album_users_audit" RENAME TO "album_user_audit" immich_postgres | 2025-07-31T14:00:41.642817253Z 2025-07-31 14:00:41.034 UTC [57] LOG: statement: ALTER TABLE "albums_shared_users_users" RENAME TO "album_user" immich_postgres | 2025-07-31T14:00:41.642848080Z 2025-07-31 14:00:41.034 UTC [57] LOG: statement: ALTER TABLE "albums" RENAME TO "album" immich_postgres | 2025-07-31T14:00:41.642878760Z 2025-07-31 14:00:41.040 UTC [57] LOG: statement: ALTER TABLE "api_keys" RENAME TO "api_key" immich_postgres | 2025-07-31T14:00:41.642909182Z 2025-07-31 14:00:41.041 UTC [57] LOG: statement: ALTER TABLE "assets_audit" RENAME TO "asset_audit" immich_postgres | 2025-07-31T14:00:41.642939746Z 2025-07-31 14:00:41.042 UTC [57] LOG: statement: ALTER TABLE "assets" RENAME TO "asset" immich_postgres | 2025-07-31T14:00:41.642993973Z 2025-07-31 14:00:41.606 UTC [57] LOG: statement: ALTER TABLE "asset_faces" RENAME TO "asset_face" immich_postgres | 2025-07-31T14:00:41.643024799Z 2025-07-31 14:00:41.607 UTC [57] LOG: statement: ALTER TABLE "asset_files" RENAME TO "asset_file" immich_postgres | 2025-07-31T14:00:41.643058211Z 2025-07-31 14:00:41.609 UTC [57] LOG: statement: ALTER TABLE "exif" RENAME TO "asset_exif" immich_postgres | 2025-07-31T14:00:41.643088271Z 2025-07-31 14:00:41.610 UTC [57] LOG: statement: ALTER TABLE "libraries" RENAME TO "library" immich_postgres | 2025-07-31T14:00:41.643118949Z 2025-07-31 14:00:41.612 UTC [57] LOG: statement: ALTER TABLE "memory_assets_audit" RENAME TO "memory_asset_audit" immich_postgres | 2025-07-31T14:00:41.643152708Z 2025-07-31 14:00:41.612 UTC [57] LOG: statement: ALTER TABLE "memories_assets_assets" RENAME TO "memory_asset" immich_postgres | 2025-07-31T14:00:41.643185699Z 2025-07-31 14:00:41.613 UTC [57] LOG: statement: ALTER TABLE "memories_audit" RENAME TO "memory_audit" immich_postgres | 2025-07-31T14:00:41.643216484Z 2025-07-31 14:00:41.613 UTC [57] LOG: statement: ALTER TABLE "memories" RENAME TO "memory" immich_postgres | 2025-07-31T14:00:41.643263203Z 2025-07-31 14:00:41.613 UTC [57] LOG: statement: ALTER TABLE "notifications" RENAME TO "notification" immich_postgres | 2025-07-31T14:00:41.643293782Z 2025-07-31 14:00:41.614 UTC [57] LOG: statement: ALTER TABLE "partners_audit" RENAME TO "partner_audit" immich_postgres | 2025-07-31T14:00:41.643335722Z 2025-07-31 14:00:41.614 UTC [57] LOG: statement: ALTER TABLE "partners" RENAME TO "partner" immich_postgres | 2025-07-31T14:00:41.643365886Z 2025-07-31 14:00:41.615 UTC [57] LOG: statement: ALTER TABLE "sessions" RENAME TO "session" immich_postgres | 2025-07-31T14:00:41.643397783Z 2025-07-31 14:00:41.616 UTC [57] LOG: statement: ALTER TABLE "shared_link__asset" RENAME TO "shared_link_asset" immich_postgres | 2025-07-31T14:00:41.643430374Z 2025-07-31 14:00:41.617 UTC [57] LOG: statement: ALTER TABLE "shared_links" RENAME TO "shared_link" immich_postgres | 2025-07-31T14:00:41.643463858Z 2025-07-31 14:00:41.617 UTC [57] LOG: statement: ALTER TABLE "stacks_audit" RENAME TO "stack_audit" immich_postgres | 2025-07-31T14:00:41.643493729Z 2025-07-31 14:00:41.618 UTC [57] LOG: statement: ALTER TABLE "asset_stack" RENAME TO "stack" immich_postgres | 2025-07-31T14:00:41.643527125Z 2025-07-31 14:00:41.618 UTC [57] LOG: statement: ALTER TABLE "session_sync_checkpoints" RENAME TO "session_sync_checkpoint" immich_postgres | 2025-07-31T14:00:41.643559273Z 2025-07-31 14:00:41.618 UTC [57] LOG: statement: ALTER TABLE "tags_closure" RENAME TO "tag_closure" immich_postgres | 2025-07-31T14:00:41.643591524Z 2025-07-31 14:00:41.619 UTC [57] LOG: statement: ALTER TABLE "tags" RENAME TO "tag" immich_postgres | 2025-07-31T14:00:41.643621167Z 2025-07-31 14:00:41.619 UTC [57] LOG: statement: ALTER TABLE "users_audit" RENAME TO "user_audit" immich_postgres | 2025-07-31T14:00:41.643650469Z 2025-07-31 14:00:41.620 UTC [57] LOG: statement: ALTER TABLE "users" RENAME TO "user" immich_postgres | 2025-07-31T14:00:41.643680152Z 2025-07-31 14:00:41.620 UTC [57] ERROR: relation "user" already exists immich_postgres | 2025-07-31T14:00:41.643714480Z 2025-07-31 14:00:41.620 UTC [57] STATEMENT: ALTER TABLE "users" RENAME TO "user" immich_postgres | 2025-07-31T14:00:41.643746019Z 2025-07-31 14:00:41.630 UTC [57] LOG: statement: rollback immich_postgres | 2025-07-31T14:00:41.643773448Z 2025-07-31 14:00:41.634 UTC [56] LOG: execute : SELECT pg_advisory_unlock($1) immich_postgres | 2025-07-31T14:00:41.643803478Z 2025-07-31 14:00:41.634 UTC [56] DETAIL: parameters: $1 = '200' immich_server | 2025-07-31T14:00:41.661542279Z microservices worker exited with code 1 immich_server | 2025-07-31T14:00:41.661684571Z Killing api process immich_postgres | 2025-07-31T14:00:41.680921703Z 2025-07-31 14:00:41.680 UTC [63] LOG: could not receive data from client: Connection reset by peer immich_postgres | 2025-07-31T14:02:19.273041703Z 2025-07-31 14:02:19.272 UTC [72] LOG: statement: select * from pg_catalog.pg_tables