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