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