PgHero
No long running queries
Connections healthy 68
Vacuuming healthy
No columns near integer overflow (3 unreadable sequences)
No invalid indexes or constraints
1 duplicate index
2 suggested indexes
86 slow queries

Duplicate Indexes

These indexes exist, but aren’t needed. Remove them for faster writes.

rails generate migration remove_unneeded_indexes

And paste

remove_index :upload, name: "upload_task_id_idx1", column: :task_id
Details
On upload
upload_task_id_idx1 (task_id)
is covered by
upload_task_id_idx (task_id)

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, [:created_at], algorithm: :concurrently

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY

to speed up

Total Time Average Time Calls
3 min < 0.1% 37 ms 4,228 postgres
SELECT "upload_type","user_id","settings","id","description","name" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 36 ms 2,964 postgres
SELECT "upload_type","user_id","settings","description","id","name" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 35 ms 2,935 postgres
SELECT "upload_type","user_id","name","description","id","settings" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 36 ms 2,770 postgres
SELECT "settings","upload_type","name","id","user_id","description" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 36 ms 2,628 postgres
SELECT "name","id","settings","user_id","description","upload_type" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 36 ms 2,594 postgres
SELECT "settings","id","name","description","upload_type","user_id" FROM "configuration" WHERE "user_id"=$1
2 min < 0.1% 36 ms 2,532 postgres
SELECT "user_id","settings","upload_type","description","name","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,428 postgres
SELECT "id","settings","name","upload_type","description","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,468 postgres
SELECT "user_id","id","name","upload_type","description","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,337 postgres
SELECT "user_id","upload_type","name","id","settings","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,331 postgres
SELECT "name","user_id","description","id","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,333 postgres
SELECT "description","user_id","settings","name","id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 2,347 postgres
SELECT "user_id","name","id","settings","upload_type","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,312 postgres
SELECT "id","description","upload_type","name","settings","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 2,249 postgres
SELECT "id","user_id","name","description","settings","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,207 postgres
SELECT "description","name","id","settings","user_id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,079 postgres
SELECT "settings","name","id","user_id","description","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,074 postgres
SELECT "upload_type","settings","user_id","description","name","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 2,012 postgres
SELECT "upload_type","id","settings","user_id","description","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 2,010 postgres
SELECT "description","id","upload_type","user_id","name","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,865 postgres
SELECT "user_id","description","upload_type","settings","id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,848 postgres
SELECT "user_id","name","upload_type","description","settings","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,878 postgres
SELECT "name","upload_type","settings","user_id","id","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,707 postgres
SELECT "upload_type","name","user_id","description","settings","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,775 postgres
SELECT "settings","upload_type","user_id","description","name","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,610 postgres
SELECT "user_id","name","upload_type","id","description","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,596 postgres
SELECT "name","upload_type","description","user_id","id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,503 postgres
SELECT "upload_type","description","user_id","settings","id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,471 postgres
SELECT "user_id","name","id","description","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,447 postgres
SELECT "description","user_id","name","upload_type","id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,453 postgres
SELECT "upload_type","id","description","settings","user_id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,423 postgres
SELECT "user_id","upload_type","settings","description","name","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,393 postgres
SELECT "user_id","settings","upload_type","description","id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,424 postgres
SELECT "upload_type","description","name","user_id","settings","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,389 postgres
SELECT "settings","user_id","id","name","description","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,409 postgres
SELECT "id","description","user_id","upload_type","settings","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,423 postgres
SELECT "id","upload_type","settings","name","description","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,350 postgres
SELECT "user_id","id","description","upload_type","settings","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,376 postgres
SELECT "id","settings","user_id","upload_type","description","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,382 postgres
SELECT "user_id","id","upload_type","description","name","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,325 postgres
SELECT "name","id","upload_type","description","settings","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,339 postgres
SELECT "name","upload_type","description","user_id","settings","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,319 postgres
SELECT "user_id","id","name","settings","description","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,269 postgres
SELECT "user_id","id","upload_type","name","description","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,274 postgres
SELECT "user_id","settings","description","name","upload_type","id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,194 postgres
SELECT "user_id","name","upload_type","settings","id","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,187 postgres
SELECT "description","id","user_id","settings","upload_type","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,188 postgres
SELECT "name","user_id","id","description","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,136 postgres
SELECT "name","settings","user_id","description","id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,159 postgres
SELECT "name","id","settings","upload_type","user_id","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,162 postgres
SELECT "settings","upload_type","id","description","name","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 35 ms 1,151 postgres
SELECT "settings","user_id","upload_type","id","name","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,123 postgres
SELECT "description","name","settings","user_id","id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,077 postgres
SELECT "description","name","settings","upload_type","id","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,077 postgres
SELECT "user_id","settings","upload_type","id","description","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,057 postgres
SELECT "description","name","user_id","settings","id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,062 postgres
SELECT "upload_type","id","settings","user_id","name","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 1,041 postgres
SELECT "name","description","settings","id","user_id","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,066 postgres
SELECT "description","settings","upload_type","id","name","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,034 postgres
SELECT "name","upload_type","user_id","settings","id","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 1,008 postgres
SELECT "name","description","id","upload_type","settings","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 959 postgres
SELECT "description","settings","id","upload_type","user_id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 39 ms 948 postgres
SELECT "upload_type","name","id","description","settings","user_id" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 994 postgres
SELECT "upload_type","description","name","user_id","id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 37 ms 931 postgres
SELECT "id","upload_type","user_id","name","description","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 955 postgres
SELECT "name","settings","user_id","upload_type","id","description" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 934 postgres
SELECT "upload_type","description","id","name","user_id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 921 postgres
SELECT "id","upload_type","description","user_id","name","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 910 postgres
SELECT "description","user_id","upload_type","id","name","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 857 postgres
SELECT "id","name","description","upload_type","user_id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 858 postgres
SELECT "user_id","description","id","upload_type","settings","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 861 postgres
SELECT "upload_type","name","description","user_id","id","settings" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 853 postgres
SELECT "id","upload_type","settings","user_id","description","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 892 postgres
SELECT "settings","id","user_id","description","name","upload_type" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 38 ms 808 postgres
SELECT "settings","user_id","upload_type","description","id","name" FROM "configuration" WHERE "user_id"=$1
1 min < 0.1% 36 ms 833 postgres
SELECT "description","name","upload_type","settings","user_id","id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 36 ms 809 postgres
SELECT "user_id","description","name","id","upload_type","settings" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 38 ms 783 postgres
SELECT "upload_type","settings","name","user_id","description","id" FROM "configuration" WHERE "user_id"=$1
0 min < 0.1% 37 ms 783 postgres
SELECT "user_id","description","settings","upload_type","id","name" FROM "configuration" WHERE "user_id"=$1

Details
CREATE INDEX CONCURRENTLY ON upload (created_at)
Rows: 12738224
Row progression: 12738224, 1273823

Row estimates
- created_at (>): 1273823
- created_at (<): 1273823
- email (null): 2865676

Existing indexes
- id PRIMARY
- id WHERE config IS NOT NULL
- task_id
- task_id
- user_id, created_at
- user_id, created_at DESC

to speed up

Total Time Average Time Calls
2,488 min 17% 288,735 ms 517 postgres
SELECT config AS config
        FROM upload
        WHERE email IS NULL AND created_at < NOW() - INTERVAL $1
        AND created_at > NOW() - INTERVAL $2

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
11,608 min 80% 740,139 ms 941 postgres
WITH target AS (
  SELECT u.id
  FROM upload u
  WHERE u.created_at < now() - interval $1
    AND u.config IS NOT NULL
    AND (
      u.config ? $2
      OR u.config ? $3
      OR u.config ? $4
      OR u.config ? $5
      OR u.config ? $6
      OR u.config ? $7
      OR u.config ? $8
      OR u.config ? $9
      OR u.config ? $10
      OR u.config ? $11
      OR u.config ? $12
      OR u.config ? $13
      OR u.config ? $14
      OR u.config ? $15
      OR u.config ? $16
      OR u.config ? $17
      OR u.config ? $18
      OR u.config ? $19
    )
  ORDER BY u.id
  FOR UPDATE SKIP LOCKED
  LIMIT $20
),
computed AS (
  SELECT
    u.id,
    CASE
      WHEN jsonb_typeof(u.config -> $21) = $22 THEN
        jsonb_set(
          (
            u.config
              - $23
              - $24
              - $25
              - $26
              - $27
              - $28
              - $29
              - $30
              - $31
              - $32
              - $33
              - $34
              - $35
              - $36
              - $37
              - $38
              - $39
              - $40
          ),
          $41,
          (
            SELECT jsonb_agg(
              track_elem
                - $42
                - $43
                - $44
                - $45
                - $46
                - $47
                - $48
                - $49
                - $50
                - $51
                - $52
                - $53
                - $54
                - $55
                - $56
                - $57
                - $58
                - $59
                - $60
                - $61
                - $62
                - $63
                - $64
                - $65
                - $66
                - $67
                - $68
                - $69
                - $70
                - $71
                - $72
                - $73
                - $74
                - $75
                - $76
                - $77
                - $78
                - $79
                - $80
                - $81
                - $82
                - $83
                - $84
                - $85
                - $86
                - $87
                - $88
                - $89
            )
            FROM jsonb_array_elements(u.config -> $90) AS track_elem
          ),
          $91
        )
      ELSE
        u.config
          - $92
          - $93
          - $94
          - $95
          - $96
          - $97
          - $98
          - $99
          - $100
          - $101
          - $102
          - $103
          - $104
          - $105
          - $106
          - $107
          - $108
          - $109
    END AS new_config
  FROM upload u
  JOIN target t ON t.id = u.id
)
UPDATE upload u
SET config = c.new_config
FROM computed c
WHERE u.id = c.id
  AND u.config IS DISTINCT FROM c.new_config
Covered by index on (id)
Rows: 12738224
Row progression: 12738224, 1

Row estimates
- id (=): 1
- config (=): 1

Existing indexes
- id PRIMARY
- id WHERE config IS NOT NULL
- task_id
- task_id
- user_id, created_at
- user_id, created_at DESC
2,488 min 17% 288,735 ms 517 postgres
SELECT config AS config
        FROM upload
        WHERE email IS NULL AND created_at < NOW() - INTERVAL $1
        AND created_at > NOW() - INTERVAL $2
Details
CREATE INDEX CONCURRENTLY ON upload (created_at)
Rows: 12738224
Row progression: 12738224, 1273823

Row estimates
- created_at (>): 1273823
- created_at (<): 1273823
- email (null): 2865676

Existing indexes
- id PRIMARY
- id WHERE config IS NOT NULL
- task_id
- task_id
- user_id, created_at
- user_id, created_at DESC
94 min 0.6% 1,889 ms 2,975 readonly_user
SELECT  json_build_object($5, json_build_object($6, COUNT(*), $7, $8 ), $9, coalesce($10, (bool_or($11))::text ) ) AS "root" FROM  (SELECT  $12  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"
36 min 0.2% 1,917 ms 1,124 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"
21 min 0.1% 1,054 ms 1,183 postgres
DELETE FROM "user" WHERE "id"=$1
Covered by index on (id)
Rows: 1255527
Row progression: 1255527, 1

Row estimates
- id (=): 1

Existing indexes
- id PRIMARY
- auth_id
- email
19 min 0.1% 983 ms 1,178 admin
DELETE FROM ONLY "public"."files" WHERE $1 OPERATOR(pg_catalog.=) "user_id"
3 min < 0.1% 37 ms 4,228 postgres
SELECT "upload_type","user_id","settings","id","description","name" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 83960
Row progression: 83960, 2

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 36 ms 1,447 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: 83960
Row progression: 83960, 2

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 36 ms 1,393 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: 83960
Row progression: 83960, 2

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 39 ms 1,178 admin
DELETE FROM ONLY "public"."configuration" WHERE $1 OPERATOR(pg_catalog.=) "user_id"
1 min < 0.1% 35 ms 1,274 postgres
SELECT "user_id","settings","description","name","upload_type","id" FROM "configuration" WHERE "user_id"=$1
Details
CREATE INDEX CONCURRENTLY ON configuration (user_id)
Rows: 83960
Row progression: 83960, 2

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY
1 min < 0.1% 36 ms 1,188 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: 83960
Row progression: 83960, 2

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

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

Row estimates
- user_id (=): 2

Existing indexes
- id PRIMARY