1 -- Copyright (C) The Arvados Authors. All rights reserved.
3 -- SPDX-License-Identifier: AGPL-3.0
5 SET statement_timeout = 0;
7 SET idle_in_transaction_session_timeout = 0;
8 SET client_encoding = 'UTF8';
9 SET standard_conforming_strings = on;
10 SELECT pg_catalog.set_config('search_path', '', false);
11 SET check_function_bodies = false;
12 SET xmloption = content;
13 SET client_min_messages = warning;
14 SET row_security = off;
17 -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
20 CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
24 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
26 -- "COMMENT ON EXTENSION" should remain commented out. The problem is
27 -- that the extension might have been separately created/installed and
28 -- that's fine because "CREATE EXTENSION IF NOT EXISTS" is a no-op in
29 -- that case, but then the package might not have permission to add a
30 -- comment on the extension, which will cause database initialization
31 -- to fail. Since it doesnt't have any functional purpose, don't do
32 -- it. I'm leaving the line here because so that future developers
33 -- will know not to uncomment it & break stuff like I just did.
35 -- COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
39 -- Name: compute_permission_subgraph(character varying, character varying, integer, character varying); Type: FUNCTION; Schema: public; Owner: -
42 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)
46 /* The purpose of this function is to compute the permissions for a
47 subgraph of the database, starting from a given edge. The newly
48 computed permissions are used to add and remove rows from the main
51 perm_origin_uuid: The object that 'gets' the permission.
53 starting_uuid: The starting object the permission applies to.
55 starting_perm: The permission that perm_origin_uuid 'has' on
56 starting_uuid One of 1, 2, 3 for can_read,
57 can_write, can_manage respectively, or 0 to revoke
60 perm_edge_id: Identifies the permission edge that is being updated.
61 Changes of ownership, this is starting_uuid.
62 For links, this is the uuid of the link object.
63 This is used to override the edge value in the database
64 with starting_perm. This is necessary when revoking
65 permissions because the update happens before edge is
69 /* Starting from starting_uuid, determine the set of objects that
70 could be affected by this permission change.
72 Note: We don't traverse users unless it is an "identity"
73 permission (permission origin is self).
75 perm_from_start(perm_origin_uuid, target_uuid, val, traverse_owned) as (
78 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
80 values (perm_origin_uuid, starting_uuid, starting_perm,
81 should_traverse_owned(starting_uuid, starting_perm),
82 (perm_origin_uuid = starting_uuid or starting_uuid not like '_____-tpzed-_______________'))
85 (select traverse_graph.origin_uuid,
88 case (edges.edge_id = perm_edge_id)
89 when true then starting_perm
94 should_traverse_owned(edges.head_uuid, edges.val),
96 from permission_graph_edges as edges, traverse_graph
97 where traverse_graph.target_uuid = edges.tail_uuid
98 and (edges.tail_uuid like '_____-j7d0g-_______________' or
99 traverse_graph.starting_set)))
100 select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
101 group by (traverse_graph.origin_uuid, target_uuid)
104 /* Find other inbound edges that grant permissions to 'targets' in
105 perm_from_start, and compute permissions that originate from
108 This is necessary for two reasons:
110 1) Other users may have access to a subset of the objects
111 through other permission links than the one we started from.
112 If we don't recompute them, their permission will get dropped.
114 2) There may be more than one path through which a user gets
115 permission to an object. For example, a user owns a project
116 and also shares it can_read with a group the user belongs
117 to. adding the can_read link must not overwrite the existing
118 can_manage permission granted by ownership.
120 additional_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
123 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
125 select edges.tail_uuid as origin_uuid, edges.head_uuid as target_uuid, edges.val,
126 should_traverse_owned(edges.head_uuid, edges.val),
127 edges.head_uuid like '_____-j7d0g-_______________'
128 from permission_graph_edges as edges
129 where edges.edge_id != perm_edge_id and
130 edges.tail_uuid not in (select target_uuid from perm_from_start where target_uuid like '_____-j7d0g-_______________') and
131 edges.head_uuid in (select target_uuid from perm_from_start)
134 (select traverse_graph.origin_uuid,
137 case (edges.edge_id = perm_edge_id)
138 when true then starting_perm
143 should_traverse_owned(edges.head_uuid, edges.val),
145 from permission_graph_edges as edges, traverse_graph
146 where traverse_graph.target_uuid = edges.tail_uuid
147 and (edges.tail_uuid like '_____-j7d0g-_______________' or
148 traverse_graph.starting_set)))
149 select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
150 group by (traverse_graph.origin_uuid, target_uuid)
153 /* Combine the permissions computed in the first two phases. */
154 all_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
155 select * from perm_from_start
157 select * from additional_perms
160 /* The actual query that produces rows to be added or removed
161 from the materialized_permissions table. This is the clever
166 * For every group, the materialized_permissions lists all users
167 that can access to that group.
169 * The all_perms subquery has computed permissions on on a set of
170 objects for all inbound "origins", which are users or groups.
172 * Permissions through groups are transitive.
176 1) The materialized_permissions table declares that user X has permission N on group Y
177 2) The all_perms result has determined group Y has permission M on object Z
178 3) Therefore, user X has permission min(N, M) on object Z
180 This allows us to efficiently determine the set of users that
181 have permissions on the subset of objects, without having to
182 follow the chain of permission back up to find those users.
184 In addition, because users always have permission on themselves, this
185 query also makes sure those permission rows are always
188 select v.user_uuid, v.target_uuid, max(v.perm_level), bool_or(v.traverse_owned) from
191 least(u.val, m.perm_level) as perm_level,
193 from all_perms as u, materialized_permissions as m
194 where u.perm_origin_uuid = m.target_uuid AND m.traverse_owned
195 AND (m.user_uuid = m.target_uuid or m.target_uuid not like '_____-tpzed-_______________')
197 select target_uuid as user_uuid, target_uuid, 3, true
199 where all_perms.target_uuid like '_____-tpzed-_______________') as v
200 group by v.user_uuid, v.target_uuid
205 -- Name: container_priority(character varying, bigint, character varying); Type: FUNCTION; Schema: public; Owner: -
208 CREATE FUNCTION public.container_priority(for_container_uuid character varying, inherited bigint, inherited_from character varying) RETURNS bigint
211 /* Determine the priority of an individual container.
212 The "inherited" priority comes from the path we followed from the root, the parent container
213 priority hasn't been updated in the table yet but we need to behave it like it has been.
215 select coalesce(max(case when containers.uuid = inherited_from then inherited
216 when containers.priority is not NULL then containers.priority
217 else container_requests.priority * 1125899906842624::bigint - (extract(epoch from container_requests.created_at)*1000)::bigint
219 container_requests left outer join containers on container_requests.requesting_container_uuid = containers.uuid
220 where container_requests.container_uuid = for_container_uuid and
221 container_requests.state = 'Committed' and
222 container_requests.priority > 0 and
223 container_requests.owner_uuid not in (select group_uuid from trashed_groups);
228 -- Name: container_tree(character varying); Type: FUNCTION; Schema: public; Owner: -
231 CREATE FUNCTION public.container_tree(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying)
234 /* A lighter weight version of the update_priorities query that only returns the containers in a tree,
235 used by SELECT FOR UPDATE.
237 with recursive tab(upd_container_uuid) as (
238 select for_container_uuid
240 select containers.uuid
241 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
242 join containers on child_requests.container_uuid = containers.uuid
243 where containers.state in ('Queued', 'Locked', 'Running')
245 select upd_container_uuid from tab;
250 -- Name: container_tree_priorities(character varying); Type: FUNCTION; Schema: public; Owner: -
253 CREATE FUNCTION public.container_tree_priorities(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying, upd_priority bigint)
256 /* Calculate the priorities of all containers starting from for_container_uuid.
257 This traverses the process tree downward and calls container_priority for each container
258 and returns a table of container uuids and their new priorities.
260 with recursive tab(upd_container_uuid, upd_priority) as (
261 select for_container_uuid, container_priority(for_container_uuid, 0, '')
263 select containers.uuid, container_priority(containers.uuid, child_requests.upd_priority, child_requests.upd_container_uuid)
264 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
265 join containers on child_requests.container_uuid = containers.uuid
266 where containers.state in ('Queued', 'Locked', 'Running')
268 select upd_container_uuid, upd_priority from tab;
273 -- Name: jsonb_exists_all_inline_op(jsonb, text[]); Type: FUNCTION; Schema: public; Owner: -
276 CREATE FUNCTION public.jsonb_exists_all_inline_op(jsonb, text[]) RETURNS boolean
277 LANGUAGE sql IMMUTABLE
278 AS $_$SELECT $1 ?& $2$_$;
282 -- Name: jsonb_exists_inline_op(jsonb, text); Type: FUNCTION; Schema: public; Owner: -
285 CREATE FUNCTION public.jsonb_exists_inline_op(jsonb, text) RETURNS boolean
286 LANGUAGE sql IMMUTABLE
287 AS $_$SELECT $1 ? $2$_$;
291 -- Name: project_subtree_with_is_frozen(character varying, boolean); Type: FUNCTION; Schema: public; Owner: -
294 CREATE FUNCTION public.project_subtree_with_is_frozen(starting_uuid character varying, starting_is_frozen boolean) RETURNS TABLE(uuid character varying, is_frozen boolean)
298 project_subtree(uuid, is_frozen) as (
299 values (starting_uuid, starting_is_frozen)
301 select groups.uuid, project_subtree.is_frozen or groups.frozen_by_uuid is not null
302 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
304 select uuid, is_frozen from project_subtree;
309 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
312 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)
315 /* Starting from a project, recursively traverse all the projects
316 underneath it and return a set of project uuids and trash_at times
317 (may be null). The initial trash_at can be a timestamp or null.
318 The trash_at time propagates downward to groups it owns, i.e. when a
319 group is trashed, everything underneath it in the ownership
320 hierarchy is also considered trashed. However, this is fact is
321 recorded in the trashed_groups table, not by updating trash_at field
325 project_subtree(uuid, trash_at) as (
326 values (starting_uuid, starting_trash_at)
328 select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
329 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
331 select uuid, trash_at from project_subtree;
336 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
339 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
340 LANGUAGE sql IMMUTABLE
342 /* Helper function. Determines if permission on an object implies
343 transitive permission to things the object owns. This is always
344 true for groups, but only true for users when the permission level
347 select starting_uuid like '_____-j7d0g-_______________' or
348 (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
352 SET default_tablespace = '';
354 SET default_table_access_method = heap;
357 -- Name: groups; Type: TABLE; Schema: public; Owner: -
360 CREATE TABLE public.groups (
362 uuid character varying(255),
363 owner_uuid character varying(255),
364 created_at timestamp without time zone NOT NULL,
365 modified_by_client_uuid character varying(255),
366 modified_by_user_uuid character varying(255),
367 modified_at timestamp without time zone,
368 name character varying(255) NOT NULL,
369 description character varying(524288),
370 updated_at timestamp without time zone NOT NULL,
371 group_class character varying(255),
372 trash_at timestamp without time zone,
373 is_trashed boolean DEFAULT false NOT NULL,
374 delete_at timestamp without time zone,
375 properties jsonb DEFAULT '{}'::jsonb,
376 frozen_by_uuid character varying
381 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
384 CREATE TABLE public.api_client_authorizations (
386 api_token character varying(255) NOT NULL,
387 api_client_id bigint DEFAULT 0 NOT NULL,
388 user_id bigint NOT NULL,
389 created_by_ip_address character varying(255),
390 last_used_by_ip_address character varying(255),
391 last_used_at timestamp without time zone,
392 expires_at timestamp without time zone,
393 created_at timestamp without time zone NOT NULL,
394 updated_at timestamp without time zone NOT NULL,
395 default_owner_uuid character varying(255),
396 scopes text DEFAULT '["all"]'::text,
397 uuid character varying(255) NOT NULL,
398 refreshes_at timestamp without time zone
403 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
406 CREATE SEQUENCE public.api_client_authorizations_id_seq
415 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
418 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
422 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
425 CREATE TABLE public.api_clients (
427 uuid character varying(255),
428 owner_uuid character varying(255),
429 modified_by_client_uuid character varying(255),
430 modified_by_user_uuid character varying(255),
431 modified_at timestamp without time zone,
432 name character varying(255),
433 url_prefix character varying(255),
434 created_at timestamp without time zone NOT NULL,
435 updated_at timestamp without time zone NOT NULL,
436 is_trusted boolean DEFAULT false
441 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
444 CREATE SEQUENCE public.api_clients_id_seq
453 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
456 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
460 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
463 CREATE TABLE public.ar_internal_metadata (
464 key character varying NOT NULL,
465 value character varying,
466 created_at timestamp without time zone NOT NULL,
467 updated_at timestamp without time zone NOT NULL
472 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
475 CREATE TABLE public.authorized_keys (
477 uuid character varying(255) NOT NULL,
478 owner_uuid character varying(255) NOT NULL,
479 modified_by_client_uuid character varying(255),
480 modified_by_user_uuid character varying(255),
481 modified_at timestamp without time zone,
482 name character varying(255),
483 key_type character varying(255),
484 authorized_user_uuid character varying(255),
486 expires_at timestamp without time zone,
487 created_at timestamp without time zone NOT NULL,
488 updated_at timestamp without time zone NOT NULL
493 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
496 CREATE SEQUENCE public.authorized_keys_id_seq
505 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
508 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
512 -- Name: collections; Type: TABLE; Schema: public; Owner: -
515 CREATE TABLE public.collections (
517 owner_uuid character varying(255),
518 created_at timestamp without time zone NOT NULL,
519 modified_by_client_uuid character varying(255),
520 modified_by_user_uuid character varying(255),
521 modified_at timestamp without time zone,
522 portable_data_hash character varying(255),
523 replication_desired integer,
524 replication_confirmed_at timestamp without time zone,
525 replication_confirmed integer,
526 updated_at timestamp without time zone NOT NULL,
527 uuid character varying(255),
529 name character varying(255),
530 description character varying(524288),
532 delete_at timestamp without time zone,
534 trash_at timestamp without time zone,
535 is_trashed boolean DEFAULT false NOT NULL,
536 storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
537 storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
538 storage_classes_confirmed_at timestamp without time zone,
539 current_version_uuid character varying,
540 version integer DEFAULT 1 NOT NULL,
541 preserve_version boolean DEFAULT false,
542 file_count integer DEFAULT 0 NOT NULL,
543 file_size_total bigint DEFAULT 0 NOT NULL
548 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
551 CREATE SEQUENCE public.collections_id_seq
560 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
563 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
567 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
570 CREATE TABLE public.container_requests (
572 uuid character varying(255),
573 owner_uuid character varying(255),
574 created_at timestamp without time zone NOT NULL,
575 modified_at timestamp without time zone,
576 modified_by_client_uuid character varying(255),
577 modified_by_user_uuid character varying(255),
578 name character varying(255),
581 state character varying(255),
582 requesting_container_uuid character varying(255),
583 container_uuid character varying(255),
584 container_count_max integer,
586 runtime_constraints text,
587 container_image character varying(255),
589 cwd character varying(255),
591 output_path character varying(255),
593 expires_at timestamp without time zone,
595 updated_at timestamp without time zone NOT NULL,
596 container_count integer DEFAULT 0,
597 use_existing boolean DEFAULT true,
598 scheduling_parameters text,
599 output_uuid character varying(255),
600 log_uuid character varying(255),
601 output_name character varying(255) DEFAULT NULL::character varying,
602 output_ttl integer DEFAULT 0 NOT NULL,
603 secret_mounts jsonb DEFAULT '{}'::jsonb,
605 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
606 output_properties jsonb DEFAULT '{}'::jsonb,
607 cumulative_cost double precision DEFAULT 0.0 NOT NULL,
608 output_glob text DEFAULT '[]'::text,
609 service boolean DEFAULT false NOT NULL,
610 published_ports jsonb DEFAULT '{}'::jsonb
615 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
618 CREATE SEQUENCE public.container_requests_id_seq
627 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
630 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
634 -- Name: containers; Type: TABLE; Schema: public; Owner: -
637 CREATE TABLE public.containers (
639 uuid character varying(255),
640 owner_uuid character varying(255),
641 created_at timestamp without time zone NOT NULL,
642 modified_at timestamp without time zone,
643 modified_by_client_uuid character varying(255),
644 modified_by_user_uuid character varying(255),
645 state character varying(255),
646 started_at timestamp without time zone,
647 finished_at timestamp without time zone,
648 log character varying(255),
650 cwd character varying(255),
652 output_path character varying(255),
654 runtime_constraints text,
655 output character varying(255),
656 container_image character varying(255),
657 progress double precision,
659 updated_at timestamp without time zone NOT NULL,
661 auth_uuid character varying(255),
662 locked_by_uuid character varying(255),
663 scheduling_parameters text,
664 secret_mounts jsonb DEFAULT '{}'::jsonb,
665 secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
666 runtime_status jsonb DEFAULT '{}'::jsonb,
667 runtime_user_uuid text,
668 runtime_auth_scopes jsonb,
670 lock_count integer DEFAULT 0 NOT NULL,
671 gateway_address character varying,
672 interactive_session_started boolean DEFAULT false NOT NULL,
673 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
674 output_properties jsonb DEFAULT '{}'::jsonb,
675 cost double precision DEFAULT 0.0 NOT NULL,
676 subrequests_cost double precision DEFAULT 0.0 NOT NULL,
677 output_glob text DEFAULT '[]'::text,
678 service boolean DEFAULT false NOT NULL,
679 published_ports jsonb DEFAULT '{}'::jsonb
684 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
687 CREATE SEQUENCE public.containers_id_seq
696 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
699 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
703 -- Name: frozen_groups; Type: TABLE; Schema: public; Owner: -
706 CREATE TABLE public.frozen_groups (
707 uuid character varying
712 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
715 CREATE SEQUENCE public.groups_id_seq
724 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
727 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
731 -- Name: humans; Type: TABLE; Schema: public; Owner: -
734 CREATE TABLE public.humans (
736 uuid character varying(255) NOT NULL,
737 owner_uuid character varying(255) NOT NULL,
738 modified_by_client_uuid character varying(255),
739 modified_by_user_uuid character varying(255),
740 modified_at timestamp without time zone,
742 created_at timestamp without time zone NOT NULL,
743 updated_at timestamp without time zone NOT NULL
748 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
751 CREATE SEQUENCE public.humans_id_seq
760 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
763 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
767 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
770 CREATE TABLE public.job_tasks (
772 uuid character varying(255),
773 owner_uuid character varying(255),
774 modified_by_client_uuid character varying(255),
775 modified_by_user_uuid character varying(255),
776 modified_at timestamp without time zone,
777 job_uuid character varying(255),
781 progress double precision,
783 created_at timestamp without time zone NOT NULL,
784 updated_at timestamp without time zone NOT NULL,
785 created_by_job_task_uuid character varying(255),
787 started_at timestamp without time zone,
788 finished_at timestamp without time zone
793 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
796 CREATE SEQUENCE public.job_tasks_id_seq
805 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
808 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
812 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
815 CREATE SEQUENCE public.job_tasks_qsequence_seq
824 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
827 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
831 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
834 CREATE TABLE public.jobs (
836 uuid character varying(255),
837 owner_uuid character varying(255),
838 modified_by_client_uuid character varying(255),
839 modified_by_user_uuid character varying(255),
840 modified_at timestamp without time zone,
841 submit_id character varying(255),
842 script character varying(255),
843 script_version character varying(255),
844 script_parameters text,
845 cancelled_by_client_uuid character varying(255),
846 cancelled_by_user_uuid character varying(255),
847 cancelled_at timestamp without time zone,
848 started_at timestamp without time zone,
849 finished_at timestamp without time zone,
852 output character varying(255),
853 created_at timestamp without time zone NOT NULL,
854 updated_at timestamp without time zone NOT NULL,
855 is_locked_by_uuid character varying(255),
856 log character varying(255),
858 runtime_constraints text,
859 nondeterministic boolean,
860 repository character varying(255),
861 supplied_script_version character varying(255),
862 docker_image_locator character varying(255),
863 priority integer DEFAULT 0 NOT NULL,
864 description character varying(524288),
865 state character varying(255),
866 arvados_sdk_version character varying(255),
868 script_parameters_digest character varying(255)
873 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
876 CREATE SEQUENCE public.jobs_id_seq
885 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
888 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
892 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
895 CREATE TABLE public.keep_disks (
897 uuid character varying(255) NOT NULL,
898 owner_uuid character varying(255) NOT NULL,
899 modified_by_client_uuid character varying(255),
900 modified_by_user_uuid character varying(255),
901 modified_at timestamp without time zone,
902 ping_secret character varying(255) NOT NULL,
903 node_uuid character varying(255),
904 filesystem_uuid character varying(255),
907 is_readable boolean DEFAULT true NOT NULL,
908 is_writable boolean DEFAULT true NOT NULL,
909 last_read_at timestamp without time zone,
910 last_write_at timestamp without time zone,
911 last_ping_at timestamp without time zone,
912 created_at timestamp without time zone NOT NULL,
913 updated_at timestamp without time zone NOT NULL,
914 keep_service_uuid character varying(255)
919 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
922 CREATE SEQUENCE public.keep_disks_id_seq
931 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
934 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
938 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
941 CREATE TABLE public.keep_services (
943 uuid character varying(255) NOT NULL,
944 owner_uuid character varying(255) NOT NULL,
945 modified_by_client_uuid character varying(255),
946 modified_by_user_uuid character varying(255),
947 modified_at timestamp without time zone,
948 service_host character varying(255),
949 service_port integer,
950 service_ssl_flag boolean,
951 service_type character varying(255),
952 created_at timestamp without time zone NOT NULL,
953 updated_at timestamp without time zone NOT NULL,
954 read_only boolean DEFAULT false NOT NULL
959 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
962 CREATE SEQUENCE public.keep_services_id_seq
971 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
974 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
978 -- Name: links; Type: TABLE; Schema: public; Owner: -
981 CREATE TABLE public.links (
983 uuid character varying(255),
984 owner_uuid character varying(255),
985 created_at timestamp without time zone NOT NULL,
986 modified_by_client_uuid character varying(255),
987 modified_by_user_uuid character varying(255),
988 modified_at timestamp without time zone,
989 tail_uuid character varying(255),
990 link_class character varying(255),
991 name character varying(255),
992 head_uuid character varying(255),
994 updated_at timestamp without time zone NOT NULL
999 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1002 CREATE SEQUENCE public.links_id_seq
1011 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1014 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
1018 -- Name: logs; Type: TABLE; Schema: public; Owner: -
1021 CREATE TABLE public.logs (
1023 uuid character varying(255),
1024 owner_uuid character varying(255),
1025 modified_by_client_uuid character varying(255),
1026 modified_by_user_uuid character varying(255),
1027 object_uuid character varying(255),
1028 event_at timestamp without time zone,
1029 event_type character varying(255),
1032 created_at timestamp without time zone NOT NULL,
1033 updated_at timestamp without time zone NOT NULL,
1034 modified_at timestamp without time zone,
1035 object_owner_uuid character varying(255)
1040 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1043 CREATE SEQUENCE public.logs_id_seq
1052 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1055 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
1059 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
1062 CREATE TABLE public.materialized_permissions (
1063 user_uuid character varying,
1064 target_uuid character varying,
1066 traverse_owned boolean
1071 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
1074 CREATE TABLE public.nodes (
1076 uuid character varying(255),
1077 owner_uuid character varying(255),
1078 created_at timestamp without time zone NOT NULL,
1079 modified_by_client_uuid character varying(255),
1080 modified_by_user_uuid character varying(255),
1081 modified_at timestamp without time zone,
1082 slot_number integer,
1083 hostname character varying(255),
1084 domain character varying(255),
1085 ip_address character varying(255),
1086 first_ping_at timestamp without time zone,
1087 last_ping_at timestamp without time zone,
1089 updated_at timestamp without time zone NOT NULL,
1091 job_uuid character varying(255)
1096 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1099 CREATE SEQUENCE public.nodes_id_seq
1108 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1111 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
1115 -- Name: users; Type: TABLE; Schema: public; Owner: -
1118 CREATE TABLE public.users (
1120 uuid character varying(255),
1121 owner_uuid character varying(255) NOT NULL,
1122 created_at timestamp without time zone NOT NULL,
1123 modified_by_client_uuid character varying(255),
1124 modified_by_user_uuid character varying(255),
1125 modified_at timestamp without time zone,
1126 email character varying(255),
1127 first_name character varying(255),
1128 last_name character varying(255),
1129 identity_url character varying(255),
1132 updated_at timestamp without time zone NOT NULL,
1133 default_owner_uuid character varying(255),
1134 is_active boolean DEFAULT false,
1135 username character varying(255),
1136 redirect_to_user_uuid character varying
1141 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1144 CREATE VIEW public.permission_graph_edges AS
1145 SELECT groups.owner_uuid AS tail_uuid,
1146 groups.uuid AS head_uuid,
1148 groups.uuid AS edge_id
1151 SELECT users.owner_uuid AS tail_uuid,
1152 users.uuid AS head_uuid,
1154 users.uuid AS edge_id
1157 SELECT users.uuid AS tail_uuid,
1158 users.uuid AS head_uuid,
1160 ''::character varying AS edge_id
1163 SELECT links.tail_uuid,
1166 WHEN ((links.name)::text = 'can_read'::text) THEN 1
1167 WHEN ((links.name)::text = 'can_login'::text) THEN 1
1168 WHEN ((links.name)::text = 'can_write'::text) THEN 2
1169 WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1172 links.uuid AS edge_id
1174 WHERE ((links.link_class)::text = 'permission'::text);
1178 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1181 CREATE TABLE public.pipeline_instances (
1183 uuid character varying(255),
1184 owner_uuid character varying(255),
1185 created_at timestamp without time zone NOT NULL,
1186 modified_by_client_uuid character varying(255),
1187 modified_by_user_uuid character varying(255),
1188 modified_at timestamp without time zone,
1189 pipeline_template_uuid character varying(255),
1190 name character varying(255),
1192 updated_at timestamp without time zone NOT NULL,
1194 state character varying(255),
1195 components_summary text,
1196 started_at timestamp without time zone,
1197 finished_at timestamp without time zone,
1198 description character varying(524288)
1203 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1206 CREATE SEQUENCE public.pipeline_instances_id_seq
1215 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1218 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1222 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1225 CREATE TABLE public.pipeline_templates (
1227 uuid character varying(255),
1228 owner_uuid character varying(255),
1229 created_at timestamp without time zone NOT NULL,
1230 modified_by_client_uuid character varying(255),
1231 modified_by_user_uuid character varying(255),
1232 modified_at timestamp without time zone,
1233 name character varying(255),
1235 updated_at timestamp without time zone NOT NULL,
1236 description character varying(524288)
1241 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1244 CREATE SEQUENCE public.pipeline_templates_id_seq
1253 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1256 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1260 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1263 CREATE TABLE public.repositories (
1265 uuid character varying(255) NOT NULL,
1266 owner_uuid character varying(255) NOT NULL,
1267 modified_by_client_uuid character varying(255),
1268 modified_by_user_uuid character varying(255),
1269 modified_at timestamp without time zone,
1270 name character varying(255),
1271 created_at timestamp without time zone NOT NULL,
1272 updated_at timestamp without time zone NOT NULL
1277 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1280 CREATE SEQUENCE public.repositories_id_seq
1289 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1292 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1296 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1299 CREATE TABLE public.schema_migrations (
1300 version character varying(255) NOT NULL
1305 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1308 CREATE TABLE public.specimens (
1310 uuid character varying(255),
1311 owner_uuid character varying(255),
1312 created_at timestamp without time zone NOT NULL,
1313 modified_by_client_uuid character varying(255),
1314 modified_by_user_uuid character varying(255),
1315 modified_at timestamp without time zone,
1316 material character varying(255),
1317 updated_at timestamp without time zone NOT NULL,
1323 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1326 CREATE SEQUENCE public.specimens_id_seq
1335 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1338 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1342 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1345 CREATE TABLE public.traits (
1347 uuid character varying(255) NOT NULL,
1348 owner_uuid character varying(255) NOT NULL,
1349 modified_by_client_uuid character varying(255),
1350 modified_by_user_uuid character varying(255),
1351 modified_at timestamp without time zone,
1352 name character varying(255),
1354 created_at timestamp without time zone NOT NULL,
1355 updated_at timestamp without time zone NOT NULL
1360 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1363 CREATE SEQUENCE public.traits_id_seq
1372 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1375 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1379 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1382 CREATE TABLE public.trashed_groups (
1383 group_uuid character varying,
1384 trash_at timestamp without time zone
1389 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1392 CREATE SEQUENCE public.users_id_seq
1401 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1404 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1408 -- Name: uuid_locks; Type: TABLE; Schema: public; Owner: -
1411 CREATE TABLE public.uuid_locks (
1412 uuid character varying NOT NULL,
1413 n integer DEFAULT 0 NOT NULL
1418 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1421 CREATE TABLE public.virtual_machines (
1423 uuid character varying(255) NOT NULL,
1424 owner_uuid character varying(255) NOT NULL,
1425 modified_by_client_uuid character varying(255),
1426 modified_by_user_uuid character varying(255),
1427 modified_at timestamp without time zone,
1428 hostname character varying(255),
1429 created_at timestamp without time zone NOT NULL,
1430 updated_at timestamp without time zone NOT NULL
1435 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1438 CREATE SEQUENCE public.virtual_machines_id_seq
1447 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1450 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1454 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1457 CREATE TABLE public.workflows (
1459 uuid character varying(255),
1460 owner_uuid character varying(255),
1461 created_at timestamp without time zone NOT NULL,
1462 modified_at timestamp without time zone,
1463 modified_by_client_uuid character varying(255),
1464 modified_by_user_uuid character varying(255),
1465 name character varying(255),
1468 updated_at timestamp without time zone NOT NULL,
1469 collection_uuid character varying
1474 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1477 CREATE SEQUENCE public.workflows_id_seq
1486 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1489 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1493 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1496 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1500 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1503 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1507 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1510 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1514 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1517 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1521 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1524 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1528 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1531 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1535 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1538 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1542 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1545 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1549 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1552 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1556 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1559 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1563 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1566 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1570 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1573 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1577 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1580 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1584 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1587 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1591 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1594 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1598 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1601 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1605 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1608 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1612 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1615 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1619 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1622 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1626 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1629 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1633 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1636 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1640 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1643 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1647 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1650 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1654 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1657 ALTER TABLE ONLY public.api_client_authorizations
1658 ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1662 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1665 ALTER TABLE ONLY public.api_clients
1666 ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1670 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1673 ALTER TABLE ONLY public.ar_internal_metadata
1674 ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1678 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1681 ALTER TABLE ONLY public.authorized_keys
1682 ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1686 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1689 ALTER TABLE ONLY public.collections
1690 ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1694 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1697 ALTER TABLE ONLY public.container_requests
1698 ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1702 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1705 ALTER TABLE ONLY public.containers
1706 ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1710 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1713 ALTER TABLE ONLY public.groups
1714 ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1718 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1721 ALTER TABLE ONLY public.humans
1722 ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1726 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1729 ALTER TABLE ONLY public.job_tasks
1730 ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1734 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1737 ALTER TABLE ONLY public.jobs
1738 ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1742 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1745 ALTER TABLE ONLY public.keep_disks
1746 ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1750 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1753 ALTER TABLE ONLY public.keep_services
1754 ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1758 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1761 ALTER TABLE ONLY public.links
1762 ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1766 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1769 ALTER TABLE ONLY public.logs
1770 ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1774 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1777 ALTER TABLE ONLY public.nodes
1778 ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1782 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1785 ALTER TABLE ONLY public.pipeline_instances
1786 ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1790 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1793 ALTER TABLE ONLY public.pipeline_templates
1794 ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1798 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1801 ALTER TABLE ONLY public.repositories
1802 ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1806 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1809 ALTER TABLE ONLY public.specimens
1810 ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1814 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1817 ALTER TABLE ONLY public.traits
1818 ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1822 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1825 ALTER TABLE ONLY public.users
1826 ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1830 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1833 ALTER TABLE ONLY public.virtual_machines
1834 ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1838 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1841 ALTER TABLE ONLY public.workflows
1842 ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1846 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1849 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);
1853 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1856 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);
1860 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1863 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);
1867 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1870 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1874 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1877 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);
1881 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1884 CREATE INDEX collections_trgm_text_search_idx ON public.collections USING gin (((((((((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);
1888 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1891 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1895 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1898 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);
1902 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1905 CREATE INDEX container_requests_trgm_text_search_idx ON public.container_requests USING gin (((((((((((((((((((((((((((COALESCE(name, ''::character varying))::text || ' '::text) || COALESCE(description, ''::text)) || ' '::text) || COALESCE((properties)::text, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || COALESCE(runtime_constraints, ''::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_name, ''::character varying))::text) || ' '::text) || COALESCE((output_properties)::text, ''::text))) public.gin_trgm_ops);
1909 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1912 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);
1916 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1919 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1923 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1926 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);
1930 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1933 CREATE INDEX groups_trgm_text_search_idx ON public.groups USING gin (((((((((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);
1937 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1940 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1944 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1947 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1951 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1954 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1958 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1961 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1965 -- Name: index_api_client_authorizations_on_refreshes_at; Type: INDEX; Schema: public; Owner: -
1968 CREATE INDEX index_api_client_authorizations_on_refreshes_at ON public.api_client_authorizations USING btree (refreshes_at);
1972 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1975 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1979 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1982 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1986 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1989 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1993 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1996 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
2000 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2003 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
2007 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
2010 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
2014 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
2017 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
2021 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2024 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
2028 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
2031 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
2035 -- Name: index_collections_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2038 CREATE INDEX index_collections_on_created_at_and_uuid ON public.collections USING btree (created_at, uuid);
2042 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
2045 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
2049 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
2052 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
2056 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2059 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
2063 -- Name: index_collections_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2066 CREATE INDEX index_collections_on_modified_at_and_uuid ON public.collections USING btree (modified_at, uuid);
2070 -- Name: index_collections_on_name; Type: INDEX; Schema: public; Owner: -
2073 CREATE INDEX index_collections_on_name ON public.collections USING gin (name public.gin_trgm_ops);
2077 -- Name: index_collections_on_name_btree; Type: INDEX; Schema: public; Owner: -
2080 CREATE INDEX index_collections_on_name_btree ON public.collections USING btree (name);
2084 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2087 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
2091 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2094 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));
2098 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
2101 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
2105 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
2108 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
2112 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
2115 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
2119 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
2122 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
2126 -- Name: index_container_requests_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2129 CREATE INDEX index_container_requests_on_created_at_and_uuid ON public.container_requests USING btree (created_at, uuid);
2133 -- Name: index_container_requests_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2136 CREATE INDEX index_container_requests_on_modified_at_and_uuid ON public.container_requests USING btree (modified_at, uuid);
2140 -- Name: index_container_requests_on_name_and_owner_uuid; Type: INDEX; Schema: public; Owner: -
2143 CREATE INDEX index_container_requests_on_name_and_owner_uuid ON public.container_requests USING btree (name, owner_uuid);
2147 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2150 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
2154 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
2157 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
2161 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
2164 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
2168 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
2171 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
2175 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2178 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2182 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2185 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2189 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2192 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2196 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2199 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2203 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2206 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2210 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2213 CREATE INDEX index_containers_on_reuse_columns ON public.containers USING btree (md5(command), cwd, md5(environment), output_path, md5(output_glob), container_image, md5(mounts), secret_mounts_md5, md5(runtime_constraints));
2217 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2220 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2224 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2227 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2231 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2234 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2238 -- Name: index_frozen_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2241 CREATE UNIQUE INDEX index_frozen_groups_on_uuid ON public.frozen_groups USING btree (uuid);
2245 -- Name: index_groups_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2248 CREATE INDEX index_groups_on_created_at_and_uuid ON public.groups USING btree (created_at, uuid);
2252 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2255 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2259 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2262 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2266 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2269 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2273 -- Name: index_groups_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2276 CREATE INDEX index_groups_on_modified_at_and_uuid ON public.groups USING btree (modified_at, uuid);
2280 -- Name: index_groups_on_name; Type: INDEX; Schema: public; Owner: -
2283 CREATE INDEX index_groups_on_name ON public.groups USING gin (name public.gin_trgm_ops);
2287 -- Name: index_groups_on_name_btree; Type: INDEX; Schema: public; Owner: -
2290 CREATE INDEX index_groups_on_name_btree ON public.groups USING btree (name);
2294 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2297 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2301 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2304 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2308 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2311 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2315 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2318 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2322 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2325 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2329 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2332 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2336 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2339 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2343 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2346 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2350 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2353 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2357 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2360 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2364 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2367 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2371 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2374 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2378 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2381 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2385 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2388 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2392 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2395 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2399 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2402 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2406 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2409 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2413 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2416 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2420 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2423 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2427 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2430 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2434 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2437 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2441 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2444 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2448 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2451 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2455 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2458 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2462 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2465 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2469 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2472 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2476 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2479 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2483 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2486 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2490 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2493 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2497 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2500 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2504 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2507 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2511 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2514 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2518 -- Name: index_links_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2521 CREATE INDEX index_links_on_created_at_and_uuid ON public.links USING btree (created_at, uuid);
2525 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2528 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2532 -- Name: index_links_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2535 CREATE INDEX index_links_on_modified_at_and_uuid ON public.links USING btree (modified_at, uuid);
2539 -- Name: index_links_on_name; Type: INDEX; Schema: public; Owner: -
2542 CREATE UNIQUE INDEX index_links_on_name ON public.links USING btree (name) WHERE ((link_class)::text = 'published_port'::text);
2546 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2549 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2553 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2556 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2560 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2563 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2567 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2570 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2574 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2577 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2581 -- Name: index_logs_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2584 CREATE INDEX index_logs_on_created_at_and_uuid ON public.logs USING btree (created_at, uuid);
2588 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2591 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2595 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2598 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2602 -- Name: index_logs_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2605 CREATE INDEX index_logs_on_modified_at_and_uuid ON public.logs USING btree (modified_at, uuid);
2609 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2612 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2616 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2619 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2623 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2626 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2630 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2633 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2637 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2640 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2644 -- Name: index_materialized_permissions_target_is_not_user; Type: INDEX; Schema: public; Owner: -
2647 CREATE INDEX index_materialized_permissions_target_is_not_user ON public.materialized_permissions USING btree (target_uuid, traverse_owned, ((((user_uuid)::text = (target_uuid)::text) OR ((target_uuid)::text !~~ '_____-tpzed-_______________'::text))));
2651 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2654 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2658 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2661 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2665 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2668 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2672 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2675 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2679 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2682 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2686 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2689 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2693 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2696 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2700 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2703 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2707 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2710 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2714 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2717 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2721 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2724 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2728 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2731 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2735 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2738 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2742 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2745 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2749 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2752 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2756 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2759 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2763 -- Name: index_repositories_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2766 CREATE INDEX index_repositories_on_created_at_and_uuid ON public.repositories USING btree (created_at, uuid);
2770 -- Name: index_repositories_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2773 CREATE INDEX index_repositories_on_modified_at_and_uuid ON public.repositories USING btree (modified_at, uuid);
2777 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2780 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2784 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2787 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2791 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2794 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2798 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2801 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2805 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2808 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2812 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2815 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2819 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2822 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2826 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2829 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2833 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2836 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2840 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2843 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2847 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2850 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2854 -- Name: index_users_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2857 CREATE INDEX index_users_on_created_at_and_uuid ON public.users USING btree (created_at, uuid);
2861 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2864 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2868 -- Name: index_users_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2871 CREATE INDEX index_users_on_modified_at_and_uuid ON public.users USING btree (modified_at, uuid);
2875 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2878 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2882 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2885 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2889 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2892 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2896 -- Name: index_uuid_locks_on_uuid; Type: INDEX; Schema: public; Owner: -
2899 CREATE UNIQUE INDEX index_uuid_locks_on_uuid ON public.uuid_locks USING btree (uuid);
2903 -- Name: index_virtual_machines_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2906 CREATE INDEX index_virtual_machines_on_created_at_and_uuid ON public.virtual_machines USING btree (created_at, uuid);
2910 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2913 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2917 -- Name: index_virtual_machines_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2920 CREATE INDEX index_virtual_machines_on_modified_at_and_uuid ON public.virtual_machines USING btree (modified_at, uuid);
2924 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2927 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2931 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2934 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2938 -- Name: index_workflows_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2941 CREATE INDEX index_workflows_on_created_at_and_uuid ON public.workflows USING btree (created_at, uuid);
2945 -- Name: index_workflows_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2948 CREATE INDEX index_workflows_on_modified_at_and_uuid ON public.workflows USING btree (modified_at, uuid);
2952 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2955 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2959 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2962 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2966 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2969 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);
2973 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2976 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);
2980 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2983 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);
2987 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2990 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);
2994 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2997 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);
3001 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
3004 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
3008 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
3011 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);
3015 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
3018 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);
3022 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
3025 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);
3029 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
3032 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
3036 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
3039 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
3043 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
3046 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);
3050 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
3053 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
3057 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
3060 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
3064 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
3067 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);
3071 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3074 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);
3078 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
3081 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
3085 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
3088 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3092 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3095 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);
3099 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
3102 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3106 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
3109 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
3113 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
3116 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3120 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
3123 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
3127 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
3130 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);
3134 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
3137 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
3141 -- Name: workflows_search_index; Type: INDEX; Schema: public; Owner: -
3144 CREATE INDEX workflows_search_index ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, collection_uuid);
3148 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3151 CREATE INDEX workflows_trgm_text_search_idx ON public.workflows USING gin (((((COALESCE(name, ''::character varying))::text || ' '::text) || COALESCE(description, ''::text))) public.gin_trgm_ops);
3155 -- PostgreSQL database dump complete
3158 SET search_path TO "$user", public;
3160 INSERT INTO "schema_migrations" (version) VALUES