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