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