Merge branch '18732-crunch-run-log-uids'
[arvados.git] / services / api / db / structure.sql
1 -- Copyright (C) The Arvados Authors. All rights reserved.
2 --
3 -- SPDX-License-Identifier: AGPL-3.0
4
5 SET statement_timeout = 0;
6 SET client_encoding = 'UTF8';
7 SET standard_conforming_strings = on;
8 SELECT pg_catalog.set_config('search_path', '', false);
9 SET check_function_bodies = false;
10 SET xmloption = content;
11 SET client_min_messages = warning;
12
13 --
14 -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
15 --
16
17 CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
18
19
20 --
21 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
22 --
23
24 -- COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
25
26
27 --
28 -- Name: compute_permission_subgraph(character varying, character varying, integer, character varying); Type: FUNCTION; Schema: public; Owner: -
29 --
30
31 CREATE FUNCTION public.compute_permission_subgraph(perm_origin_uuid character varying, starting_uuid character varying, starting_perm integer, perm_edge_id character varying) RETURNS TABLE(user_uuid character varying, target_uuid character varying, val integer, traverse_owned boolean)
32     LANGUAGE sql STABLE
33     AS $$
34
35 /* The purpose of this function is to compute the permissions for a
36    subgraph of the database, starting from a given edge.  The newly
37    computed permissions are used to add and remove rows from the main
38    permissions table.
39
40    perm_origin_uuid: The object that 'gets' the permission.
41
42    starting_uuid: The starting object the permission applies to.
43
44    starting_perm: The permission that perm_origin_uuid 'has' on
45                   starting_uuid One of 1, 2, 3 for can_read,
46                   can_write, can_manage respectively, or 0 to revoke
47                   permissions.
48
49    perm_edge_id: Identifies the permission edge that is being updated.
50                  Changes of ownership, this is starting_uuid.
51                  For links, this is the uuid of the link object.
52                  This is used to override the edge value in the database
53                  with starting_perm.  This is necessary when revoking
54                  permissions because the update happens before edge is
55                  actually removed.
56 */
57 with
58   /* Starting from starting_uuid, determine the set of objects that
59      could be affected by this permission change.
60
61      Note: We don't traverse users unless it is an "identity"
62      permission (permission origin is self).
63   */
64   perm_from_start(perm_origin_uuid, target_uuid, val, traverse_owned) as (
65     
66 WITH RECURSIVE
67         traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
68             
69              values (perm_origin_uuid, starting_uuid, starting_perm,
70                     should_traverse_owned(starting_uuid, starting_perm),
71                     (perm_origin_uuid = starting_uuid or starting_uuid not like '_____-tpzed-_______________'))
72
73           union
74             (select traverse_graph.origin_uuid,
75                     edges.head_uuid,
76                       least(
77 case (edges.edge_id = perm_edge_id)
78                                when true then starting_perm
79                                else edges.val
80                             end
81 ,
82                             traverse_graph.val),
83                     should_traverse_owned(edges.head_uuid, edges.val),
84                     false
85              from permission_graph_edges as edges, traverse_graph
86              where traverse_graph.target_uuid = edges.tail_uuid
87              and (edges.tail_uuid like '_____-j7d0g-_______________' or
88                   traverse_graph.starting_set)))
89         select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
90         group by (traverse_graph.origin_uuid, target_uuid)
91 ),
92
93   /* Find other inbound edges that grant permissions to 'targets' in
94      perm_from_start, and compute permissions that originate from
95      those.
96
97      This is necessary for two reasons:
98
99        1) Other users may have access to a subset of the objects
100        through other permission links than the one we started from.
101        If we don't recompute them, their permission will get dropped.
102
103        2) There may be more than one path through which a user gets
104        permission to an object.  For example, a user owns a project
105        and also shares it can_read with a group the user belongs
106        to. adding the can_read link must not overwrite the existing
107        can_manage permission granted by ownership.
108   */
109   additional_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
110     
111 WITH RECURSIVE
112         traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
113             
114     select edges.tail_uuid as origin_uuid, edges.head_uuid as target_uuid, edges.val,
115            should_traverse_owned(edges.head_uuid, edges.val),
116            edges.head_uuid like '_____-j7d0g-_______________'
117       from permission_graph_edges as edges
118       where edges.edge_id != perm_edge_id and
119             edges.tail_uuid not in (select target_uuid from perm_from_start where target_uuid like '_____-j7d0g-_______________') and
120             edges.head_uuid in (select target_uuid from perm_from_start)
121
122           union
123             (select traverse_graph.origin_uuid,
124                     edges.head_uuid,
125                       least(
126 case (edges.edge_id = perm_edge_id)
127                                when true then starting_perm
128                                else edges.val
129                             end
130 ,
131                             traverse_graph.val),
132                     should_traverse_owned(edges.head_uuid, edges.val),
133                     false
134              from permission_graph_edges as edges, traverse_graph
135              where traverse_graph.target_uuid = edges.tail_uuid
136              and (edges.tail_uuid like '_____-j7d0g-_______________' or
137                   traverse_graph.starting_set)))
138         select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
139         group by (traverse_graph.origin_uuid, target_uuid)
140 ),
141
142   /* Combine the permissions computed in the first two phases. */
143   all_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
144       select * from perm_from_start
145     union all
146       select * from additional_perms
147   )
148
149   /* The actual query that produces rows to be added or removed
150      from the materialized_permissions table.  This is the clever
151      bit.
152
153      Key insights:
154
155      * For every group, the materialized_permissions lists all users
156        that can access to that group.
157
158      * The all_perms subquery has computed permissions on on a set of
159        objects for all inbound "origins", which are users or groups.
160
161      * Permissions through groups are transitive.
162
163      We can infer:
164
165      1) The materialized_permissions table declares that user X has permission N on group Y
166      2) The all_perms result has determined group Y has permission M on object Z
167      3) Therefore, user X has permission min(N, M) on object Z
168
169      This allows us to efficiently determine the set of users that
170      have permissions on the subset of objects, without having to
171      follow the chain of permission back up to find those users.
172
173      In addition, because users always have permission on themselves, this
174      query also makes sure those permission rows are always
175      returned.
176   */
177   select v.user_uuid, v.target_uuid, max(v.perm_level), bool_or(v.traverse_owned) from
178     (select m.user_uuid,
179          u.target_uuid,
180          least(u.val, m.perm_level) as perm_level,
181          u.traverse_owned
182       from all_perms as u, materialized_permissions as m
183            where u.perm_origin_uuid = m.target_uuid AND m.traverse_owned
184            AND (m.user_uuid = m.target_uuid or m.target_uuid not like '_____-tpzed-_______________')
185     union all
186       select target_uuid as user_uuid, target_uuid, 3, true
187         from all_perms
188         where all_perms.target_uuid like '_____-tpzed-_______________') as v
189     group by v.user_uuid, v.target_uuid
190 $$;
191
192
193 --
194 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
195 --
196
197 CREATE FUNCTION public.project_subtree_with_trash_at(starting_uuid character varying, starting_trash_at timestamp without time zone) RETURNS TABLE(target_uuid character varying, trash_at timestamp without time zone)
198     LANGUAGE sql STABLE
199     AS $$
200 /* Starting from a project, recursively traverse all the projects
201   underneath it and return a set of project uuids and trash_at times
202   (may be null).  The initial trash_at can be a timestamp or null.
203   The trash_at time propagates downward to groups it owns, i.e. when a
204   group is trashed, everything underneath it in the ownership
205   hierarchy is also considered trashed.  However, this is fact is
206   recorded in the trashed_groups table, not by updating trash_at field
207   in the groups table.
208 */
209 WITH RECURSIVE
210         project_subtree(uuid, trash_at) as (
211         values (starting_uuid, starting_trash_at)
212         union
213         select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
214           from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
215         )
216         select uuid, trash_at from project_subtree;
217 $$;
218
219
220 --
221 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
222 --
223
224 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
225     LANGUAGE sql IMMUTABLE
226     AS $$
227 /* Helper function.  Determines if permission on an object implies
228    transitive permission to things the object owns.  This is always
229    true for groups, but only true for users when the permission level
230    is can_manage.
231 */
232 select starting_uuid like '_____-j7d0g-_______________' or
233        (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
234 $$;
235
236
237 SET default_tablespace = '';
238
239 SET default_with_oids = false;
240
241 --
242 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
243 --
244
245 CREATE TABLE public.api_client_authorizations (
246     id integer NOT NULL,
247     api_token character varying(255) NOT NULL,
248     api_client_id integer NOT NULL,
249     user_id integer NOT NULL,
250     created_by_ip_address character varying(255),
251     last_used_by_ip_address character varying(255),
252     last_used_at timestamp without time zone,
253     expires_at timestamp without time zone,
254     created_at timestamp without time zone NOT NULL,
255     updated_at timestamp without time zone NOT NULL,
256     default_owner_uuid character varying(255),
257     scopes text DEFAULT '["all"]'::text,
258     uuid character varying(255) NOT NULL
259 );
260
261
262 --
263 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
264 --
265
266 CREATE SEQUENCE public.api_client_authorizations_id_seq
267     START WITH 1
268     INCREMENT BY 1
269     NO MINVALUE
270     NO MAXVALUE
271     CACHE 1;
272
273
274 --
275 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
276 --
277
278 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
279
280
281 --
282 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
283 --
284
285 CREATE TABLE public.api_clients (
286     id integer NOT NULL,
287     uuid character varying(255),
288     owner_uuid character varying(255),
289     modified_by_client_uuid character varying(255),
290     modified_by_user_uuid character varying(255),
291     modified_at timestamp without time zone,
292     name character varying(255),
293     url_prefix character varying(255),
294     created_at timestamp without time zone NOT NULL,
295     updated_at timestamp without time zone NOT NULL,
296     is_trusted boolean DEFAULT false
297 );
298
299
300 --
301 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
302 --
303
304 CREATE SEQUENCE public.api_clients_id_seq
305     START WITH 1
306     INCREMENT BY 1
307     NO MINVALUE
308     NO MAXVALUE
309     CACHE 1;
310
311
312 --
313 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
314 --
315
316 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
317
318
319 --
320 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
321 --
322
323 CREATE TABLE public.ar_internal_metadata (
324     key character varying NOT NULL,
325     value character varying,
326     created_at timestamp without time zone NOT NULL,
327     updated_at timestamp without time zone NOT NULL
328 );
329
330
331 --
332 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
333 --
334
335 CREATE TABLE public.authorized_keys (
336     id integer NOT NULL,
337     uuid character varying(255) NOT NULL,
338     owner_uuid character varying(255) NOT NULL,
339     modified_by_client_uuid character varying(255),
340     modified_by_user_uuid character varying(255),
341     modified_at timestamp without time zone,
342     name character varying(255),
343     key_type character varying(255),
344     authorized_user_uuid character varying(255),
345     public_key text,
346     expires_at timestamp without time zone,
347     created_at timestamp without time zone NOT NULL,
348     updated_at timestamp without time zone NOT NULL
349 );
350
351
352 --
353 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
354 --
355
356 CREATE SEQUENCE public.authorized_keys_id_seq
357     START WITH 1
358     INCREMENT BY 1
359     NO MINVALUE
360     NO MAXVALUE
361     CACHE 1;
362
363
364 --
365 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
366 --
367
368 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
369
370
371 --
372 -- Name: collections; Type: TABLE; Schema: public; Owner: -
373 --
374
375 CREATE TABLE public.collections (
376     id integer NOT NULL,
377     owner_uuid character varying(255),
378     created_at timestamp without time zone NOT NULL,
379     modified_by_client_uuid character varying(255),
380     modified_by_user_uuid character varying(255),
381     modified_at timestamp without time zone,
382     portable_data_hash character varying(255),
383     replication_desired integer,
384     replication_confirmed_at timestamp without time zone,
385     replication_confirmed integer,
386     updated_at timestamp without time zone NOT NULL,
387     uuid character varying(255),
388     manifest_text text,
389     name character varying(255),
390     description character varying(524288),
391     properties jsonb,
392     delete_at timestamp without time zone,
393     file_names text,
394     trash_at timestamp without time zone,
395     is_trashed boolean DEFAULT false NOT NULL,
396     storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
397     storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
398     storage_classes_confirmed_at timestamp without time zone,
399     current_version_uuid character varying,
400     version integer DEFAULT 1 NOT NULL,
401     preserve_version boolean DEFAULT false,
402     file_count integer DEFAULT 0 NOT NULL,
403     file_size_total bigint DEFAULT 0 NOT NULL
404 );
405
406
407 --
408 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
409 --
410
411 CREATE SEQUENCE public.collections_id_seq
412     START WITH 1
413     INCREMENT BY 1
414     NO MINVALUE
415     NO MAXVALUE
416     CACHE 1;
417
418
419 --
420 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
421 --
422
423 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
424
425
426 --
427 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
428 --
429
430 CREATE TABLE public.container_requests (
431     id integer NOT NULL,
432     uuid character varying(255),
433     owner_uuid character varying(255),
434     created_at timestamp without time zone NOT NULL,
435     modified_at timestamp without time zone,
436     modified_by_client_uuid character varying(255),
437     modified_by_user_uuid character varying(255),
438     name character varying(255),
439     description text,
440     properties jsonb,
441     state character varying(255),
442     requesting_container_uuid character varying(255),
443     container_uuid character varying(255),
444     container_count_max integer,
445     mounts text,
446     runtime_constraints text,
447     container_image character varying(255),
448     environment text,
449     cwd character varying(255),
450     command text,
451     output_path character varying(255),
452     priority integer,
453     expires_at timestamp without time zone,
454     filters text,
455     updated_at timestamp without time zone NOT NULL,
456     container_count integer DEFAULT 0,
457     use_existing boolean DEFAULT true,
458     scheduling_parameters text,
459     output_uuid character varying(255),
460     log_uuid character varying(255),
461     output_name character varying(255) DEFAULT NULL::character varying,
462     output_ttl integer DEFAULT 0 NOT NULL,
463     secret_mounts jsonb DEFAULT '{}'::jsonb,
464     runtime_token text,
465     output_storage_classes jsonb DEFAULT '["default"]'::jsonb
466 );
467
468
469 --
470 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
471 --
472
473 CREATE SEQUENCE public.container_requests_id_seq
474     START WITH 1
475     INCREMENT BY 1
476     NO MINVALUE
477     NO MAXVALUE
478     CACHE 1;
479
480
481 --
482 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
483 --
484
485 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
486
487
488 --
489 -- Name: containers; Type: TABLE; Schema: public; Owner: -
490 --
491
492 CREATE TABLE public.containers (
493     id integer NOT NULL,
494     uuid character varying(255),
495     owner_uuid character varying(255),
496     created_at timestamp without time zone NOT NULL,
497     modified_at timestamp without time zone,
498     modified_by_client_uuid character varying(255),
499     modified_by_user_uuid character varying(255),
500     state character varying(255),
501     started_at timestamp without time zone,
502     finished_at timestamp without time zone,
503     log character varying(255),
504     environment text,
505     cwd character varying(255),
506     command text,
507     output_path character varying(255),
508     mounts text,
509     runtime_constraints text,
510     output character varying(255),
511     container_image character varying(255),
512     progress double precision,
513     priority bigint,
514     updated_at timestamp without time zone NOT NULL,
515     exit_code integer,
516     auth_uuid character varying(255),
517     locked_by_uuid character varying(255),
518     scheduling_parameters text,
519     secret_mounts jsonb DEFAULT '{}'::jsonb,
520     secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
521     runtime_status jsonb DEFAULT '{}'::jsonb,
522     runtime_user_uuid text,
523     runtime_auth_scopes jsonb,
524     runtime_token text,
525     lock_count integer DEFAULT 0 NOT NULL,
526     gateway_address character varying,
527     interactive_session_started boolean DEFAULT false NOT NULL,
528     output_storage_classes jsonb DEFAULT '["default"]'::jsonb
529 );
530
531
532 --
533 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
534 --
535
536 CREATE SEQUENCE public.containers_id_seq
537     START WITH 1
538     INCREMENT BY 1
539     NO MINVALUE
540     NO MAXVALUE
541     CACHE 1;
542
543
544 --
545 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
546 --
547
548 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
549
550
551 --
552 -- Name: groups; Type: TABLE; Schema: public; Owner: -
553 --
554
555 CREATE TABLE public.groups (
556     id integer NOT NULL,
557     uuid character varying(255),
558     owner_uuid character varying(255),
559     created_at timestamp without time zone NOT NULL,
560     modified_by_client_uuid character varying(255),
561     modified_by_user_uuid character varying(255),
562     modified_at timestamp without time zone,
563     name character varying(255) NOT NULL,
564     description character varying(524288),
565     updated_at timestamp without time zone NOT NULL,
566     group_class character varying(255),
567     trash_at timestamp without time zone,
568     is_trashed boolean DEFAULT false NOT NULL,
569     delete_at timestamp without time zone,
570     properties jsonb DEFAULT '{}'::jsonb
571 );
572
573
574 --
575 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
576 --
577
578 CREATE SEQUENCE public.groups_id_seq
579     START WITH 1
580     INCREMENT BY 1
581     NO MINVALUE
582     NO MAXVALUE
583     CACHE 1;
584
585
586 --
587 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
588 --
589
590 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
591
592
593 --
594 -- Name: humans; Type: TABLE; Schema: public; Owner: -
595 --
596
597 CREATE TABLE public.humans (
598     id integer NOT NULL,
599     uuid character varying(255) NOT NULL,
600     owner_uuid character varying(255) NOT NULL,
601     modified_by_client_uuid character varying(255),
602     modified_by_user_uuid character varying(255),
603     modified_at timestamp without time zone,
604     properties text,
605     created_at timestamp without time zone NOT NULL,
606     updated_at timestamp without time zone NOT NULL
607 );
608
609
610 --
611 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
612 --
613
614 CREATE SEQUENCE public.humans_id_seq
615     START WITH 1
616     INCREMENT BY 1
617     NO MINVALUE
618     NO MAXVALUE
619     CACHE 1;
620
621
622 --
623 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
624 --
625
626 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
627
628
629 --
630 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
631 --
632
633 CREATE TABLE public.job_tasks (
634     id integer NOT NULL,
635     uuid character varying(255),
636     owner_uuid character varying(255),
637     modified_by_client_uuid character varying(255),
638     modified_by_user_uuid character varying(255),
639     modified_at timestamp without time zone,
640     job_uuid character varying(255),
641     sequence integer,
642     parameters text,
643     output text,
644     progress double precision,
645     success boolean,
646     created_at timestamp without time zone NOT NULL,
647     updated_at timestamp without time zone NOT NULL,
648     created_by_job_task_uuid character varying(255),
649     qsequence bigint,
650     started_at timestamp without time zone,
651     finished_at timestamp without time zone
652 );
653
654
655 --
656 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
657 --
658
659 CREATE SEQUENCE public.job_tasks_id_seq
660     START WITH 1
661     INCREMENT BY 1
662     NO MINVALUE
663     NO MAXVALUE
664     CACHE 1;
665
666
667 --
668 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
669 --
670
671 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
672
673
674 --
675 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
676 --
677
678 CREATE SEQUENCE public.job_tasks_qsequence_seq
679     START WITH 1
680     INCREMENT BY 1
681     NO MINVALUE
682     NO MAXVALUE
683     CACHE 1;
684
685
686 --
687 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
688 --
689
690 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
691
692
693 --
694 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
695 --
696
697 CREATE TABLE public.jobs (
698     id integer NOT NULL,
699     uuid character varying(255),
700     owner_uuid character varying(255),
701     modified_by_client_uuid character varying(255),
702     modified_by_user_uuid character varying(255),
703     modified_at timestamp without time zone,
704     submit_id character varying(255),
705     script character varying(255),
706     script_version character varying(255),
707     script_parameters text,
708     cancelled_by_client_uuid character varying(255),
709     cancelled_by_user_uuid character varying(255),
710     cancelled_at timestamp without time zone,
711     started_at timestamp without time zone,
712     finished_at timestamp without time zone,
713     running boolean,
714     success boolean,
715     output character varying(255),
716     created_at timestamp without time zone NOT NULL,
717     updated_at timestamp without time zone NOT NULL,
718     is_locked_by_uuid character varying(255),
719     log character varying(255),
720     tasks_summary text,
721     runtime_constraints text,
722     nondeterministic boolean,
723     repository character varying(255),
724     supplied_script_version character varying(255),
725     docker_image_locator character varying(255),
726     priority integer DEFAULT 0 NOT NULL,
727     description character varying(524288),
728     state character varying(255),
729     arvados_sdk_version character varying(255),
730     components text,
731     script_parameters_digest character varying(255)
732 );
733
734
735 --
736 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
737 --
738
739 CREATE SEQUENCE public.jobs_id_seq
740     START WITH 1
741     INCREMENT BY 1
742     NO MINVALUE
743     NO MAXVALUE
744     CACHE 1;
745
746
747 --
748 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
749 --
750
751 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
752
753
754 --
755 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
756 --
757
758 CREATE TABLE public.keep_disks (
759     id integer NOT NULL,
760     uuid character varying(255) NOT NULL,
761     owner_uuid character varying(255) NOT NULL,
762     modified_by_client_uuid character varying(255),
763     modified_by_user_uuid character varying(255),
764     modified_at timestamp without time zone,
765     ping_secret character varying(255) NOT NULL,
766     node_uuid character varying(255),
767     filesystem_uuid character varying(255),
768     bytes_total integer,
769     bytes_free integer,
770     is_readable boolean DEFAULT true NOT NULL,
771     is_writable boolean DEFAULT true NOT NULL,
772     last_read_at timestamp without time zone,
773     last_write_at timestamp without time zone,
774     last_ping_at timestamp without time zone,
775     created_at timestamp without time zone NOT NULL,
776     updated_at timestamp without time zone NOT NULL,
777     keep_service_uuid character varying(255)
778 );
779
780
781 --
782 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
783 --
784
785 CREATE SEQUENCE public.keep_disks_id_seq
786     START WITH 1
787     INCREMENT BY 1
788     NO MINVALUE
789     NO MAXVALUE
790     CACHE 1;
791
792
793 --
794 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
795 --
796
797 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
798
799
800 --
801 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
802 --
803
804 CREATE TABLE public.keep_services (
805     id integer NOT NULL,
806     uuid character varying(255) NOT NULL,
807     owner_uuid character varying(255) NOT NULL,
808     modified_by_client_uuid character varying(255),
809     modified_by_user_uuid character varying(255),
810     modified_at timestamp without time zone,
811     service_host character varying(255),
812     service_port integer,
813     service_ssl_flag boolean,
814     service_type character varying(255),
815     created_at timestamp without time zone NOT NULL,
816     updated_at timestamp without time zone NOT NULL,
817     read_only boolean DEFAULT false NOT NULL
818 );
819
820
821 --
822 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
823 --
824
825 CREATE SEQUENCE public.keep_services_id_seq
826     START WITH 1
827     INCREMENT BY 1
828     NO MINVALUE
829     NO MAXVALUE
830     CACHE 1;
831
832
833 --
834 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
835 --
836
837 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
838
839
840 --
841 -- Name: links; Type: TABLE; Schema: public; Owner: -
842 --
843
844 CREATE TABLE public.links (
845     id integer NOT NULL,
846     uuid character varying(255),
847     owner_uuid character varying(255),
848     created_at timestamp without time zone NOT NULL,
849     modified_by_client_uuid character varying(255),
850     modified_by_user_uuid character varying(255),
851     modified_at timestamp without time zone,
852     tail_uuid character varying(255),
853     link_class character varying(255),
854     name character varying(255),
855     head_uuid character varying(255),
856     properties jsonb,
857     updated_at timestamp without time zone NOT NULL
858 );
859
860
861 --
862 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
863 --
864
865 CREATE SEQUENCE public.links_id_seq
866     START WITH 1
867     INCREMENT BY 1
868     NO MINVALUE
869     NO MAXVALUE
870     CACHE 1;
871
872
873 --
874 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
875 --
876
877 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
878
879
880 --
881 -- Name: logs; Type: TABLE; Schema: public; Owner: -
882 --
883
884 CREATE TABLE public.logs (
885     id integer NOT NULL,
886     uuid character varying(255),
887     owner_uuid character varying(255),
888     modified_by_client_uuid character varying(255),
889     modified_by_user_uuid character varying(255),
890     object_uuid character varying(255),
891     event_at timestamp without time zone,
892     event_type character varying(255),
893     summary text,
894     properties text,
895     created_at timestamp without time zone NOT NULL,
896     updated_at timestamp without time zone NOT NULL,
897     modified_at timestamp without time zone,
898     object_owner_uuid character varying(255)
899 );
900
901
902 --
903 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
904 --
905
906 CREATE SEQUENCE public.logs_id_seq
907     START WITH 1
908     INCREMENT BY 1
909     NO MINVALUE
910     NO MAXVALUE
911     CACHE 1;
912
913
914 --
915 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
916 --
917
918 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
919
920
921 --
922 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
923 --
924
925 CREATE TABLE public.materialized_permissions (
926     user_uuid character varying,
927     target_uuid character varying,
928     perm_level integer,
929     traverse_owned boolean
930 );
931
932
933 --
934 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
935 --
936
937 CREATE TABLE public.nodes (
938     id integer NOT NULL,
939     uuid character varying(255),
940     owner_uuid character varying(255),
941     created_at timestamp without time zone NOT NULL,
942     modified_by_client_uuid character varying(255),
943     modified_by_user_uuid character varying(255),
944     modified_at timestamp without time zone,
945     slot_number integer,
946     hostname character varying(255),
947     domain character varying(255),
948     ip_address character varying(255),
949     first_ping_at timestamp without time zone,
950     last_ping_at timestamp without time zone,
951     info jsonb,
952     updated_at timestamp without time zone NOT NULL,
953     properties jsonb,
954     job_uuid character varying(255)
955 );
956
957
958 --
959 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
960 --
961
962 CREATE SEQUENCE public.nodes_id_seq
963     START WITH 1
964     INCREMENT BY 1
965     NO MINVALUE
966     NO MAXVALUE
967     CACHE 1;
968
969
970 --
971 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
972 --
973
974 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
975
976
977 --
978 -- Name: users; Type: TABLE; Schema: public; Owner: -
979 --
980
981 CREATE TABLE public.users (
982     id integer NOT NULL,
983     uuid character varying(255),
984     owner_uuid character varying(255) NOT NULL,
985     created_at timestamp without time zone NOT NULL,
986     modified_by_client_uuid character varying(255),
987     modified_by_user_uuid character varying(255),
988     modified_at timestamp without time zone,
989     email character varying(255),
990     first_name character varying(255),
991     last_name character varying(255),
992     identity_url character varying(255),
993     is_admin boolean,
994     prefs text,
995     updated_at timestamp without time zone NOT NULL,
996     default_owner_uuid character varying(255),
997     is_active boolean DEFAULT false,
998     username character varying(255),
999     redirect_to_user_uuid character varying
1000 );
1001
1002
1003 --
1004 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1005 --
1006
1007 CREATE VIEW public.permission_graph_edges AS
1008  SELECT groups.owner_uuid AS tail_uuid,
1009     groups.uuid AS head_uuid,
1010     3 AS val,
1011     groups.uuid AS edge_id
1012    FROM public.groups
1013 UNION ALL
1014  SELECT users.owner_uuid AS tail_uuid,
1015     users.uuid AS head_uuid,
1016     3 AS val,
1017     users.uuid AS edge_id
1018    FROM public.users
1019 UNION ALL
1020  SELECT users.uuid AS tail_uuid,
1021     users.uuid AS head_uuid,
1022     3 AS val,
1023     ''::character varying AS edge_id
1024    FROM public.users
1025 UNION ALL
1026  SELECT links.tail_uuid,
1027     links.head_uuid,
1028         CASE
1029             WHEN ((links.name)::text = 'can_read'::text) THEN 1
1030             WHEN ((links.name)::text = 'can_login'::text) THEN 1
1031             WHEN ((links.name)::text = 'can_write'::text) THEN 2
1032             WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1033             ELSE 0
1034         END AS val,
1035     links.uuid AS edge_id
1036    FROM public.links
1037   WHERE ((links.link_class)::text = 'permission'::text);
1038
1039
1040 --
1041 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1042 --
1043
1044 CREATE TABLE public.pipeline_instances (
1045     id integer NOT NULL,
1046     uuid character varying(255),
1047     owner_uuid character varying(255),
1048     created_at timestamp without time zone NOT NULL,
1049     modified_by_client_uuid character varying(255),
1050     modified_by_user_uuid character varying(255),
1051     modified_at timestamp without time zone,
1052     pipeline_template_uuid character varying(255),
1053     name character varying(255),
1054     components text,
1055     updated_at timestamp without time zone NOT NULL,
1056     properties text,
1057     state character varying(255),
1058     components_summary text,
1059     started_at timestamp without time zone,
1060     finished_at timestamp without time zone,
1061     description character varying(524288)
1062 );
1063
1064
1065 --
1066 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1067 --
1068
1069 CREATE SEQUENCE public.pipeline_instances_id_seq
1070     START WITH 1
1071     INCREMENT BY 1
1072     NO MINVALUE
1073     NO MAXVALUE
1074     CACHE 1;
1075
1076
1077 --
1078 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1079 --
1080
1081 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1082
1083
1084 --
1085 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1086 --
1087
1088 CREATE TABLE public.pipeline_templates (
1089     id integer NOT NULL,
1090     uuid character varying(255),
1091     owner_uuid character varying(255),
1092     created_at timestamp without time zone NOT NULL,
1093     modified_by_client_uuid character varying(255),
1094     modified_by_user_uuid character varying(255),
1095     modified_at timestamp without time zone,
1096     name character varying(255),
1097     components text,
1098     updated_at timestamp without time zone NOT NULL,
1099     description character varying(524288)
1100 );
1101
1102
1103 --
1104 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1105 --
1106
1107 CREATE SEQUENCE public.pipeline_templates_id_seq
1108     START WITH 1
1109     INCREMENT BY 1
1110     NO MINVALUE
1111     NO MAXVALUE
1112     CACHE 1;
1113
1114
1115 --
1116 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1117 --
1118
1119 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1120
1121
1122 --
1123 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1124 --
1125
1126 CREATE TABLE public.repositories (
1127     id integer NOT NULL,
1128     uuid character varying(255) NOT NULL,
1129     owner_uuid character varying(255) NOT NULL,
1130     modified_by_client_uuid character varying(255),
1131     modified_by_user_uuid character varying(255),
1132     modified_at timestamp without time zone,
1133     name character varying(255),
1134     created_at timestamp without time zone NOT NULL,
1135     updated_at timestamp without time zone NOT NULL
1136 );
1137
1138
1139 --
1140 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1141 --
1142
1143 CREATE SEQUENCE public.repositories_id_seq
1144     START WITH 1
1145     INCREMENT BY 1
1146     NO MINVALUE
1147     NO MAXVALUE
1148     CACHE 1;
1149
1150
1151 --
1152 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1153 --
1154
1155 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1156
1157
1158 --
1159 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1160 --
1161
1162 CREATE TABLE public.schema_migrations (
1163     version character varying(255) NOT NULL
1164 );
1165
1166
1167 --
1168 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1169 --
1170
1171 CREATE TABLE public.specimens (
1172     id integer NOT NULL,
1173     uuid character varying(255),
1174     owner_uuid character varying(255),
1175     created_at timestamp without time zone NOT NULL,
1176     modified_by_client_uuid character varying(255),
1177     modified_by_user_uuid character varying(255),
1178     modified_at timestamp without time zone,
1179     material character varying(255),
1180     updated_at timestamp without time zone NOT NULL,
1181     properties text
1182 );
1183
1184
1185 --
1186 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1187 --
1188
1189 CREATE SEQUENCE public.specimens_id_seq
1190     START WITH 1
1191     INCREMENT BY 1
1192     NO MINVALUE
1193     NO MAXVALUE
1194     CACHE 1;
1195
1196
1197 --
1198 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1199 --
1200
1201 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1202
1203
1204 --
1205 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1206 --
1207
1208 CREATE TABLE public.traits (
1209     id integer NOT NULL,
1210     uuid character varying(255) NOT NULL,
1211     owner_uuid character varying(255) NOT NULL,
1212     modified_by_client_uuid character varying(255),
1213     modified_by_user_uuid character varying(255),
1214     modified_at timestamp without time zone,
1215     name character varying(255),
1216     properties text,
1217     created_at timestamp without time zone NOT NULL,
1218     updated_at timestamp without time zone NOT NULL
1219 );
1220
1221
1222 --
1223 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1224 --
1225
1226 CREATE SEQUENCE public.traits_id_seq
1227     START WITH 1
1228     INCREMENT BY 1
1229     NO MINVALUE
1230     NO MAXVALUE
1231     CACHE 1;
1232
1233
1234 --
1235 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1236 --
1237
1238 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1239
1240
1241 --
1242 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1243 --
1244
1245 CREATE TABLE public.trashed_groups (
1246     group_uuid character varying,
1247     trash_at timestamp without time zone
1248 );
1249
1250
1251 --
1252 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1253 --
1254
1255 CREATE SEQUENCE public.users_id_seq
1256     START WITH 1
1257     INCREMENT BY 1
1258     NO MINVALUE
1259     NO MAXVALUE
1260     CACHE 1;
1261
1262
1263 --
1264 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1265 --
1266
1267 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1268
1269
1270 --
1271 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1272 --
1273
1274 CREATE TABLE public.virtual_machines (
1275     id integer NOT NULL,
1276     uuid character varying(255) NOT NULL,
1277     owner_uuid character varying(255) NOT NULL,
1278     modified_by_client_uuid character varying(255),
1279     modified_by_user_uuid character varying(255),
1280     modified_at timestamp without time zone,
1281     hostname character varying(255),
1282     created_at timestamp without time zone NOT NULL,
1283     updated_at timestamp without time zone NOT NULL
1284 );
1285
1286
1287 --
1288 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1289 --
1290
1291 CREATE SEQUENCE public.virtual_machines_id_seq
1292     START WITH 1
1293     INCREMENT BY 1
1294     NO MINVALUE
1295     NO MAXVALUE
1296     CACHE 1;
1297
1298
1299 --
1300 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1301 --
1302
1303 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1304
1305
1306 --
1307 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1308 --
1309
1310 CREATE TABLE public.workflows (
1311     id integer NOT NULL,
1312     uuid character varying(255),
1313     owner_uuid character varying(255),
1314     created_at timestamp without time zone NOT NULL,
1315     modified_at timestamp without time zone,
1316     modified_by_client_uuid character varying(255),
1317     modified_by_user_uuid character varying(255),
1318     name character varying(255),
1319     description text,
1320     definition text,
1321     updated_at timestamp without time zone NOT NULL
1322 );
1323
1324
1325 --
1326 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1327 --
1328
1329 CREATE SEQUENCE public.workflows_id_seq
1330     START WITH 1
1331     INCREMENT BY 1
1332     NO MINVALUE
1333     NO MAXVALUE
1334     CACHE 1;
1335
1336
1337 --
1338 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1339 --
1340
1341 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1342
1343
1344 --
1345 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1346 --
1347
1348 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1349
1350
1351 --
1352 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1353 --
1354
1355 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1356
1357
1358 --
1359 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1360 --
1361
1362 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1363
1364
1365 --
1366 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1367 --
1368
1369 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1370
1371
1372 --
1373 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1374 --
1375
1376 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1377
1378
1379 --
1380 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1381 --
1382
1383 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1384
1385
1386 --
1387 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1388 --
1389
1390 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1391
1392
1393 --
1394 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1395 --
1396
1397 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1398
1399
1400 --
1401 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1402 --
1403
1404 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1405
1406
1407 --
1408 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1409 --
1410
1411 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1412
1413
1414 --
1415 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1416 --
1417
1418 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1419
1420
1421 --
1422 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1423 --
1424
1425 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1426
1427
1428 --
1429 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1430 --
1431
1432 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1433
1434
1435 --
1436 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1437 --
1438
1439 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1440
1441
1442 --
1443 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1444 --
1445
1446 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1447
1448
1449 --
1450 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1451 --
1452
1453 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1454
1455
1456 --
1457 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1458 --
1459
1460 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1461
1462
1463 --
1464 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1465 --
1466
1467 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1468
1469
1470 --
1471 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1472 --
1473
1474 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1475
1476
1477 --
1478 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1479 --
1480
1481 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1482
1483
1484 --
1485 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1486 --
1487
1488 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1489
1490
1491 --
1492 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1493 --
1494
1495 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1496
1497
1498 --
1499 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1500 --
1501
1502 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1503
1504
1505 --
1506 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1507 --
1508
1509 ALTER TABLE ONLY public.api_client_authorizations
1510     ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1511
1512
1513 --
1514 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1515 --
1516
1517 ALTER TABLE ONLY public.api_clients
1518     ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1519
1520
1521 --
1522 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1523 --
1524
1525 ALTER TABLE ONLY public.ar_internal_metadata
1526     ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1527
1528
1529 --
1530 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1531 --
1532
1533 ALTER TABLE ONLY public.authorized_keys
1534     ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1535
1536
1537 --
1538 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1539 --
1540
1541 ALTER TABLE ONLY public.collections
1542     ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1543
1544
1545 --
1546 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1547 --
1548
1549 ALTER TABLE ONLY public.container_requests
1550     ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1551
1552
1553 --
1554 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1555 --
1556
1557 ALTER TABLE ONLY public.containers
1558     ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1559
1560
1561 --
1562 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1563 --
1564
1565 ALTER TABLE ONLY public.groups
1566     ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1567
1568
1569 --
1570 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1571 --
1572
1573 ALTER TABLE ONLY public.humans
1574     ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1575
1576
1577 --
1578 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1579 --
1580
1581 ALTER TABLE ONLY public.job_tasks
1582     ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1583
1584
1585 --
1586 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1587 --
1588
1589 ALTER TABLE ONLY public.jobs
1590     ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1591
1592
1593 --
1594 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1595 --
1596
1597 ALTER TABLE ONLY public.keep_disks
1598     ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1599
1600
1601 --
1602 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1603 --
1604
1605 ALTER TABLE ONLY public.keep_services
1606     ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1607
1608
1609 --
1610 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1611 --
1612
1613 ALTER TABLE ONLY public.links
1614     ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1615
1616
1617 --
1618 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1619 --
1620
1621 ALTER TABLE ONLY public.logs
1622     ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1623
1624
1625 --
1626 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1627 --
1628
1629 ALTER TABLE ONLY public.nodes
1630     ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1631
1632
1633 --
1634 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1635 --
1636
1637 ALTER TABLE ONLY public.pipeline_instances
1638     ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1639
1640
1641 --
1642 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1643 --
1644
1645 ALTER TABLE ONLY public.pipeline_templates
1646     ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1647
1648
1649 --
1650 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1651 --
1652
1653 ALTER TABLE ONLY public.repositories
1654     ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1655
1656
1657 --
1658 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1659 --
1660
1661 ALTER TABLE ONLY public.specimens
1662     ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1663
1664
1665 --
1666 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1667 --
1668
1669 ALTER TABLE ONLY public.traits
1670     ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1671
1672
1673 --
1674 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1675 --
1676
1677 ALTER TABLE ONLY public.users
1678     ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1679
1680
1681 --
1682 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1683 --
1684
1685 ALTER TABLE ONLY public.virtual_machines
1686     ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1687
1688
1689 --
1690 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1691 --
1692
1693 ALTER TABLE ONLY public.workflows
1694     ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1695
1696
1697 --
1698 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1699 --
1700
1701 CREATE INDEX api_client_authorizations_search_index ON public.api_client_authorizations USING btree (api_token, created_by_ip_address, last_used_by_ip_address, default_owner_uuid, uuid);
1702
1703
1704 --
1705 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1706 --
1707
1708 CREATE INDEX api_clients_search_index ON public.api_clients USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, url_prefix);
1709
1710
1711 --
1712 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1713 --
1714
1715 CREATE INDEX authorized_keys_search_index ON public.authorized_keys USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, key_type, authorized_user_uuid);
1716
1717
1718 --
1719 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1720 --
1721
1722 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1723
1724
1725 --
1726 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1727 --
1728
1729 CREATE INDEX collections_search_index ON public.collections USING btree (owner_uuid, modified_by_client_uuid, modified_by_user_uuid, portable_data_hash, uuid, name, current_version_uuid);
1730
1731
1732 --
1733 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1734 --
1735
1736 CREATE INDEX collections_trgm_text_search_idx ON public.collections USING gin (((((((((((((((((((COALESCE(owner_uuid, ''::character varying))::text || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(portable_data_hash, ''::character varying))::text) || ' '::text) || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || COALESCE((properties)::text, ''::text)) || ' '::text) || COALESCE(file_names, ''::text))) public.gin_trgm_ops);
1737
1738
1739 --
1740 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1741 --
1742
1743 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1744
1745
1746 --
1747 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1748 --
1749
1750 CREATE INDEX container_requests_search_index ON public.container_requests USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, state, requesting_container_uuid, container_uuid, container_image, cwd, output_path, output_uuid, log_uuid, output_name);
1751
1752
1753 --
1754 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1755 --
1756
1757 CREATE INDEX container_requests_trgm_text_search_idx ON public.container_requests USING gin (((((((((((((((((((((((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(description, ''::text)) || ' '::text) || COALESCE((properties)::text, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(requesting_container_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(container_uuid, ''::character varying))::text) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(container_image, ''::character varying))::text) || ' '::text) || COALESCE(environment, ''::text)) || ' '::text) || (COALESCE(cwd, ''::character varying))::text) || ' '::text) || COALESCE(command, ''::text)) || ' '::text) || (COALESCE(output_path, ''::character varying))::text) || ' '::text) || COALESCE(filters, ''::text)) || ' '::text) || COALESCE(scheduling_parameters, ''::text)) || ' '::text) || (COALESCE(output_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(log_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(output_name, ''::character varying))::text)) public.gin_trgm_ops);
1758
1759
1760 --
1761 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1762 --
1763
1764 CREATE INDEX containers_search_index ON public.containers USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, state, log, cwd, output_path, output, container_image, auth_uuid, locked_by_uuid);
1765
1766
1767 --
1768 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1769 --
1770
1771 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1772
1773
1774 --
1775 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1776 --
1777
1778 CREATE INDEX groups_search_index ON public.groups USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, group_class);
1779
1780
1781 --
1782 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1783 --
1784
1785 CREATE INDEX groups_trgm_text_search_idx ON public.groups USING gin (((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(group_class, ''::character varying))::text) || ' '::text) || COALESCE((properties)::text, ''::text))) public.gin_trgm_ops);
1786
1787
1788 --
1789 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1790 --
1791
1792 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1793
1794
1795 --
1796 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1797 --
1798
1799 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1800
1801
1802 --
1803 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1804 --
1805
1806 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1807
1808
1809 --
1810 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1811 --
1812
1813 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1814
1815
1816 --
1817 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1818 --
1819
1820 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1821
1822
1823 --
1824 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1825 --
1826
1827 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1828
1829
1830 --
1831 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1832 --
1833
1834 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1835
1836
1837 --
1838 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1839 --
1840
1841 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
1842
1843
1844 --
1845 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1846 --
1847
1848 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
1849
1850
1851 --
1852 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
1853 --
1854
1855 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
1856
1857
1858 --
1859 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
1860 --
1861
1862 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
1863
1864
1865 --
1866 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1867 --
1868
1869 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
1870
1871
1872 --
1873 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
1874 --
1875
1876 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
1877
1878
1879 --
1880 -- Name: index_collections_on_created_at; Type: INDEX; Schema: public; Owner: -
1881 --
1882
1883 CREATE INDEX index_collections_on_created_at ON public.collections USING btree (created_at);
1884
1885
1886 --
1887 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
1888 --
1889
1890 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
1891
1892
1893 --
1894 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
1895 --
1896
1897 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
1898
1899
1900 --
1901 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
1902 --
1903
1904 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
1905
1906
1907 --
1908 -- Name: index_collections_on_modified_at; Type: INDEX; Schema: public; Owner: -
1909 --
1910
1911 CREATE INDEX index_collections_on_modified_at ON public.collections USING btree (modified_at);
1912
1913
1914 --
1915 -- Name: index_collections_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
1916 --
1917
1918 CREATE INDEX index_collections_on_modified_at_uuid ON public.collections USING btree (modified_at DESC, uuid);
1919
1920
1921 --
1922 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1923 --
1924
1925 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
1926
1927
1928 --
1929 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
1930 --
1931
1932 CREATE UNIQUE INDEX index_collections_on_owner_uuid_and_name ON public.collections USING btree (owner_uuid, name) WHERE ((is_trashed = false) AND ((current_version_uuid)::text = (uuid)::text));
1933
1934
1935 --
1936 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
1937 --
1938
1939 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
1940
1941
1942 --
1943 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
1944 --
1945
1946 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
1947
1948
1949 --
1950 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
1951 --
1952
1953 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
1954
1955
1956 --
1957 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
1958 --
1959
1960 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
1961
1962
1963 --
1964 -- Name: index_container_requests_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
1965 --
1966
1967 CREATE INDEX index_container_requests_on_modified_at_uuid ON public.container_requests USING btree (modified_at DESC, uuid);
1968
1969
1970 --
1971 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1972 --
1973
1974 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
1975
1976
1977 --
1978 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
1979 --
1980
1981 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
1982
1983
1984 --
1985 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
1986 --
1987
1988 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
1989
1990
1991 --
1992 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
1993 --
1994
1995 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
1996
1997
1998 --
1999 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2000 --
2001
2002 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2003
2004
2005 --
2006 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2007 --
2008
2009 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2010
2011
2012 --
2013 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2014 --
2015
2016 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2017
2018
2019 --
2020 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2021 --
2022
2023 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2024
2025
2026 --
2027 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2028 --
2029
2030 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2031
2032
2033 --
2034 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2035 --
2036
2037 CREATE INDEX index_containers_on_reuse_columns ON public.containers USING btree (md5(command), cwd, md5(environment), output_path, container_image, md5(mounts), secret_mounts_md5, md5(runtime_constraints));
2038
2039
2040 --
2041 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2042 --
2043
2044 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2045
2046
2047 --
2048 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2049 --
2050
2051 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2052
2053
2054 --
2055 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2056 --
2057
2058 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2059
2060
2061 --
2062 -- Name: index_groups_on_created_at; Type: INDEX; Schema: public; Owner: -
2063 --
2064
2065 CREATE INDEX index_groups_on_created_at ON public.groups USING btree (created_at);
2066
2067
2068 --
2069 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2070 --
2071
2072 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2073
2074
2075 --
2076 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2077 --
2078
2079 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2080
2081
2082 --
2083 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2084 --
2085
2086 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2087
2088
2089 --
2090 -- Name: index_groups_on_modified_at; Type: INDEX; Schema: public; Owner: -
2091 --
2092
2093 CREATE INDEX index_groups_on_modified_at ON public.groups USING btree (modified_at);
2094
2095
2096 --
2097 -- Name: index_groups_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2098 --
2099
2100 CREATE INDEX index_groups_on_modified_at_uuid ON public.groups USING btree (modified_at DESC, uuid);
2101
2102
2103 --
2104 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2105 --
2106
2107 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2108
2109
2110 --
2111 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2112 --
2113
2114 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2115
2116
2117 --
2118 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2119 --
2120
2121 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2122
2123
2124 --
2125 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2126 --
2127
2128 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2129
2130
2131 --
2132 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2133 --
2134
2135 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2136
2137
2138 --
2139 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2140 --
2141
2142 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2143
2144
2145 --
2146 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2147 --
2148
2149 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2150
2151
2152 --
2153 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2154 --
2155
2156 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2157
2158
2159 --
2160 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2161 --
2162
2163 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2164
2165
2166 --
2167 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2168 --
2169
2170 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2171
2172
2173 --
2174 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2175 --
2176
2177 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2178
2179
2180 --
2181 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2182 --
2183
2184 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2185
2186
2187 --
2188 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2189 --
2190
2191 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2192
2193
2194 --
2195 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2196 --
2197
2198 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2199
2200
2201 --
2202 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2203 --
2204
2205 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2206
2207
2208 --
2209 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2210 --
2211
2212 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2213
2214
2215 --
2216 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2217 --
2218
2219 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2220
2221
2222 --
2223 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2224 --
2225
2226 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2227
2228
2229 --
2230 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2231 --
2232
2233 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2234
2235
2236 --
2237 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2238 --
2239
2240 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2241
2242
2243 --
2244 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2245 --
2246
2247 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2248
2249
2250 --
2251 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2252 --
2253
2254 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2255
2256
2257 --
2258 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2259 --
2260
2261 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2262
2263
2264 --
2265 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2266 --
2267
2268 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2269
2270
2271 --
2272 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2273 --
2274
2275 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2276
2277
2278 --
2279 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2280 --
2281
2282 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2283
2284
2285 --
2286 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2287 --
2288
2289 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2290
2291
2292 --
2293 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2294 --
2295
2296 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2297
2298
2299 --
2300 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2301 --
2302
2303 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2304
2305
2306 --
2307 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2308 --
2309
2310 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2311
2312
2313 --
2314 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2315 --
2316
2317 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2318
2319
2320 --
2321 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2322 --
2323
2324 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2325
2326
2327 --
2328 -- Name: index_links_on_created_at; Type: INDEX; Schema: public; Owner: -
2329 --
2330
2331 CREATE INDEX index_links_on_created_at ON public.links USING btree (created_at);
2332
2333
2334 --
2335 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2336 --
2337
2338 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2339
2340
2341 --
2342 -- Name: index_links_on_modified_at; Type: INDEX; Schema: public; Owner: -
2343 --
2344
2345 CREATE INDEX index_links_on_modified_at ON public.links USING btree (modified_at);
2346
2347
2348 --
2349 -- Name: index_links_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2350 --
2351
2352 CREATE INDEX index_links_on_modified_at_uuid ON public.links USING btree (modified_at DESC, uuid);
2353
2354
2355 --
2356 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2357 --
2358
2359 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2360
2361
2362 --
2363 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2364 --
2365
2366 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2367
2368
2369 --
2370 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2371 --
2372
2373 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2374
2375
2376 --
2377 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2378 --
2379
2380 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2381
2382
2383 --
2384 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2385 --
2386
2387 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2388
2389
2390 --
2391 -- Name: index_logs_on_created_at; Type: INDEX; Schema: public; Owner: -
2392 --
2393
2394 CREATE INDEX index_logs_on_created_at ON public.logs USING btree (created_at);
2395
2396
2397 --
2398 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2399 --
2400
2401 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2402
2403
2404 --
2405 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2406 --
2407
2408 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2409
2410
2411 --
2412 -- Name: index_logs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2413 --
2414
2415 CREATE INDEX index_logs_on_modified_at ON public.logs USING btree (modified_at);
2416
2417
2418 --
2419 -- Name: index_logs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2420 --
2421
2422 CREATE INDEX index_logs_on_modified_at_uuid ON public.logs USING btree (modified_at DESC, uuid);
2423
2424
2425 --
2426 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2427 --
2428
2429 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2430
2431
2432 --
2433 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2434 --
2435
2436 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2437
2438
2439 --
2440 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2441 --
2442
2443 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2444
2445
2446 --
2447 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2448 --
2449
2450 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2451
2452
2453 --
2454 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2455 --
2456
2457 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2458
2459
2460 --
2461 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2462 --
2463
2464 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2465
2466
2467 --
2468 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2469 --
2470
2471 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2472
2473
2474 --
2475 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2476 --
2477
2478 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2479
2480
2481 --
2482 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2483 --
2484
2485 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2486
2487
2488 --
2489 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2490 --
2491
2492 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2493
2494
2495 --
2496 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2497 --
2498
2499 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2500
2501
2502 --
2503 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2504 --
2505
2506 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2507
2508
2509 --
2510 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2511 --
2512
2513 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2514
2515
2516 --
2517 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2518 --
2519
2520 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2521
2522
2523 --
2524 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2525 --
2526
2527 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2528
2529
2530 --
2531 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2532 --
2533
2534 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2535
2536
2537 --
2538 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2539 --
2540
2541 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2542
2543
2544 --
2545 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2546 --
2547
2548 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2549
2550
2551 --
2552 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2553 --
2554
2555 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2556
2557
2558 --
2559 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2560 --
2561
2562 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2563
2564
2565 --
2566 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2567 --
2568
2569 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2570
2571
2572 --
2573 -- Name: index_repositories_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2574 --
2575
2576 CREATE INDEX index_repositories_on_modified_at_uuid ON public.repositories USING btree (modified_at DESC, uuid);
2577
2578
2579 --
2580 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2581 --
2582
2583 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2584
2585
2586 --
2587 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2588 --
2589
2590 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2591
2592
2593 --
2594 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2595 --
2596
2597 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2598
2599
2600 --
2601 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2602 --
2603
2604 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2605
2606
2607 --
2608 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2609 --
2610
2611 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2612
2613
2614 --
2615 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2616 --
2617
2618 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2619
2620
2621 --
2622 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2623 --
2624
2625 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2626
2627
2628 --
2629 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2630 --
2631
2632 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2633
2634
2635 --
2636 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2637 --
2638
2639 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2640
2641
2642 --
2643 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2644 --
2645
2646 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2647
2648
2649 --
2650 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2651 --
2652
2653 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2654
2655
2656 --
2657 -- Name: index_users_on_created_at; Type: INDEX; Schema: public; Owner: -
2658 --
2659
2660 CREATE INDEX index_users_on_created_at ON public.users USING btree (created_at);
2661
2662
2663 --
2664 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2665 --
2666
2667 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2668
2669
2670 --
2671 -- Name: index_users_on_modified_at; Type: INDEX; Schema: public; Owner: -
2672 --
2673
2674 CREATE INDEX index_users_on_modified_at ON public.users USING btree (modified_at);
2675
2676
2677 --
2678 -- Name: index_users_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2679 --
2680
2681 CREATE INDEX index_users_on_modified_at_uuid ON public.users USING btree (modified_at DESC, uuid);
2682
2683
2684 --
2685 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2686 --
2687
2688 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2689
2690
2691 --
2692 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2693 --
2694
2695 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2696
2697
2698 --
2699 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2700 --
2701
2702 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2703
2704
2705 --
2706 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2707 --
2708
2709 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2710
2711
2712 --
2713 -- Name: index_virtual_machines_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2714 --
2715
2716 CREATE INDEX index_virtual_machines_on_modified_at_uuid ON public.virtual_machines USING btree (modified_at DESC, uuid);
2717
2718
2719 --
2720 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2721 --
2722
2723 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2724
2725
2726 --
2727 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2728 --
2729
2730 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2731
2732
2733 --
2734 -- Name: index_workflows_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2735 --
2736
2737 CREATE INDEX index_workflows_on_modified_at_uuid ON public.workflows USING btree (modified_at DESC, uuid);
2738
2739
2740 --
2741 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2742 --
2743
2744 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2745
2746
2747 --
2748 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2749 --
2750
2751 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2752
2753
2754 --
2755 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2756 --
2757
2758 CREATE INDEX job_tasks_search_index ON public.job_tasks USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, job_uuid, created_by_job_task_uuid);
2759
2760
2761 --
2762 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2763 --
2764
2765 CREATE INDEX jobs_search_index ON public.jobs USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, submit_id, script, script_version, cancelled_by_client_uuid, cancelled_by_user_uuid, output, is_locked_by_uuid, log, repository, supplied_script_version, docker_image_locator, state, arvados_sdk_version);
2766
2767
2768 --
2769 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2770 --
2771
2772 CREATE INDEX jobs_trgm_text_search_idx ON public.jobs USING gin (((((((((((((((((((((((((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(submit_id, ''::character varying))::text) || ' '::text) || (COALESCE(script, ''::character varying))::text) || ' '::text) || (COALESCE(script_version, ''::character varying))::text) || ' '::text) || COALESCE(script_parameters, ''::text)) || ' '::text) || (COALESCE(cancelled_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(cancelled_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(output, ''::character varying))::text) || ' '::text) || (COALESCE(is_locked_by_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(log, ''::character varying))::text) || ' '::text) || COALESCE(tasks_summary, ''::text)) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(repository, ''::character varying))::text) || ' '::text) || (COALESCE(supplied_script_version, ''::character varying))::text) || ' '::text) || (COALESCE(docker_image_locator, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(arvados_sdk_version, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text))) public.gin_trgm_ops);
2773
2774
2775 --
2776 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2777 --
2778
2779 CREATE INDEX keep_disks_search_index ON public.keep_disks USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, ping_secret, node_uuid, filesystem_uuid, keep_service_uuid);
2780
2781
2782 --
2783 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2784 --
2785
2786 CREATE INDEX keep_services_search_index ON public.keep_services USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, service_host, service_type);
2787
2788
2789 --
2790 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
2791 --
2792
2793 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
2794
2795
2796 --
2797 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
2798 --
2799
2800 CREATE INDEX links_search_index ON public.links USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, tail_uuid, link_class, name, head_uuid);
2801
2802
2803 --
2804 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
2805 --
2806
2807 CREATE UNIQUE INDEX links_tail_name_unique_if_link_class_name ON public.links USING btree (tail_uuid, name) WHERE ((link_class)::text = 'name'::text);
2808
2809
2810 --
2811 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
2812 --
2813
2814 CREATE INDEX logs_search_index ON public.logs USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, object_uuid, event_type, object_owner_uuid);
2815
2816
2817 --
2818 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
2819 --
2820
2821 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
2822
2823
2824 --
2825 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
2826 --
2827
2828 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
2829
2830
2831 --
2832 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
2833 --
2834
2835 CREATE INDEX nodes_search_index ON public.nodes USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname, domain, ip_address, job_uuid);
2836
2837
2838 --
2839 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
2840 --
2841
2842 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
2843
2844
2845 --
2846 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
2847 --
2848
2849 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
2850
2851
2852 --
2853 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
2854 --
2855
2856 CREATE INDEX pipeline_instances_search_index ON public.pipeline_instances USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, pipeline_template_uuid, name, state);
2857
2858
2859 --
2860 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2861 --
2862
2863 CREATE INDEX pipeline_instances_trgm_text_search_idx ON public.pipeline_instances USING gin (((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(pipeline_template_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || COALESCE(properties, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || COALESCE(components_summary, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text)) public.gin_trgm_ops);
2864
2865
2866 --
2867 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
2868 --
2869
2870 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
2871
2872
2873 --
2874 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
2875 --
2876
2877 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2878
2879
2880 --
2881 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2882 --
2883
2884 CREATE INDEX pipeline_templates_trgm_text_search_idx ON public.pipeline_templates USING gin (((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text)) public.gin_trgm_ops);
2885
2886
2887 --
2888 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
2889 --
2890
2891 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2892
2893
2894 --
2895 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
2896 --
2897
2898 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
2899
2900
2901 --
2902 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
2903 --
2904
2905 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2906
2907
2908 --
2909 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
2910 --
2911
2912 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
2913
2914
2915 --
2916 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
2917 --
2918
2919 CREATE INDEX users_search_index ON public.users USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, email, first_name, last_name, identity_url, default_owner_uuid, username, redirect_to_user_uuid);
2920
2921
2922 --
2923 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
2924 --
2925
2926 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
2927
2928
2929 --
2930 -- Name: workflows_search_idx; Type: INDEX; Schema: public; Owner: -
2931 --
2932
2933 CREATE INDEX workflows_search_idx ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2934
2935
2936 --
2937 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2938 --
2939
2940 CREATE INDEX workflows_trgm_text_search_idx ON public.workflows USING gin (((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(description, ''::text))) public.gin_trgm_ops);
2941
2942
2943 --
2944 -- PostgreSQL database dump complete
2945 --
2946
2947 SET search_path TO "$user", public;
2948
2949 INSERT INTO "schema_migrations" (version) VALUES
2950 ('20121016005009'),
2951 ('20130105203021'),
2952 ('20130105224358'),
2953 ('20130105224618'),
2954 ('20130107181109'),
2955 ('20130107212832'),
2956 ('20130109175700'),
2957 ('20130109220548'),
2958 ('20130113214204'),
2959 ('20130116024233'),
2960 ('20130116215213'),
2961 ('20130118002239'),
2962 ('20130122020042'),
2963 ('20130122201442'),
2964 ('20130122221616'),
2965 ('20130123174514'),
2966 ('20130123180224'),
2967 ('20130123180228'),
2968 ('20130125220425'),
2969 ('20130128202518'),
2970 ('20130128231343'),
2971 ('20130130205749'),
2972 ('20130203104818'),
2973 ('20130203104824'),
2974 ('20130203115329'),
2975 ('20130207195855'),
2976 ('20130218181504'),
2977 ('20130226170000'),
2978 ('20130313175417'),
2979 ('20130315155820'),
2980 ('20130315183626'),
2981 ('20130315213205'),
2982 ('20130318002138'),
2983 ('20130319165853'),
2984 ('20130319180730'),
2985 ('20130319194637'),
2986 ('20130319201431'),
2987 ('20130319235957'),
2988 ('20130320000107'),
2989 ('20130326173804'),
2990 ('20130326182917'),
2991 ('20130415020241'),
2992 ('20130425024459'),
2993 ('20130425214427'),
2994 ('20130523060112'),
2995 ('20130523060213'),
2996 ('20130524042319'),
2997 ('20130528134100'),
2998 ('20130606183519'),
2999 ('20130608053730'),
3000 ('20130610202538'),
3001 ('20130611163736'),
3002 ('20130612042554'),
3003 ('20130617150007'),
3004 ('20130626002829'),
3005 ('20130626022810'),
3006 ('20130627154537'),
3007 ('20130627184333'),
3008 ('20130708163414'),
3009 ('20130708182912'),
3010 ('20130708185153'),
3011 ('20130724153034'),
3012 ('20131007180607'),
3013 ('20140117231056'),
3014 ('20140124222114'),
3015 ('20140129184311'),
3016 ('20140317135600'),
3017 ('20140319160547'),
3018 ('20140321191343'),
3019 ('20140324024606'),
3020 ('20140325175653'),
3021 ('20140402001908'),
3022 ('20140407184311'),
3023 ('20140421140924'),
3024 ('20140421151939'),
3025 ('20140421151940'),
3026 ('20140422011506'),
3027 ('20140423132913'),
3028 ('20140423133559'),
3029 ('20140501165548'),
3030 ('20140519205916'),
3031 ('20140527152921'),
3032 ('20140530200539'),
3033 ('20140601022548'),
3034 ('20140602143352'),
3035 ('20140607150616'),
3036 ('20140611173003'),
3037 ('20140627210837'),
3038 ('20140709172343'),
3039 ('20140714184006'),
3040 ('20140811184643'),
3041 ('20140817035914'),
3042 ('20140818125735'),
3043 ('20140826180337'),
3044 ('20140828141043'),
3045 ('20140909183946'),
3046 ('20140911221252'),
3047 ('20140918141529'),
3048 ('20140918153541'),
3049 ('20140918153705'),
3050 ('20140924091559'),
3051 ('20141111133038'),
3052 ('20141208164553'),
3053 ('20141208174553'),
3054 ('20141208174653'),
3055 ('20141208185217'),
3056 ('20150122175935'),
3057 ('20150123142953'),
3058 ('20150203180223'),
3059 ('20150206210804'),
3060 ('20150206230342'),
3061 ('20150216193428'),
3062 ('20150303210106'),
3063 ('20150312151136'),
3064 ('20150317132720'),
3065 ('20150324152204'),
3066 ('20150423145759'),
3067 ('20150512193020'),
3068 ('20150526180251'),
3069 ('20151202151426'),
3070 ('20151215134304'),
3071 ('20151229214707'),
3072 ('20160208210629'),
3073 ('20160209155729'),
3074 ('20160324144017'),
3075 ('20160506175108'),
3076 ('20160509143250'),
3077 ('20160808151559'),
3078 ('20160819195557'),
3079 ('20160819195725'),
3080 ('20160901210110'),
3081 ('20160909181442'),
3082 ('20160926194129'),
3083 ('20161019171346'),
3084 ('20161111143147'),
3085 ('20161115171221'),
3086 ('20161115174218'),
3087 ('20161213172944'),
3088 ('20161222153434'),
3089 ('20161223090712'),
3090 ('20170102153111'),
3091 ('20170105160301'),
3092 ('20170105160302'),
3093 ('20170216170823'),
3094 ('20170301225558'),
3095 ('20170319063406'),
3096 ('20170328215436'),
3097 ('20170330012505'),
3098 ('20170419173031'),
3099 ('20170419173712'),
3100 ('20170419175801'),
3101 ('20170628185847'),
3102 ('20170704160233'),
3103 ('20170706141334'),
3104 ('20170824202826'),
3105 ('20170906224040'),
3106 ('20171027183824'),
3107 ('20171208203841'),
3108 ('20171212153352'),
3109 ('20180216203422'),
3110 ('20180228220311'),
3111 ('20180313180114'),
3112 ('20180501182859'),
3113 ('20180514135529'),
3114 ('20180607175050'),
3115 ('20180608123145'),
3116 ('20180806133039'),
3117 ('20180820130357'),
3118 ('20180820132617'),
3119 ('20180820135808'),
3120 ('20180824152014'),
3121 ('20180824155207'),
3122 ('20180904110712'),
3123 ('20180913175443'),
3124 ('20180915155335'),
3125 ('20180917200000'),
3126 ('20180917205609'),
3127 ('20180919001158'),
3128 ('20181001175023'),
3129 ('20181004131141'),
3130 ('20181005192222'),
3131 ('20181011184200'),
3132 ('20181213183234'),
3133 ('20190214214814'),
3134 ('20190322174136'),
3135 ('20190422144631'),
3136 ('20190523180148'),
3137 ('20190808145904'),
3138 ('20190809135453'),
3139 ('20190905151603'),
3140 ('20200501150153'),
3141 ('20200602141328'),
3142 ('20200914203202'),
3143 ('20201103170213'),
3144 ('20201105190435'),
3145 ('20201202174753'),
3146 ('20210108033940'),
3147 ('20210126183521'),
3148 ('20210621204455'),
3149 ('20210816191509'),
3150 ('20211027154300');
3151
3152