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