PgHero
1 long running query
Connections healthy 40
Vacuuming healthy
No columns near integer overflow
No invalid indexes or constraints
No duplicate indexes
2 suggested indexes
44 slow queries

Long Running Queries

We recommend setting a statement timeout on all non-superusers with:

ALTER ROLE <user> SET statement_timeout TO '60s';
Pid Duration State
2434761 00:03:16 active
postgres

        SELECT config AS config
        FROM upload
        WHERE email IS NULL AND created_at < NOW() - INTERVAL '4 hours'
        AND created_at > NOW() - INTERVAL '1 days'
    

Suggested Indexes

Add indexes to speed up queries.

rails generate migration add_suggested_indexes

And paste

commit_db_transaction
add_index :configuration, [:user_id], algorithm: :concurrently
add_index :upload, [:user_id, :created_at], algorithm: :concurrently

Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY

to speed up

Total Time Average Time Calls
1 min < 0.1% 48 ms 1,032 postgres
SELECT "id","upload_type","user_id","description","name","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 48 ms 1,022 postgres
SELECT "id","name","upload_type","settings","description","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 49 ms 899 postgres
SELECT "description","user_id","name","upload_type","id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 48 ms 719 postgres
SELECT "upload_type","settings","user_id","id","description","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 48 ms 653 postgres
SELECT "upload_type","description","name","id","user_id","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 582 postgres
SELECT "id","description","upload_type","settings","user_id","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 544 postgres
SELECT "upload_type","description","settings","user_id","name","id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 550 postgres
SELECT "upload_type","id","user_id","description","settings","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 50 ms 527 postgres
SELECT "name","upload_type","settings","id","user_id","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 526 postgres
SELECT "description","user_id","name","settings","id","upload_type" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 471 postgres
SELECT "name","user_id","id","description","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 470 postgres
SELECT "id","description","upload_type","name","user_id","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 463 postgres
SELECT "upload_type","user_id","settings","name","id","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 460 postgres
SELECT "settings","id","user_id","upload_type","description","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 453 postgres
SELECT "user_id","name","upload_type","id","settings","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 435 postgres
SELECT "name","description","upload_type","user_id","id","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 435 postgres
SELECT "description","settings","upload_type","user_id","id","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 47 ms 444 postgres
SELECT "name","settings","description","user_id","upload_type","id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 433 postgres
SELECT "upload_type","user_id","id","name","description","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 418 postgres
SELECT "id","upload_type","user_id","name","settings","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 47 ms 429 postgres
SELECT "settings","name","user_id","upload_type","id","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 406 postgres
SELECT "name","settings","user_id","id","upload_type","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 413 postgres
SELECT "upload_type","settings","description","id","name","user_id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 408 postgres
SELECT "description","id","name","settings","upload_type","user_id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 368 postgres
SELECT "id","upload_type","description","settings","user_id","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 354 postgres
SELECT "id","settings","upload_type","description","user_id","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 311 postgres
SELECT "user_id","upload_type","name","description","id","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 302 postgres
SELECT "id","settings","user_id","upload_type","name","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 297 postgres
SELECT "id","description","name","upload_type","user_id","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 289 postgres
SELECT "settings","description","id","name","user_id","upload_type" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 49 ms 234 postgres
SELECT "user_id","name","settings","id","upload_type","description" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 183 postgres
SELECT "user_id","settings","upload_type","description","id","name" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 48 ms 130 postgres
SELECT "user_id","upload_type","name","id","description","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 45 ms 86 postgres
SELECT "settings","description","id","upload_type","name","user_id" FROM "configuration" WHERE "user_id"=$1

Details
CREATE INDEX CONCURRENTLY ON upload (user_id, created_at)
Rows: 16659728
Row progression: 16659728, 1102, 110

Row estimates
- user_id (=): 1102
- created_at (>=): 1665973
- created_at (sort): 1
- created_at (<): 1665973
- status (=): 4164932

Existing indexes
- id PRIMARY
- created_at, id WHERE (config IS NOT NULL) AND ((config ? 'tracks'::text) OR (config ? 'global_merged_results'::text) OR (config ? 'global_transcription'::text))
- created_at DESC, source
- status, user_id
- task_id
- user_id, created_at DESC

to speed up

Total Time Average Time Calls
72 min 1% 70 ms 61,487 postgres
SELECT "id" "id","created_at" "created_at","ended_at" "ended_at","status" "status","length_audio" "length_audio","task_id" "task_id","audio_links" "audio_links","config" "config" FROM "upload" WHERE "user_id"=$1 AND "created_at">=$2 ORDER BY "created_at" ASC
0 min < 0.1% 64 ms 264 postgres
SELECT "id" "id","source" "source","config" "config","created_at" "created_at","length_audio" "length_audio" FROM "upload" WHERE "user_id"=$1 AND "status"=$2 AND "created_at">=$3 AND "created_at"<$4 AND "created_at"<$5 ORDER BY "created_at" DESC LIMIT $6

Slow Queries

Slow queries take 20 ms or more on average and have been called at least 100 times.

Explain queries to see where to add indexes.

Total Time Average Time Calls
5,681 min 85% 259,425 ms 1,314 postgres
SELECT config AS config
        FROM upload
        WHERE email IS NULL AND created_at < NOW() - INTERVAL $1
        AND created_at > NOW() - INTERVAL $2
Covered by index on (created_at, id WHERE (config IS NOT NULL) AND ((config ? 'tracks'::text) OR (config ? 'global_merged_results'::text) OR (config ? 'global_transcription'::text)))
Rows: 16659728
Row progression: 16659728, 1665973

Row estimates
- created_at (>): 1665973
- created_at (<): 1665973
- email (null): 3735111

Existing indexes
- id PRIMARY
- created_at, id WHERE (config IS NOT NULL) AND ((config ? 'tracks'::text) OR (config ? 'global_merged_results'::text) OR (config ? 'global_transcription'::text))
- created_at DESC, source
- status, user_id
- task_id
- user_id, created_at DESC
482 min 7% 1,118 ms 25,885 readonly_user
SELECT  json_build_object($6, json_build_object($7, COUNT(*) ) ) AS "root" FROM  (SELECT  $8  FROM  (SELECT  *  FROM "public"."upload"  WHERE ((("public"."upload"."status") = ANY(($2)::text[])) AND (EXISTS  (SELECT  $9  FROM "public"."user" AS "__be_0_user" WHERE (((("__be_0_user"."id") = ("public"."upload"."user_id")) AND ($10)) AND (($11) AND (((("__be_0_user"."email") IS NOT NULL) AND ((("__be_0_user"."email") <> (($3)::text)) AND ($12))) AND (((((("__be_0_user"."credit") > (($4)::integer)) AND ($13)) AND ($14)) OR ((((("__be_0_user"."recurring_credit") > (($5)::integer)) AND ($15)) AND ($16)) OR ($17))) AND ($18)))))     )))     ) AS "_root.base"      ) AS "_root"
142 min 2% 50 ms 170,731 postgres
SELECT COUNT(*) FROM "source_analysis" LEFT OUTER JOIN "files" "source_analysis__file" ON "source_analysis__file"."id"="source_analysis"."file_id" WHERE "source_analysis__file"."user_id"=$1 AND "source_analysis"."created_at">=$2
72 min 1% 70 ms 61,487 postgres
SELECT "id" "id","created_at" "created_at","ended_at" "ended_at","status" "status","length_audio" "length_audio","task_id" "task_id","audio_links" "audio_links","config" "config" FROM "upload" WHERE "user_id"=$1 AND "created_at">=$2 ORDER BY "created_at" ASC
Details
CREATE INDEX CONCURRENTLY ON upload (user_id, created_at)
Rows: 16659728
Row progression: 16659728, 1102, 110

Row estimates
- user_id (=): 1102
- created_at (>=): 1665973
- created_at (sort): 1

Existing indexes
- id PRIMARY
- created_at, id WHERE (config IS NOT NULL) AND ((config ? 'tracks'::text) OR (config ? 'global_merged_results'::text) OR (config ? 'global_transcription'::text))
- created_at DESC, source
- status, user_id
- task_id
- user_id, created_at DESC
32 min 0.5% 1,182 ms 1,606 postgres
DELETE FROM "user" WHERE "id"=$1
Covered by index on (id)
Rows: 1603383
Row progression: 1603383, 1

Row estimates
- id (=): 1

Existing indexes
- id PRIMARY
- auth_id
- email
29 min 0.4% 1,101 ms 1,603 admin
DELETE FROM ONLY "public"."files" WHERE $1 OPERATOR(pg_catalog.=) "user_id"
14 min 0.2% 300 ms 2,843 readonly_user
SELECT  json_build_object($5, json_build_object($6, COUNT(*) ) ) AS "root" FROM  (SELECT  $7  FROM  (SELECT  *  FROM "public"."upload"  WHERE (((("public"."upload"."created_at") < (($2)::timestamptz)) AND (("public"."upload"."created_at") >= (($3)::timestamptz))) AND (("public"."upload"."source") ILIKE (($4)::text)))     ) AS "_root.base"      ) AS "_root"
5 min < 0.1% 162 ms 1,859 readonly_user
SELECT  json_build_object($4, json_build_object($5, COUNT(*) ) ) AS "root" FROM  (SELECT  $6  FROM  (SELECT  *  FROM "public"."user"  WHERE ((("public"."user"."created_at") < (($2)::timestamptz)) AND (("public"."user"."created_at") >= (($3)::timestamptz)))     ) AS "_root.base"      ) AS "_root"
2 min < 0.1% 25 ms 5,607 postgres
SELECT
            stats.key AS key,
            SUM((stats.value)::numeric) AS total
        FROM upload u
        CROSS JOIN LATERAL jsonb_each(COALESCE(u.config->$4, $5::jsonb)) AS stats(key, value)
        WHERE u.user_id = $1
          AND u.status = $6
          AND u.created_at >= $2
          AND u.created_at < $3
          AND jsonb_typeof(stats.value) = $7
        GROUP BY stats.key
1 min < 0.1% 50 ms 1,603 admin
DELETE FROM ONLY "public"."configuration" WHERE $1 OPERATOR(pg_catalog.=) "user_id"
1 min < 0.1% 48 ms 1,032 postgres
SELECT "id","upload_type","user_id","description","name","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 48 ms 1,022 postgres
SELECT "id","name","upload_type","settings","description","user_id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 49 ms 899 postgres
SELECT "description","user_id","name","upload_type","id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 48 ms 719 postgres
SELECT "upload_type","settings","user_id","id","description","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 48 ms 653 postgres
SELECT "upload_type","description","name","id","user_id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 582 postgres
SELECT "id","description","upload_type","settings","user_id","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 544 postgres
SELECT "upload_type","description","settings","user_id","name","id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 550 postgres
SELECT "upload_type","id","user_id","description","settings","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 50 ms 527 postgres
SELECT "name","upload_type","settings","id","user_id","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 526 postgres
SELECT "description","user_id","name","settings","id","upload_type" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 471 postgres
SELECT "name","user_id","id","description","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 470 postgres
SELECT "id","description","upload_type","name","user_id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 463 postgres
SELECT "upload_type","user_id","settings","name","id","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 460 postgres
SELECT "settings","id","user_id","upload_type","description","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 453 postgres
SELECT "user_id","name","upload_type","id","settings","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 435 postgres
SELECT "name","description","upload_type","user_id","id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 435 postgres
SELECT "description","settings","upload_type","user_id","id","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 47 ms 444 postgres
SELECT "name","settings","description","user_id","upload_type","id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 433 postgres
SELECT "upload_type","user_id","id","name","description","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 418 postgres
SELECT "id","upload_type","user_id","name","settings","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 47 ms 429 postgres
SELECT "settings","name","user_id","upload_type","id","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 406 postgres
SELECT "name","settings","user_id","id","upload_type","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 413 postgres
SELECT "upload_type","settings","description","id","name","user_id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 408 postgres
SELECT "description","id","name","settings","upload_type","user_id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 368 postgres
SELECT "id","upload_type","description","settings","user_id","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 354 postgres
SELECT "id","settings","upload_type","description","user_id","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 64 ms 264 postgres
SELECT "id" "id","source" "source","config" "config","created_at" "created_at","length_audio" "length_audio" FROM "upload" WHERE "user_id"=$1 AND "status"=$2 AND "created_at">=$3 AND "created_at"<$4 AND "created_at"<$5 ORDER BY "created_at" DESC LIMIT $6
Details
CREATE INDEX CONCURRENTLY ON upload (user_id, created_at)
Rows: 16659728
Row progression: 16659728, 1102, 110

Row estimates
- user_id (=): 1102
- created_at (>=): 1665973
- created_at (<): 1665973
- status (=): 4164932
- created_at (sort): 1

Existing indexes
- id PRIMARY
- created_at, id WHERE (config IS NOT NULL) AND ((config ? 'tracks'::text) OR (config ? 'global_merged_results'::text) OR (config ? 'global_transcription'::text))
- created_at DESC, source
- status, user_id
- task_id
- user_id, created_at DESC
0 min < 0.1% 49 ms 311 postgres
SELECT "user_id","upload_type","name","description","id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 302 postgres
SELECT "id","settings","user_id","upload_type","name","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 297 postgres
SELECT "id","description","name","upload_type","user_id","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 289 postgres
SELECT "settings","description","id","name","user_id","upload_type" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 49 ms 234 postgres
SELECT "user_id","name","settings","id","upload_type","description" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 183 postgres
SELECT "user_id","settings","upload_type","description","id","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
0 min < 0.1% 48 ms 130 postgres
SELECT "user_id","upload_type","name","id","description","settings" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 99783
Row progression: 99783, 2

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY