1 -- Copyright (C) The Arvados Authors. All rights reserved.
3 -- SPDX-License-Identifier: AGPL-3.0
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;
14 -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
17 CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
21 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
24 -- COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
28 -- Name: compute_permission_subgraph(character varying, character varying, integer, character varying); Type: FUNCTION; Schema: public; Owner: -
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)
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
40 perm_origin_uuid: The object that 'gets' the permission.
42 starting_uuid: The starting object the permission applies to.
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
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
58 /* Starting from starting_uuid, determine the set of objects that
59 could be affected by this permission change.
61 Note: We don't traverse users unless it is an "identity"
62 permission (permission origin is self).
64 perm_from_start(perm_origin_uuid, target_uuid, val, traverse_owned) as (
67 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
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-_______________'))
74 (select traverse_graph.origin_uuid,
77 case (edges.edge_id = perm_edge_id)
78 when true then starting_perm
83 should_traverse_owned(edges.head_uuid, edges.val),
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)
93 /* Find other inbound edges that grant permissions to 'targets' in
94 perm_from_start, and compute permissions that originate from
97 This is necessary for two reasons:
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.
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.
109 additional_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
112 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
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)
123 (select traverse_graph.origin_uuid,
126 case (edges.edge_id = perm_edge_id)
127 when true then starting_perm
132 should_traverse_owned(edges.head_uuid, edges.val),
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)
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
146 select * from additional_perms
149 /* The actual query that produces rows to be added or removed
150 from the materialized_permissions table. This is the clever
155 * For every group, the materialized_permissions lists all users
156 that can access to that group.
158 * The all_perms subquery has computed permissions on on a set of
159 objects for all inbound "origins", which are users or groups.
161 * Permissions through groups are transitive.
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
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.
173 In addition, because users always have permission on themselves, this
174 query also makes sure those permission rows are always
177 select v.user_uuid, v.target_uuid, max(v.perm_level), bool_or(v.traverse_owned) from
180 least(u.val, m.perm_level) as perm_level,
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-_______________')
186 select target_uuid as user_uuid, target_uuid, 3, true
188 where all_perms.target_uuid like '_____-tpzed-_______________') as v
189 group by v.user_uuid, v.target_uuid
194 -- Name: container_priority(character varying, bigint, character varying); Type: FUNCTION; Schema: public; Owner: -
197 CREATE FUNCTION public.container_priority(for_container_uuid character varying, inherited bigint, inherited_from character varying) RETURNS bigint
200 /* Determine the priority of an individual container.
201 The "inherited" priority comes from the path we followed from the root, the parent container
202 priority hasn't been updated in the table yet but we need to behave it like it has been.
204 select coalesce(max(case when containers.uuid = inherited_from then inherited
205 when containers.priority is not NULL then containers.priority
206 else container_requests.priority * 1125899906842624::bigint - (extract(epoch from container_requests.created_at)*1000)::bigint
208 container_requests left outer join containers on container_requests.requesting_container_uuid = containers.uuid
209 where container_requests.container_uuid = for_container_uuid and
210 container_requests.state = 'Committed' and
211 container_requests.priority > 0 and
212 container_requests.owner_uuid not in (select group_uuid from trashed_groups);
217 -- Name: container_tree(character varying); Type: FUNCTION; Schema: public; Owner: -
220 CREATE FUNCTION public.container_tree(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying)
223 /* A lighter weight version of the update_priorities query that only returns the containers in a tree,
224 used by SELECT FOR UPDATE.
226 with recursive tab(upd_container_uuid) as (
227 select for_container_uuid
229 select containers.uuid
230 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
231 join containers on child_requests.container_uuid = containers.uuid
232 where containers.state in ('Queued', 'Locked', 'Running')
234 select upd_container_uuid from tab;
239 -- Name: container_tree_priorities(character varying); Type: FUNCTION; Schema: public; Owner: -
242 CREATE FUNCTION public.container_tree_priorities(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying, upd_priority bigint)
245 /* Calculate the priorities of all containers starting from for_container_uuid.
246 This traverses the process tree downward and calls container_priority for each container
247 and returns a table of container uuids and their new priorities.
249 with recursive tab(upd_container_uuid, upd_priority) as (
250 select for_container_uuid, container_priority(for_container_uuid, 0, '')
252 select containers.uuid, container_priority(containers.uuid, child_requests.upd_priority, child_requests.upd_container_uuid)
253 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
254 join containers on child_requests.container_uuid = containers.uuid
255 where containers.state in ('Queued', 'Locked', 'Running')
257 select upd_container_uuid, upd_priority from tab;
262 -- Name: jsonb_exists_all_inline_op(jsonb, text[]); Type: FUNCTION; Schema: public; Owner: -
265 CREATE FUNCTION public.jsonb_exists_all_inline_op(jsonb, text[]) RETURNS boolean
266 LANGUAGE sql IMMUTABLE
267 AS $_$SELECT $1 ?& $2$_$;
271 -- Name: jsonb_exists_inline_op(jsonb, text); Type: FUNCTION; Schema: public; Owner: -
274 CREATE FUNCTION public.jsonb_exists_inline_op(jsonb, text) RETURNS boolean
275 LANGUAGE sql IMMUTABLE
276 AS $_$SELECT $1 ? $2$_$;
280 -- Name: project_subtree_with_is_frozen(character varying, boolean); Type: FUNCTION; Schema: public; Owner: -
283 CREATE FUNCTION public.project_subtree_with_is_frozen(starting_uuid character varying, starting_is_frozen boolean) RETURNS TABLE(uuid character varying, is_frozen boolean)
287 project_subtree(uuid, is_frozen) as (
288 values (starting_uuid, starting_is_frozen)
290 select groups.uuid, project_subtree.is_frozen or groups.frozen_by_uuid is not null
291 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
293 select uuid, is_frozen from project_subtree;
298 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
301 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)
304 /* Starting from a project, recursively traverse all the projects
305 underneath it and return a set of project uuids and trash_at times
306 (may be null). The initial trash_at can be a timestamp or null.
307 The trash_at time propagates downward to groups it owns, i.e. when a
308 group is trashed, everything underneath it in the ownership
309 hierarchy is also considered trashed. However, this is fact is
310 recorded in the trashed_groups table, not by updating trash_at field
314 project_subtree(uuid, trash_at) as (
315 values (starting_uuid, starting_trash_at)
317 select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
318 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
320 select uuid, trash_at from project_subtree;
325 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
328 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
329 LANGUAGE sql IMMUTABLE
331 /* Helper function. Determines if permission on an object implies
332 transitive permission to things the object owns. This is always
333 true for groups, but only true for users when the permission level
336 select starting_uuid like '_____-j7d0g-_______________' or
337 (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
341 SET default_tablespace = '';
343 SET default_with_oids = false;
346 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
349 CREATE TABLE public.api_client_authorizations (
351 api_token character varying(255) NOT NULL,
352 api_client_id bigint NOT NULL,
353 user_id bigint NOT NULL,
354 created_by_ip_address character varying(255),
355 last_used_by_ip_address character varying(255),
356 last_used_at timestamp without time zone,
357 expires_at timestamp without time zone,
358 created_at timestamp without time zone NOT NULL,
359 updated_at timestamp without time zone NOT NULL,
360 default_owner_uuid character varying(255),
361 scopes text DEFAULT '["all"]'::text,
362 uuid character varying(255) NOT NULL
367 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
370 CREATE SEQUENCE public.api_client_authorizations_id_seq
379 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
382 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
386 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
389 CREATE TABLE public.api_clients (
391 uuid character varying(255),
392 owner_uuid character varying(255),
393 modified_by_client_uuid character varying(255),
394 modified_by_user_uuid character varying(255),
395 modified_at timestamp without time zone,
396 name character varying(255),
397 url_prefix character varying(255),
398 created_at timestamp without time zone NOT NULL,
399 updated_at timestamp without time zone NOT NULL,
400 is_trusted boolean DEFAULT false
405 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
408 CREATE SEQUENCE public.api_clients_id_seq
417 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
420 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
424 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
427 CREATE TABLE public.ar_internal_metadata (
428 key character varying NOT NULL,
429 value character varying,
430 created_at timestamp without time zone NOT NULL,
431 updated_at timestamp without time zone NOT NULL
436 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
439 CREATE TABLE public.authorized_keys (
441 uuid character varying(255) NOT NULL,
442 owner_uuid character varying(255) NOT NULL,
443 modified_by_client_uuid character varying(255),
444 modified_by_user_uuid character varying(255),
445 modified_at timestamp without time zone,
446 name character varying(255),
447 key_type character varying(255),
448 authorized_user_uuid character varying(255),
450 expires_at timestamp without time zone,
451 created_at timestamp without time zone NOT NULL,
452 updated_at timestamp without time zone NOT NULL
457 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
460 CREATE SEQUENCE public.authorized_keys_id_seq
469 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
472 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
476 -- Name: collections; Type: TABLE; Schema: public; Owner: -
479 CREATE TABLE public.collections (
481 owner_uuid character varying(255),
482 created_at timestamp without time zone NOT NULL,
483 modified_by_client_uuid character varying(255),
484 modified_by_user_uuid character varying(255),
485 modified_at timestamp without time zone,
486 portable_data_hash character varying(255),
487 replication_desired integer,
488 replication_confirmed_at timestamp without time zone,
489 replication_confirmed integer,
490 updated_at timestamp without time zone NOT NULL,
491 uuid character varying(255),
493 name character varying(255),
494 description character varying(524288),
496 delete_at timestamp without time zone,
498 trash_at timestamp without time zone,
499 is_trashed boolean DEFAULT false NOT NULL,
500 storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
501 storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
502 storage_classes_confirmed_at timestamp without time zone,
503 current_version_uuid character varying,
504 version integer DEFAULT 1 NOT NULL,
505 preserve_version boolean DEFAULT false,
506 file_count integer DEFAULT 0 NOT NULL,
507 file_size_total bigint DEFAULT 0 NOT NULL
512 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
515 CREATE SEQUENCE public.collections_id_seq
524 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
527 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
531 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
534 CREATE TABLE public.container_requests (
536 uuid character varying(255),
537 owner_uuid character varying(255),
538 created_at timestamp without time zone NOT NULL,
539 modified_at timestamp without time zone,
540 modified_by_client_uuid character varying(255),
541 modified_by_user_uuid character varying(255),
542 name character varying(255),
545 state character varying(255),
546 requesting_container_uuid character varying(255),
547 container_uuid character varying(255),
548 container_count_max integer,
550 runtime_constraints text,
551 container_image character varying(255),
553 cwd character varying(255),
555 output_path character varying(255),
557 expires_at timestamp without time zone,
559 updated_at timestamp without time zone NOT NULL,
560 container_count integer DEFAULT 0,
561 use_existing boolean DEFAULT true,
562 scheduling_parameters text,
563 output_uuid character varying(255),
564 log_uuid character varying(255),
565 output_name character varying(255) DEFAULT NULL::character varying,
566 output_ttl integer DEFAULT 0 NOT NULL,
567 secret_mounts jsonb DEFAULT '{}'::jsonb,
569 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
570 output_properties jsonb DEFAULT '{}'::jsonb,
571 cumulative_cost double precision DEFAULT 0.0 NOT NULL
576 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
579 CREATE SEQUENCE public.container_requests_id_seq
588 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
591 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
595 -- Name: containers; Type: TABLE; Schema: public; Owner: -
598 CREATE TABLE public.containers (
600 uuid character varying(255),
601 owner_uuid character varying(255),
602 created_at timestamp without time zone NOT NULL,
603 modified_at timestamp without time zone,
604 modified_by_client_uuid character varying(255),
605 modified_by_user_uuid character varying(255),
606 state character varying(255),
607 started_at timestamp without time zone,
608 finished_at timestamp without time zone,
609 log character varying(255),
611 cwd character varying(255),
613 output_path character varying(255),
615 runtime_constraints text,
616 output character varying(255),
617 container_image character varying(255),
618 progress double precision,
620 updated_at timestamp without time zone NOT NULL,
622 auth_uuid character varying(255),
623 locked_by_uuid character varying(255),
624 scheduling_parameters text,
625 secret_mounts jsonb DEFAULT '{}'::jsonb,
626 secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
627 runtime_status jsonb DEFAULT '{}'::jsonb,
628 runtime_user_uuid text,
629 runtime_auth_scopes jsonb,
631 lock_count integer DEFAULT 0 NOT NULL,
632 gateway_address character varying,
633 interactive_session_started boolean DEFAULT false NOT NULL,
634 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
635 output_properties jsonb DEFAULT '{}'::jsonb,
636 cost double precision DEFAULT 0.0 NOT NULL,
637 subrequests_cost double precision DEFAULT 0.0 NOT NULL
642 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
645 CREATE SEQUENCE public.containers_id_seq
654 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
657 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
661 -- Name: frozen_groups; Type: TABLE; Schema: public; Owner: -
664 CREATE TABLE public.frozen_groups (
665 uuid character varying
670 -- Name: groups; Type: TABLE; Schema: public; Owner: -
673 CREATE TABLE public.groups (
675 uuid character varying(255),
676 owner_uuid character varying(255),
677 created_at timestamp without time zone NOT NULL,
678 modified_by_client_uuid character varying(255),
679 modified_by_user_uuid character varying(255),
680 modified_at timestamp without time zone,
681 name character varying(255) NOT NULL,
682 description character varying(524288),
683 updated_at timestamp without time zone NOT NULL,
684 group_class character varying(255),
685 trash_at timestamp without time zone,
686 is_trashed boolean DEFAULT false NOT NULL,
687 delete_at timestamp without time zone,
688 properties jsonb DEFAULT '{}'::jsonb,
689 frozen_by_uuid character varying
694 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
697 CREATE SEQUENCE public.groups_id_seq
706 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
709 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
713 -- Name: humans; Type: TABLE; Schema: public; Owner: -
716 CREATE TABLE public.humans (
718 uuid character varying(255) NOT NULL,
719 owner_uuid character varying(255) NOT NULL,
720 modified_by_client_uuid character varying(255),
721 modified_by_user_uuid character varying(255),
722 modified_at timestamp without time zone,
724 created_at timestamp without time zone NOT NULL,
725 updated_at timestamp without time zone NOT NULL
730 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
733 CREATE SEQUENCE public.humans_id_seq
742 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
745 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
749 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
752 CREATE TABLE public.job_tasks (
754 uuid character varying(255),
755 owner_uuid character varying(255),
756 modified_by_client_uuid character varying(255),
757 modified_by_user_uuid character varying(255),
758 modified_at timestamp without time zone,
759 job_uuid character varying(255),
763 progress double precision,
765 created_at timestamp without time zone NOT NULL,
766 updated_at timestamp without time zone NOT NULL,
767 created_by_job_task_uuid character varying(255),
769 started_at timestamp without time zone,
770 finished_at timestamp without time zone
775 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
778 CREATE SEQUENCE public.job_tasks_id_seq
787 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
790 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
794 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
797 CREATE SEQUENCE public.job_tasks_qsequence_seq
806 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
809 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
813 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
816 CREATE TABLE public.jobs (
818 uuid character varying(255),
819 owner_uuid character varying(255),
820 modified_by_client_uuid character varying(255),
821 modified_by_user_uuid character varying(255),
822 modified_at timestamp without time zone,
823 submit_id character varying(255),
824 script character varying(255),
825 script_version character varying(255),
826 script_parameters text,
827 cancelled_by_client_uuid character varying(255),
828 cancelled_by_user_uuid character varying(255),
829 cancelled_at timestamp without time zone,
830 started_at timestamp without time zone,
831 finished_at timestamp without time zone,
834 output character varying(255),
835 created_at timestamp without time zone NOT NULL,
836 updated_at timestamp without time zone NOT NULL,
837 is_locked_by_uuid character varying(255),
838 log character varying(255),
840 runtime_constraints text,
841 nondeterministic boolean,
842 repository character varying(255),
843 supplied_script_version character varying(255),
844 docker_image_locator character varying(255),
845 priority integer DEFAULT 0 NOT NULL,
846 description character varying(524288),
847 state character varying(255),
848 arvados_sdk_version character varying(255),
850 script_parameters_digest character varying(255)
855 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
858 CREATE SEQUENCE public.jobs_id_seq
867 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
870 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
874 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
877 CREATE TABLE public.keep_disks (
879 uuid character varying(255) NOT NULL,
880 owner_uuid character varying(255) NOT NULL,
881 modified_by_client_uuid character varying(255),
882 modified_by_user_uuid character varying(255),
883 modified_at timestamp without time zone,
884 ping_secret character varying(255) NOT NULL,
885 node_uuid character varying(255),
886 filesystem_uuid character varying(255),
889 is_readable boolean DEFAULT true NOT NULL,
890 is_writable boolean DEFAULT true NOT NULL,
891 last_read_at timestamp without time zone,
892 last_write_at timestamp without time zone,
893 last_ping_at timestamp without time zone,
894 created_at timestamp without time zone NOT NULL,
895 updated_at timestamp without time zone NOT NULL,
896 keep_service_uuid character varying(255)
901 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
904 CREATE SEQUENCE public.keep_disks_id_seq
913 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
916 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
920 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
923 CREATE TABLE public.keep_services (
925 uuid character varying(255) NOT NULL,
926 owner_uuid character varying(255) NOT NULL,
927 modified_by_client_uuid character varying(255),
928 modified_by_user_uuid character varying(255),
929 modified_at timestamp without time zone,
930 service_host character varying(255),
931 service_port integer,
932 service_ssl_flag boolean,
933 service_type character varying(255),
934 created_at timestamp without time zone NOT NULL,
935 updated_at timestamp without time zone NOT NULL,
936 read_only boolean DEFAULT false NOT NULL
941 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
944 CREATE SEQUENCE public.keep_services_id_seq
953 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
956 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
960 -- Name: links; Type: TABLE; Schema: public; Owner: -
963 CREATE TABLE public.links (
965 uuid character varying(255),
966 owner_uuid character varying(255),
967 created_at timestamp without time zone NOT NULL,
968 modified_by_client_uuid character varying(255),
969 modified_by_user_uuid character varying(255),
970 modified_at timestamp without time zone,
971 tail_uuid character varying(255),
972 link_class character varying(255),
973 name character varying(255),
974 head_uuid character varying(255),
976 updated_at timestamp without time zone NOT NULL
981 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
984 CREATE SEQUENCE public.links_id_seq
993 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
996 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
1000 -- Name: logs; Type: TABLE; Schema: public; Owner: -
1003 CREATE TABLE public.logs (
1005 uuid character varying(255),
1006 owner_uuid character varying(255),
1007 modified_by_client_uuid character varying(255),
1008 modified_by_user_uuid character varying(255),
1009 object_uuid character varying(255),
1010 event_at timestamp without time zone,
1011 event_type character varying(255),
1014 created_at timestamp without time zone NOT NULL,
1015 updated_at timestamp without time zone NOT NULL,
1016 modified_at timestamp without time zone,
1017 object_owner_uuid character varying(255)
1022 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1025 CREATE SEQUENCE public.logs_id_seq
1034 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1037 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
1041 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
1044 CREATE TABLE public.materialized_permissions (
1045 user_uuid character varying,
1046 target_uuid character varying,
1048 traverse_owned boolean
1053 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
1056 CREATE TABLE public.nodes (
1058 uuid character varying(255),
1059 owner_uuid character varying(255),
1060 created_at timestamp without time zone NOT NULL,
1061 modified_by_client_uuid character varying(255),
1062 modified_by_user_uuid character varying(255),
1063 modified_at timestamp without time zone,
1064 slot_number integer,
1065 hostname character varying(255),
1066 domain character varying(255),
1067 ip_address character varying(255),
1068 first_ping_at timestamp without time zone,
1069 last_ping_at timestamp without time zone,
1071 updated_at timestamp without time zone NOT NULL,
1073 job_uuid character varying(255)
1078 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1081 CREATE SEQUENCE public.nodes_id_seq
1090 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1093 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
1097 -- Name: users; Type: TABLE; Schema: public; Owner: -
1100 CREATE TABLE public.users (
1102 uuid character varying(255),
1103 owner_uuid character varying(255) NOT NULL,
1104 created_at timestamp without time zone NOT NULL,
1105 modified_by_client_uuid character varying(255),
1106 modified_by_user_uuid character varying(255),
1107 modified_at timestamp without time zone,
1108 email character varying(255),
1109 first_name character varying(255),
1110 last_name character varying(255),
1111 identity_url character varying(255),
1114 updated_at timestamp without time zone NOT NULL,
1115 default_owner_uuid character varying(255),
1116 is_active boolean DEFAULT false,
1117 username character varying(255),
1118 redirect_to_user_uuid character varying
1123 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1126 CREATE VIEW public.permission_graph_edges AS
1127 SELECT groups.owner_uuid AS tail_uuid,
1128 groups.uuid AS head_uuid,
1130 groups.uuid AS edge_id
1133 SELECT users.owner_uuid AS tail_uuid,
1134 users.uuid AS head_uuid,
1136 users.uuid AS edge_id
1139 SELECT users.uuid AS tail_uuid,
1140 users.uuid AS head_uuid,
1142 ''::character varying AS edge_id
1145 SELECT links.tail_uuid,
1148 WHEN ((links.name)::text = 'can_read'::text) THEN 1
1149 WHEN ((links.name)::text = 'can_login'::text) THEN 1
1150 WHEN ((links.name)::text = 'can_write'::text) THEN 2
1151 WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1154 links.uuid AS edge_id
1156 WHERE ((links.link_class)::text = 'permission'::text);
1160 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1163 CREATE TABLE public.pipeline_instances (
1165 uuid character varying(255),
1166 owner_uuid character varying(255),
1167 created_at timestamp without time zone NOT NULL,
1168 modified_by_client_uuid character varying(255),
1169 modified_by_user_uuid character varying(255),
1170 modified_at timestamp without time zone,
1171 pipeline_template_uuid character varying(255),
1172 name character varying(255),
1174 updated_at timestamp without time zone NOT NULL,
1176 state character varying(255),
1177 components_summary text,
1178 started_at timestamp without time zone,
1179 finished_at timestamp without time zone,
1180 description character varying(524288)
1185 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1188 CREATE SEQUENCE public.pipeline_instances_id_seq
1197 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1200 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1204 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1207 CREATE TABLE public.pipeline_templates (
1209 uuid character varying(255),
1210 owner_uuid character varying(255),
1211 created_at timestamp without time zone NOT NULL,
1212 modified_by_client_uuid character varying(255),
1213 modified_by_user_uuid character varying(255),
1214 modified_at timestamp without time zone,
1215 name character varying(255),
1217 updated_at timestamp without time zone NOT NULL,
1218 description character varying(524288)
1223 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1226 CREATE SEQUENCE public.pipeline_templates_id_seq
1235 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1238 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1242 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1245 CREATE TABLE public.repositories (
1247 uuid character varying(255) NOT NULL,
1248 owner_uuid character varying(255) NOT NULL,
1249 modified_by_client_uuid character varying(255),
1250 modified_by_user_uuid character varying(255),
1251 modified_at timestamp without time zone,
1252 name character varying(255),
1253 created_at timestamp without time zone NOT NULL,
1254 updated_at timestamp without time zone NOT NULL
1259 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1262 CREATE SEQUENCE public.repositories_id_seq
1271 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1274 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1278 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1281 CREATE TABLE public.schema_migrations (
1282 version character varying(255) NOT NULL
1287 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1290 CREATE TABLE public.specimens (
1292 uuid character varying(255),
1293 owner_uuid character varying(255),
1294 created_at timestamp without time zone NOT NULL,
1295 modified_by_client_uuid character varying(255),
1296 modified_by_user_uuid character varying(255),
1297 modified_at timestamp without time zone,
1298 material character varying(255),
1299 updated_at timestamp without time zone NOT NULL,
1305 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1308 CREATE SEQUENCE public.specimens_id_seq
1317 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1320 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1324 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1327 CREATE TABLE public.traits (
1329 uuid character varying(255) NOT NULL,
1330 owner_uuid character varying(255) NOT NULL,
1331 modified_by_client_uuid character varying(255),
1332 modified_by_user_uuid character varying(255),
1333 modified_at timestamp without time zone,
1334 name character varying(255),
1336 created_at timestamp without time zone NOT NULL,
1337 updated_at timestamp without time zone NOT NULL
1342 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1345 CREATE SEQUENCE public.traits_id_seq
1354 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1357 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1361 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1364 CREATE TABLE public.trashed_groups (
1365 group_uuid character varying,
1366 trash_at timestamp without time zone
1371 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1374 CREATE SEQUENCE public.users_id_seq
1383 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1386 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1390 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1393 CREATE TABLE public.virtual_machines (
1395 uuid character varying(255) NOT NULL,
1396 owner_uuid character varying(255) NOT NULL,
1397 modified_by_client_uuid character varying(255),
1398 modified_by_user_uuid character varying(255),
1399 modified_at timestamp without time zone,
1400 hostname character varying(255),
1401 created_at timestamp without time zone NOT NULL,
1402 updated_at timestamp without time zone NOT NULL
1407 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1410 CREATE SEQUENCE public.virtual_machines_id_seq
1419 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1422 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1426 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1429 CREATE TABLE public.workflows (
1431 uuid character varying(255),
1432 owner_uuid character varying(255),
1433 created_at timestamp without time zone NOT NULL,
1434 modified_at timestamp without time zone,
1435 modified_by_client_uuid character varying(255),
1436 modified_by_user_uuid character varying(255),
1437 name character varying(255),
1440 updated_at timestamp without time zone NOT NULL
1445 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1448 CREATE SEQUENCE public.workflows_id_seq
1457 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1460 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1464 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1467 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1471 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1474 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1478 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1481 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1485 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1488 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1492 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1495 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1499 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1502 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1506 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1509 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1513 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1516 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1520 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1523 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1527 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1530 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1534 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1537 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1541 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1544 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1548 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1551 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1555 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1558 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1562 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1565 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1569 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1572 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1576 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1579 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1583 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1586 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1590 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1593 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1597 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1600 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1604 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1607 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1611 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1614 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1618 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1621 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1625 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1628 ALTER TABLE ONLY public.api_client_authorizations
1629 ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1633 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1636 ALTER TABLE ONLY public.api_clients
1637 ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1641 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1644 ALTER TABLE ONLY public.ar_internal_metadata
1645 ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1649 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1652 ALTER TABLE ONLY public.authorized_keys
1653 ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1657 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1660 ALTER TABLE ONLY public.collections
1661 ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1665 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1668 ALTER TABLE ONLY public.container_requests
1669 ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1673 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1676 ALTER TABLE ONLY public.containers
1677 ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1681 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1684 ALTER TABLE ONLY public.groups
1685 ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1689 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1692 ALTER TABLE ONLY public.humans
1693 ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1697 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1700 ALTER TABLE ONLY public.job_tasks
1701 ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1705 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1708 ALTER TABLE ONLY public.jobs
1709 ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1713 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1716 ALTER TABLE ONLY public.keep_disks
1717 ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1721 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1724 ALTER TABLE ONLY public.keep_services
1725 ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1729 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1732 ALTER TABLE ONLY public.links
1733 ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1737 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1740 ALTER TABLE ONLY public.logs
1741 ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1745 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1748 ALTER TABLE ONLY public.nodes
1749 ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1753 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1756 ALTER TABLE ONLY public.pipeline_instances
1757 ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1761 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1764 ALTER TABLE ONLY public.pipeline_templates
1765 ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1769 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1772 ALTER TABLE ONLY public.repositories
1773 ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1777 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1780 ALTER TABLE ONLY public.specimens
1781 ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1785 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1788 ALTER TABLE ONLY public.traits
1789 ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1793 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1796 ALTER TABLE ONLY public.users
1797 ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1801 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1804 ALTER TABLE ONLY public.virtual_machines
1805 ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1809 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1812 ALTER TABLE ONLY public.workflows
1813 ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1817 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1820 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);
1824 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1827 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);
1831 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1834 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);
1838 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1841 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1845 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1848 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);
1852 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1855 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);
1859 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1862 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1866 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1869 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);
1873 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1876 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);
1880 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1883 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);
1887 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1890 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1894 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1897 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);
1901 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1904 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);
1908 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1911 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1915 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1918 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1922 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1925 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1929 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1932 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1936 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1939 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1943 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1946 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1950 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1953 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1957 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1960 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
1964 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1967 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
1971 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
1974 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
1978 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
1981 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
1985 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1988 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
1992 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
1995 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
1999 -- Name: index_collections_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2002 CREATE INDEX index_collections_on_created_at_and_uuid ON public.collections USING btree (created_at, uuid);
2006 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
2009 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
2013 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
2016 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
2020 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2023 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
2027 -- Name: index_collections_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2030 CREATE INDEX index_collections_on_modified_at_and_uuid ON public.collections USING btree (modified_at, uuid);
2034 -- Name: index_collections_on_name; Type: INDEX; Schema: public; Owner: -
2037 CREATE INDEX index_collections_on_name ON public.collections USING gin (name public.gin_trgm_ops);
2041 -- Name: index_collections_on_name_btree; Type: INDEX; Schema: public; Owner: -
2044 CREATE INDEX index_collections_on_name_btree ON public.collections USING btree (name);
2048 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2051 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
2055 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2058 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));
2062 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
2065 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
2069 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
2072 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
2076 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
2079 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
2083 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
2086 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
2090 -- Name: index_container_requests_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2093 CREATE INDEX index_container_requests_on_created_at_and_uuid ON public.container_requests USING btree (created_at, uuid);
2097 -- Name: index_container_requests_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2100 CREATE INDEX index_container_requests_on_modified_at_and_uuid ON public.container_requests USING btree (modified_at, uuid);
2104 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2107 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
2111 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
2114 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
2118 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
2121 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
2125 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
2128 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
2132 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2135 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2139 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2142 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2146 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2149 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2153 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2156 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2160 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2163 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2167 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2170 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));
2174 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2177 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2181 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2184 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2188 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2191 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2195 -- Name: index_frozen_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2198 CREATE UNIQUE INDEX index_frozen_groups_on_uuid ON public.frozen_groups USING btree (uuid);
2202 -- Name: index_groups_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2205 CREATE INDEX index_groups_on_created_at_and_uuid ON public.groups USING btree (created_at, uuid);
2209 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2212 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2216 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2219 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2223 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2226 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2230 -- Name: index_groups_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2233 CREATE INDEX index_groups_on_modified_at_and_uuid ON public.groups USING btree (modified_at, uuid);
2237 -- Name: index_groups_on_name; Type: INDEX; Schema: public; Owner: -
2240 CREATE INDEX index_groups_on_name ON public.groups USING gin (name public.gin_trgm_ops);
2244 -- Name: index_groups_on_name_btree; Type: INDEX; Schema: public; Owner: -
2247 CREATE INDEX index_groups_on_name_btree ON public.groups USING btree (name);
2251 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2254 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2258 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2261 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2265 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2268 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2272 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2275 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2279 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2282 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2286 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2289 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2293 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2296 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2300 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2303 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2307 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2310 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2314 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2317 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2321 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2324 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2328 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2331 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2335 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2338 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2342 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2345 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2349 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2352 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2356 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2359 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2363 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2366 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2370 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2373 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2377 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2380 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2384 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2387 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2391 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2394 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2398 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2401 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2405 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2408 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2412 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2415 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2419 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2422 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2426 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2429 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2433 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2436 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2440 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2443 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2447 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2450 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2454 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2457 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2461 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2464 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2468 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2471 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2475 -- Name: index_links_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2478 CREATE INDEX index_links_on_created_at_and_uuid ON public.links USING btree (created_at, uuid);
2482 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2485 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2489 -- Name: index_links_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2492 CREATE INDEX index_links_on_modified_at_and_uuid ON public.links USING btree (modified_at, uuid);
2496 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2499 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2503 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2506 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2510 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2513 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2517 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2520 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2524 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2527 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2531 -- Name: index_logs_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2534 CREATE INDEX index_logs_on_created_at_and_uuid ON public.logs USING btree (created_at, uuid);
2538 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2541 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2545 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2548 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2552 -- Name: index_logs_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2555 CREATE INDEX index_logs_on_modified_at_and_uuid ON public.logs USING btree (modified_at, uuid);
2559 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2562 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2566 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2569 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2573 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2576 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2580 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2583 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2587 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2590 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2594 -- Name: index_materialized_permissions_target_is_not_user; Type: INDEX; Schema: public; Owner: -
2597 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))));
2601 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2604 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2608 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2611 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2615 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2618 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2622 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2625 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2629 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2632 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2636 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2639 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2643 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2646 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2650 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2653 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2657 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2660 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2664 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2667 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2671 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2674 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2678 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2681 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2685 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2688 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2692 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2695 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2699 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2702 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2706 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2709 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2713 -- Name: index_repositories_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2716 CREATE INDEX index_repositories_on_created_at_and_uuid ON public.repositories USING btree (created_at, uuid);
2720 -- Name: index_repositories_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2723 CREATE INDEX index_repositories_on_modified_at_and_uuid ON public.repositories USING btree (modified_at, uuid);
2727 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2730 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2734 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2737 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2741 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2744 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2748 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2751 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2755 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2758 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2762 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2765 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2769 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2772 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2776 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2779 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2783 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2786 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2790 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2793 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2797 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2800 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2804 -- Name: index_users_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2807 CREATE INDEX index_users_on_created_at_and_uuid ON public.users USING btree (created_at, uuid);
2811 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2814 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2818 -- Name: index_users_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2821 CREATE INDEX index_users_on_modified_at_and_uuid ON public.users USING btree (modified_at, uuid);
2825 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2828 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2832 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2835 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2839 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2842 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2846 -- Name: index_virtual_machines_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2849 CREATE INDEX index_virtual_machines_on_created_at_and_uuid ON public.virtual_machines USING btree (created_at, uuid);
2853 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2856 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2860 -- Name: index_virtual_machines_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2863 CREATE INDEX index_virtual_machines_on_modified_at_and_uuid ON public.virtual_machines USING btree (modified_at, uuid);
2867 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2870 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2874 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2877 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2881 -- Name: index_workflows_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2884 CREATE INDEX index_workflows_on_created_at_and_uuid ON public.workflows USING btree (created_at, uuid);
2888 -- Name: index_workflows_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2891 CREATE INDEX index_workflows_on_modified_at_and_uuid ON public.workflows USING btree (modified_at, uuid);
2895 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2898 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2902 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2905 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2909 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2912 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);
2916 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2919 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);
2923 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2926 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);
2930 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2933 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);
2937 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2940 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);
2944 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
2947 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
2951 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
2954 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);
2958 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
2961 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);
2965 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
2968 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);
2972 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
2975 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
2979 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
2982 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
2986 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
2989 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);
2993 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
2996 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
3000 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
3003 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
3007 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
3010 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);
3014 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3017 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);
3021 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
3024 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
3028 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
3031 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3035 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3038 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);
3042 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
3045 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3049 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
3052 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
3056 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
3059 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3063 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
3066 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
3070 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
3073 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);
3077 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
3080 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
3084 -- Name: workflows_search_idx; Type: INDEX; Schema: public; Owner: -
3087 CREATE INDEX workflows_search_idx ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3091 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3094 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);
3098 -- PostgreSQL database dump complete
3101 SET search_path TO "$user", public;
3103 INSERT INTO "schema_migrations" (version) VALUES