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 container_requests.priority = 0 then 0
205 when containers.uuid = inherited_from then inherited
206 when containers.priority is not NULL then containers.priority
207 else container_requests.priority * 1125899906842624::bigint - (extract(epoch from container_requests.created_at)*1000)::bigint
209 container_requests left outer join containers on container_requests.requesting_container_uuid = containers.uuid
210 where container_requests.container_uuid = for_container_uuid and container_requests.state = 'Committed' and container_requests.priority > 0;
215 -- Name: container_tree(character varying); Type: FUNCTION; Schema: public; Owner: -
218 CREATE FUNCTION public.container_tree(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying)
221 /* A lighter weight version of the update_priorities query that only returns the containers in a tree,
222 used by SELECT FOR UPDATE.
224 with recursive tab(upd_container_uuid) as (
225 select for_container_uuid
227 select containers.uuid
228 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
229 join containers on child_requests.container_uuid = containers.uuid
230 where containers.state in ('Queued', 'Locked', 'Running')
232 select upd_container_uuid from tab;
237 -- Name: project_subtree_with_is_frozen(character varying, boolean); Type: FUNCTION; Schema: public; Owner: -
240 CREATE FUNCTION public.project_subtree_with_is_frozen(starting_uuid character varying, starting_is_frozen boolean) RETURNS TABLE(uuid character varying, is_frozen boolean)
244 project_subtree(uuid, is_frozen) as (
245 values (starting_uuid, starting_is_frozen)
247 select groups.uuid, project_subtree.is_frozen or groups.frozen_by_uuid is not null
248 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
250 select uuid, is_frozen from project_subtree;
255 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
258 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)
261 /* Starting from a project, recursively traverse all the projects
262 underneath it and return a set of project uuids and trash_at times
263 (may be null). The initial trash_at can be a timestamp or null.
264 The trash_at time propagates downward to groups it owns, i.e. when a
265 group is trashed, everything underneath it in the ownership
266 hierarchy is also considered trashed. However, this is fact is
267 recorded in the trashed_groups table, not by updating trash_at field
271 project_subtree(uuid, trash_at) as (
272 values (starting_uuid, starting_trash_at)
274 select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
275 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
277 select uuid, trash_at from project_subtree;
282 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
285 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
286 LANGUAGE sql IMMUTABLE
288 /* Helper function. Determines if permission on an object implies
289 transitive permission to things the object owns. This is always
290 true for groups, but only true for users when the permission level
293 select starting_uuid like '_____-j7d0g-_______________' or
294 (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
299 -- Name: update_priorities(character varying); Type: FUNCTION; Schema: public; Owner: -
302 CREATE FUNCTION public.update_priorities(for_container_uuid character varying) RETURNS TABLE(pri_container_uuid character varying, upd_priority bigint)
305 /* Calculate the priorities of all containers starting from for_container_uuid.
306 This traverses the process tree downward and calls container_priority for each container
307 and returns a table of container uuids and their new priorities.
309 with recursive tab(upd_container_uuid, upd_priority) as (
310 select for_container_uuid, container_priority(for_container_uuid, 0, '')
312 select containers.uuid, container_priority(containers.uuid, child_requests.upd_priority, child_requests.upd_container_uuid)
313 from (tab join container_requests on tab.upd_container_uuid = container_requests.requesting_container_uuid) as child_requests
314 join containers on child_requests.container_uuid = containers.uuid
315 where containers.state in ('Queued', 'Locked', 'Running')
317 select upd_container_uuid, upd_priority from tab;
321 SET default_tablespace = '';
323 SET default_with_oids = false;
326 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
329 CREATE TABLE public.api_client_authorizations (
331 api_token character varying(255) NOT NULL,
332 api_client_id bigint NOT NULL,
333 user_id bigint NOT NULL,
334 created_by_ip_address character varying(255),
335 last_used_by_ip_address character varying(255),
336 last_used_at timestamp without time zone,
337 expires_at timestamp without time zone,
338 created_at timestamp without time zone NOT NULL,
339 updated_at timestamp without time zone NOT NULL,
340 default_owner_uuid character varying(255),
341 scopes text DEFAULT '["all"]'::text,
342 uuid character varying(255) NOT NULL
347 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
350 CREATE SEQUENCE public.api_client_authorizations_id_seq
359 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
362 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
366 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
369 CREATE TABLE public.api_clients (
371 uuid character varying(255),
372 owner_uuid character varying(255),
373 modified_by_client_uuid character varying(255),
374 modified_by_user_uuid character varying(255),
375 modified_at timestamp without time zone,
376 name character varying(255),
377 url_prefix character varying(255),
378 created_at timestamp without time zone NOT NULL,
379 updated_at timestamp without time zone NOT NULL,
380 is_trusted boolean DEFAULT false
385 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
388 CREATE SEQUENCE public.api_clients_id_seq
397 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
400 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
404 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
407 CREATE TABLE public.ar_internal_metadata (
408 key character varying NOT NULL,
409 value character varying,
410 created_at timestamp without time zone NOT NULL,
411 updated_at timestamp without time zone NOT NULL
416 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
419 CREATE TABLE public.authorized_keys (
421 uuid character varying(255) NOT NULL,
422 owner_uuid character varying(255) NOT NULL,
423 modified_by_client_uuid character varying(255),
424 modified_by_user_uuid character varying(255),
425 modified_at timestamp without time zone,
426 name character varying(255),
427 key_type character varying(255),
428 authorized_user_uuid character varying(255),
430 expires_at timestamp without time zone,
431 created_at timestamp without time zone NOT NULL,
432 updated_at timestamp without time zone NOT NULL
437 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
440 CREATE SEQUENCE public.authorized_keys_id_seq
449 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
452 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
456 -- Name: collections; Type: TABLE; Schema: public; Owner: -
459 CREATE TABLE public.collections (
461 owner_uuid character varying(255),
462 created_at timestamp without time zone NOT NULL,
463 modified_by_client_uuid character varying(255),
464 modified_by_user_uuid character varying(255),
465 modified_at timestamp without time zone,
466 portable_data_hash character varying(255),
467 replication_desired integer,
468 replication_confirmed_at timestamp without time zone,
469 replication_confirmed integer,
470 updated_at timestamp without time zone NOT NULL,
471 uuid character varying(255),
473 name character varying(255),
474 description character varying(524288),
476 delete_at timestamp without time zone,
478 trash_at timestamp without time zone,
479 is_trashed boolean DEFAULT false NOT NULL,
480 storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
481 storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
482 storage_classes_confirmed_at timestamp without time zone,
483 current_version_uuid character varying,
484 version integer DEFAULT 1 NOT NULL,
485 preserve_version boolean DEFAULT false,
486 file_count integer DEFAULT 0 NOT NULL,
487 file_size_total bigint DEFAULT 0 NOT NULL
492 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
495 CREATE SEQUENCE public.collections_id_seq
504 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
507 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
511 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
514 CREATE TABLE public.container_requests (
516 uuid character varying(255),
517 owner_uuid character varying(255),
518 created_at timestamp without time zone NOT NULL,
519 modified_at timestamp without time zone,
520 modified_by_client_uuid character varying(255),
521 modified_by_user_uuid character varying(255),
522 name character varying(255),
525 state character varying(255),
526 requesting_container_uuid character varying(255),
527 container_uuid character varying(255),
528 container_count_max integer,
530 runtime_constraints text,
531 container_image character varying(255),
533 cwd character varying(255),
535 output_path character varying(255),
537 expires_at timestamp without time zone,
539 updated_at timestamp without time zone NOT NULL,
540 container_count integer DEFAULT 0,
541 use_existing boolean DEFAULT true,
542 scheduling_parameters text,
543 output_uuid character varying(255),
544 log_uuid character varying(255),
545 output_name character varying(255) DEFAULT NULL::character varying,
546 output_ttl integer DEFAULT 0 NOT NULL,
547 secret_mounts jsonb DEFAULT '{}'::jsonb,
549 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
550 output_properties jsonb DEFAULT '{}'::jsonb,
551 cumulative_cost double precision DEFAULT 0.0 NOT NULL
556 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
559 CREATE SEQUENCE public.container_requests_id_seq
568 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
571 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
575 -- Name: containers; Type: TABLE; Schema: public; Owner: -
578 CREATE TABLE public.containers (
580 uuid character varying(255),
581 owner_uuid character varying(255),
582 created_at timestamp without time zone NOT NULL,
583 modified_at timestamp without time zone,
584 modified_by_client_uuid character varying(255),
585 modified_by_user_uuid character varying(255),
586 state character varying(255),
587 started_at timestamp without time zone,
588 finished_at timestamp without time zone,
589 log character varying(255),
591 cwd character varying(255),
593 output_path character varying(255),
595 runtime_constraints text,
596 output character varying(255),
597 container_image character varying(255),
598 progress double precision,
600 updated_at timestamp without time zone NOT NULL,
602 auth_uuid character varying(255),
603 locked_by_uuid character varying(255),
604 scheduling_parameters text,
605 secret_mounts jsonb DEFAULT '{}'::jsonb,
606 secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
607 runtime_status jsonb DEFAULT '{}'::jsonb,
608 runtime_user_uuid text,
609 runtime_auth_scopes jsonb,
611 lock_count integer DEFAULT 0 NOT NULL,
612 gateway_address character varying,
613 interactive_session_started boolean DEFAULT false NOT NULL,
614 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
615 output_properties jsonb DEFAULT '{}'::jsonb,
616 cost double precision DEFAULT 0.0 NOT NULL,
617 subrequests_cost double precision DEFAULT 0.0 NOT NULL
622 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
625 CREATE SEQUENCE public.containers_id_seq
634 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
637 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
641 -- Name: frozen_groups; Type: TABLE; Schema: public; Owner: -
644 CREATE TABLE public.frozen_groups (
645 uuid character varying
650 -- Name: groups; Type: TABLE; Schema: public; Owner: -
653 CREATE TABLE public.groups (
655 uuid character varying(255),
656 owner_uuid character varying(255),
657 created_at timestamp without time zone NOT NULL,
658 modified_by_client_uuid character varying(255),
659 modified_by_user_uuid character varying(255),
660 modified_at timestamp without time zone,
661 name character varying(255) NOT NULL,
662 description character varying(524288),
663 updated_at timestamp without time zone NOT NULL,
664 group_class character varying(255),
665 trash_at timestamp without time zone,
666 is_trashed boolean DEFAULT false NOT NULL,
667 delete_at timestamp without time zone,
668 properties jsonb DEFAULT '{}'::jsonb,
669 frozen_by_uuid character varying
674 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
677 CREATE SEQUENCE public.groups_id_seq
686 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
689 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
693 -- Name: humans; Type: TABLE; Schema: public; Owner: -
696 CREATE TABLE public.humans (
698 uuid character varying(255) NOT NULL,
699 owner_uuid character varying(255) NOT NULL,
700 modified_by_client_uuid character varying(255),
701 modified_by_user_uuid character varying(255),
702 modified_at timestamp without time zone,
704 created_at timestamp without time zone NOT NULL,
705 updated_at timestamp without time zone NOT NULL
710 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
713 CREATE SEQUENCE public.humans_id_seq
722 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
725 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
729 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
732 CREATE TABLE public.job_tasks (
734 uuid character varying(255),
735 owner_uuid character varying(255),
736 modified_by_client_uuid character varying(255),
737 modified_by_user_uuid character varying(255),
738 modified_at timestamp without time zone,
739 job_uuid character varying(255),
743 progress double precision,
745 created_at timestamp without time zone NOT NULL,
746 updated_at timestamp without time zone NOT NULL,
747 created_by_job_task_uuid character varying(255),
749 started_at timestamp without time zone,
750 finished_at timestamp without time zone
755 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
758 CREATE SEQUENCE public.job_tasks_id_seq
767 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
770 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
774 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
777 CREATE SEQUENCE public.job_tasks_qsequence_seq
786 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
789 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
793 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
796 CREATE TABLE public.jobs (
798 uuid character varying(255),
799 owner_uuid character varying(255),
800 modified_by_client_uuid character varying(255),
801 modified_by_user_uuid character varying(255),
802 modified_at timestamp without time zone,
803 submit_id character varying(255),
804 script character varying(255),
805 script_version character varying(255),
806 script_parameters text,
807 cancelled_by_client_uuid character varying(255),
808 cancelled_by_user_uuid character varying(255),
809 cancelled_at timestamp without time zone,
810 started_at timestamp without time zone,
811 finished_at timestamp without time zone,
814 output character varying(255),
815 created_at timestamp without time zone NOT NULL,
816 updated_at timestamp without time zone NOT NULL,
817 is_locked_by_uuid character varying(255),
818 log character varying(255),
820 runtime_constraints text,
821 nondeterministic boolean,
822 repository character varying(255),
823 supplied_script_version character varying(255),
824 docker_image_locator character varying(255),
825 priority integer DEFAULT 0 NOT NULL,
826 description character varying(524288),
827 state character varying(255),
828 arvados_sdk_version character varying(255),
830 script_parameters_digest character varying(255)
835 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
838 CREATE SEQUENCE public.jobs_id_seq
847 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
850 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
854 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
857 CREATE TABLE public.keep_disks (
859 uuid character varying(255) NOT NULL,
860 owner_uuid character varying(255) NOT NULL,
861 modified_by_client_uuid character varying(255),
862 modified_by_user_uuid character varying(255),
863 modified_at timestamp without time zone,
864 ping_secret character varying(255) NOT NULL,
865 node_uuid character varying(255),
866 filesystem_uuid character varying(255),
869 is_readable boolean DEFAULT true NOT NULL,
870 is_writable boolean DEFAULT true NOT NULL,
871 last_read_at timestamp without time zone,
872 last_write_at timestamp without time zone,
873 last_ping_at timestamp without time zone,
874 created_at timestamp without time zone NOT NULL,
875 updated_at timestamp without time zone NOT NULL,
876 keep_service_uuid character varying(255)
881 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
884 CREATE SEQUENCE public.keep_disks_id_seq
893 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
896 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
900 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
903 CREATE TABLE public.keep_services (
905 uuid character varying(255) NOT NULL,
906 owner_uuid character varying(255) NOT NULL,
907 modified_by_client_uuid character varying(255),
908 modified_by_user_uuid character varying(255),
909 modified_at timestamp without time zone,
910 service_host character varying(255),
911 service_port integer,
912 service_ssl_flag boolean,
913 service_type character varying(255),
914 created_at timestamp without time zone NOT NULL,
915 updated_at timestamp without time zone NOT NULL,
916 read_only boolean DEFAULT false NOT NULL
921 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
924 CREATE SEQUENCE public.keep_services_id_seq
933 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
936 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
940 -- Name: links; Type: TABLE; Schema: public; Owner: -
943 CREATE TABLE public.links (
945 uuid character varying(255),
946 owner_uuid character varying(255),
947 created_at timestamp without time zone NOT NULL,
948 modified_by_client_uuid character varying(255),
949 modified_by_user_uuid character varying(255),
950 modified_at timestamp without time zone,
951 tail_uuid character varying(255),
952 link_class character varying(255),
953 name character varying(255),
954 head_uuid character varying(255),
956 updated_at timestamp without time zone NOT NULL
961 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
964 CREATE SEQUENCE public.links_id_seq
973 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
976 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
980 -- Name: logs; Type: TABLE; Schema: public; Owner: -
983 CREATE TABLE public.logs (
985 uuid character varying(255),
986 owner_uuid character varying(255),
987 modified_by_client_uuid character varying(255),
988 modified_by_user_uuid character varying(255),
989 object_uuid character varying(255),
990 event_at timestamp without time zone,
991 event_type character varying(255),
994 created_at timestamp without time zone NOT NULL,
995 updated_at timestamp without time zone NOT NULL,
996 modified_at timestamp without time zone,
997 object_owner_uuid character varying(255)
1002 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1005 CREATE SEQUENCE public.logs_id_seq
1014 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1017 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
1021 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
1024 CREATE TABLE public.materialized_permissions (
1025 user_uuid character varying,
1026 target_uuid character varying,
1028 traverse_owned boolean
1033 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
1036 CREATE TABLE public.nodes (
1038 uuid character varying(255),
1039 owner_uuid character varying(255),
1040 created_at timestamp without time zone NOT NULL,
1041 modified_by_client_uuid character varying(255),
1042 modified_by_user_uuid character varying(255),
1043 modified_at timestamp without time zone,
1044 slot_number integer,
1045 hostname character varying(255),
1046 domain character varying(255),
1047 ip_address character varying(255),
1048 first_ping_at timestamp without time zone,
1049 last_ping_at timestamp without time zone,
1051 updated_at timestamp without time zone NOT NULL,
1053 job_uuid character varying(255)
1058 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1061 CREATE SEQUENCE public.nodes_id_seq
1070 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1073 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
1077 -- Name: users; Type: TABLE; Schema: public; Owner: -
1080 CREATE TABLE public.users (
1082 uuid character varying(255),
1083 owner_uuid character varying(255) NOT NULL,
1084 created_at timestamp without time zone NOT NULL,
1085 modified_by_client_uuid character varying(255),
1086 modified_by_user_uuid character varying(255),
1087 modified_at timestamp without time zone,
1088 email character varying(255),
1089 first_name character varying(255),
1090 last_name character varying(255),
1091 identity_url character varying(255),
1094 updated_at timestamp without time zone NOT NULL,
1095 default_owner_uuid character varying(255),
1096 is_active boolean DEFAULT false,
1097 username character varying(255),
1098 redirect_to_user_uuid character varying
1103 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1106 CREATE VIEW public.permission_graph_edges AS
1107 SELECT groups.owner_uuid AS tail_uuid,
1108 groups.uuid AS head_uuid,
1110 groups.uuid AS edge_id
1113 SELECT users.owner_uuid AS tail_uuid,
1114 users.uuid AS head_uuid,
1116 users.uuid AS edge_id
1119 SELECT users.uuid AS tail_uuid,
1120 users.uuid AS head_uuid,
1122 ''::character varying AS edge_id
1125 SELECT links.tail_uuid,
1128 WHEN ((links.name)::text = 'can_read'::text) THEN 1
1129 WHEN ((links.name)::text = 'can_login'::text) THEN 1
1130 WHEN ((links.name)::text = 'can_write'::text) THEN 2
1131 WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1134 links.uuid AS edge_id
1136 WHERE ((links.link_class)::text = 'permission'::text);
1140 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1143 CREATE TABLE public.pipeline_instances (
1145 uuid character varying(255),
1146 owner_uuid character varying(255),
1147 created_at timestamp without time zone NOT NULL,
1148 modified_by_client_uuid character varying(255),
1149 modified_by_user_uuid character varying(255),
1150 modified_at timestamp without time zone,
1151 pipeline_template_uuid character varying(255),
1152 name character varying(255),
1154 updated_at timestamp without time zone NOT NULL,
1156 state character varying(255),
1157 components_summary text,
1158 started_at timestamp without time zone,
1159 finished_at timestamp without time zone,
1160 description character varying(524288)
1165 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1168 CREATE SEQUENCE public.pipeline_instances_id_seq
1177 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1180 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1184 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1187 CREATE TABLE public.pipeline_templates (
1189 uuid character varying(255),
1190 owner_uuid character varying(255),
1191 created_at timestamp without time zone NOT NULL,
1192 modified_by_client_uuid character varying(255),
1193 modified_by_user_uuid character varying(255),
1194 modified_at timestamp without time zone,
1195 name character varying(255),
1197 updated_at timestamp without time zone NOT NULL,
1198 description character varying(524288)
1203 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1206 CREATE SEQUENCE public.pipeline_templates_id_seq
1215 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1218 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1222 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1225 CREATE TABLE public.repositories (
1227 uuid character varying(255) NOT NULL,
1228 owner_uuid character varying(255) NOT NULL,
1229 modified_by_client_uuid character varying(255),
1230 modified_by_user_uuid character varying(255),
1231 modified_at timestamp without time zone,
1232 name character varying(255),
1233 created_at timestamp without time zone NOT NULL,
1234 updated_at timestamp without time zone NOT NULL
1239 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1242 CREATE SEQUENCE public.repositories_id_seq
1251 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1254 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1258 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1261 CREATE TABLE public.schema_migrations (
1262 version character varying(255) NOT NULL
1267 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1270 CREATE TABLE public.specimens (
1272 uuid character varying(255),
1273 owner_uuid character varying(255),
1274 created_at timestamp without time zone NOT NULL,
1275 modified_by_client_uuid character varying(255),
1276 modified_by_user_uuid character varying(255),
1277 modified_at timestamp without time zone,
1278 material character varying(255),
1279 updated_at timestamp without time zone NOT NULL,
1285 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1288 CREATE SEQUENCE public.specimens_id_seq
1297 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1300 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1304 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1307 CREATE TABLE public.traits (
1309 uuid character varying(255) NOT NULL,
1310 owner_uuid character varying(255) NOT NULL,
1311 modified_by_client_uuid character varying(255),
1312 modified_by_user_uuid character varying(255),
1313 modified_at timestamp without time zone,
1314 name character varying(255),
1316 created_at timestamp without time zone NOT NULL,
1317 updated_at timestamp without time zone NOT NULL
1322 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1325 CREATE SEQUENCE public.traits_id_seq
1334 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1337 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1341 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1344 CREATE TABLE public.trashed_groups (
1345 group_uuid character varying,
1346 trash_at timestamp without time zone
1351 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1354 CREATE SEQUENCE public.users_id_seq
1363 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1366 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1370 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1373 CREATE TABLE public.virtual_machines (
1375 uuid character varying(255) NOT NULL,
1376 owner_uuid character varying(255) NOT NULL,
1377 modified_by_client_uuid character varying(255),
1378 modified_by_user_uuid character varying(255),
1379 modified_at timestamp without time zone,
1380 hostname character varying(255),
1381 created_at timestamp without time zone NOT NULL,
1382 updated_at timestamp without time zone NOT NULL
1387 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1390 CREATE SEQUENCE public.virtual_machines_id_seq
1399 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1402 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1406 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1409 CREATE TABLE public.workflows (
1411 uuid character varying(255),
1412 owner_uuid character varying(255),
1413 created_at timestamp without time zone NOT NULL,
1414 modified_at timestamp without time zone,
1415 modified_by_client_uuid character varying(255),
1416 modified_by_user_uuid character varying(255),
1417 name character varying(255),
1420 updated_at timestamp without time zone NOT NULL
1425 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1428 CREATE SEQUENCE public.workflows_id_seq
1437 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1440 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1444 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1447 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1451 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1454 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1458 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1461 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1465 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1468 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1472 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1475 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1479 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1482 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1486 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1489 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1493 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1496 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1500 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1503 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1507 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1510 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1514 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1517 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1521 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1524 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1528 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1531 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1535 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1538 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1542 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1545 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1549 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1552 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1556 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1559 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1563 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1566 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1570 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1573 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1577 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1580 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1584 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1587 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1591 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1594 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1598 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1601 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1605 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1608 ALTER TABLE ONLY public.api_client_authorizations
1609 ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1613 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1616 ALTER TABLE ONLY public.api_clients
1617 ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1621 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1624 ALTER TABLE ONLY public.ar_internal_metadata
1625 ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1629 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1632 ALTER TABLE ONLY public.authorized_keys
1633 ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1637 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1640 ALTER TABLE ONLY public.collections
1641 ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1645 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1648 ALTER TABLE ONLY public.container_requests
1649 ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1653 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1656 ALTER TABLE ONLY public.containers
1657 ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1661 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1664 ALTER TABLE ONLY public.groups
1665 ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1669 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1672 ALTER TABLE ONLY public.humans
1673 ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1677 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1680 ALTER TABLE ONLY public.job_tasks
1681 ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1685 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1688 ALTER TABLE ONLY public.jobs
1689 ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1693 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1696 ALTER TABLE ONLY public.keep_disks
1697 ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1701 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1704 ALTER TABLE ONLY public.keep_services
1705 ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1709 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1712 ALTER TABLE ONLY public.links
1713 ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1717 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1720 ALTER TABLE ONLY public.logs
1721 ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1725 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1728 ALTER TABLE ONLY public.nodes
1729 ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1733 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1736 ALTER TABLE ONLY public.pipeline_instances
1737 ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1741 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1744 ALTER TABLE ONLY public.pipeline_templates
1745 ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1749 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1752 ALTER TABLE ONLY public.repositories
1753 ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1757 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1760 ALTER TABLE ONLY public.specimens
1761 ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1765 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1768 ALTER TABLE ONLY public.traits
1769 ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1773 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1776 ALTER TABLE ONLY public.users
1777 ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1781 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1784 ALTER TABLE ONLY public.virtual_machines
1785 ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1789 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1792 ALTER TABLE ONLY public.workflows
1793 ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1797 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1800 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);
1804 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1807 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);
1811 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1814 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);
1818 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1821 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1825 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1828 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);
1832 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1835 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);
1839 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1842 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1846 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1849 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);
1853 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1856 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);
1860 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1863 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);
1867 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1870 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1874 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1877 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);
1881 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1884 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);
1888 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1891 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1895 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1898 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1902 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1905 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1909 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1912 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1916 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1919 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1923 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1926 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1930 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1933 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1937 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1940 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
1944 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1947 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
1951 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
1954 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
1958 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
1961 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
1965 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1968 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
1972 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
1975 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
1979 -- Name: index_collections_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
1982 CREATE INDEX index_collections_on_created_at_and_uuid ON public.collections USING btree (created_at, uuid);
1986 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
1989 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
1993 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
1996 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
2000 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2003 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
2007 -- Name: index_collections_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2010 CREATE INDEX index_collections_on_modified_at_and_uuid ON public.collections USING btree (modified_at, uuid);
2014 -- Name: index_collections_on_name; Type: INDEX; Schema: public; Owner: -
2017 CREATE INDEX index_collections_on_name ON public.collections USING gin (name public.gin_trgm_ops);
2021 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2024 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
2028 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2031 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));
2035 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
2038 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
2042 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
2045 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
2049 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
2052 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
2056 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
2059 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
2063 -- Name: index_container_requests_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2066 CREATE INDEX index_container_requests_on_created_at_and_uuid ON public.container_requests USING btree (created_at, uuid);
2070 -- Name: index_container_requests_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2073 CREATE INDEX index_container_requests_on_modified_at_and_uuid ON public.container_requests USING btree (modified_at, uuid);
2077 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2080 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
2084 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
2087 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
2091 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
2094 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
2098 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
2101 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
2105 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2108 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2112 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2115 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2119 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2122 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2126 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2129 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2133 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2136 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2140 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2143 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));
2147 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2150 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2154 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2157 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2161 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2164 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2168 -- Name: index_frozen_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2171 CREATE UNIQUE INDEX index_frozen_groups_on_uuid ON public.frozen_groups USING btree (uuid);
2175 -- Name: index_groups_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2178 CREATE INDEX index_groups_on_created_at_and_uuid ON public.groups USING btree (created_at, uuid);
2182 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2185 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2189 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2192 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2196 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2199 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2203 -- Name: index_groups_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2206 CREATE INDEX index_groups_on_modified_at_and_uuid ON public.groups USING btree (modified_at, uuid);
2210 -- Name: index_groups_on_name; Type: INDEX; Schema: public; Owner: -
2213 CREATE INDEX index_groups_on_name ON public.groups USING gin (name public.gin_trgm_ops);
2217 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2220 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2224 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2227 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2231 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2234 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2238 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2241 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2245 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2248 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2252 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2255 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2259 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2262 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2266 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2269 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2273 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2276 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2280 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2283 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2287 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2290 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2294 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2297 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2301 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2304 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2308 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2311 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2315 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2318 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2322 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2325 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2329 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2332 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2336 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2339 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2343 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2346 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2350 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2353 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2357 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2360 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2364 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2367 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2371 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2374 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2378 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2381 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2385 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2388 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2392 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2395 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2399 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2402 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2406 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2409 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2413 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2416 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2420 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2423 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2427 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2430 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2434 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2437 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2441 -- Name: index_links_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2444 CREATE INDEX index_links_on_created_at_and_uuid ON public.links USING btree (created_at, uuid);
2448 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2451 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2455 -- Name: index_links_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2458 CREATE INDEX index_links_on_modified_at_and_uuid ON public.links USING btree (modified_at, uuid);
2462 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2465 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2469 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2472 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2476 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2479 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2483 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2486 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2490 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2493 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2497 -- Name: index_logs_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2500 CREATE INDEX index_logs_on_created_at_and_uuid ON public.logs USING btree (created_at, uuid);
2504 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2507 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2511 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2514 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2518 -- Name: index_logs_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2521 CREATE INDEX index_logs_on_modified_at_and_uuid ON public.logs USING btree (modified_at, uuid);
2525 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2528 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2532 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2535 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2539 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2542 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2546 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2549 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2553 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2556 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2560 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2563 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2567 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2570 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2574 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2577 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2581 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2584 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2588 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2591 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2595 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2598 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2602 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2605 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2609 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2612 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2616 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2619 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2623 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2626 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2630 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2633 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2637 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2640 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2644 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2647 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2651 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2654 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2658 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2661 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2665 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2668 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2672 -- Name: index_repositories_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2675 CREATE INDEX index_repositories_on_created_at_and_uuid ON public.repositories USING btree (created_at, uuid);
2679 -- Name: index_repositories_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2682 CREATE INDEX index_repositories_on_modified_at_and_uuid ON public.repositories USING btree (modified_at, uuid);
2686 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2689 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2693 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2696 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2700 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2703 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2707 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2710 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2714 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2717 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2721 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2724 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2728 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2731 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2735 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2738 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2742 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2745 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2749 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2752 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2756 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2759 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2763 -- Name: index_users_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2766 CREATE INDEX index_users_on_created_at_and_uuid ON public.users USING btree (created_at, uuid);
2770 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2773 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2777 -- Name: index_users_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2780 CREATE INDEX index_users_on_modified_at_and_uuid ON public.users USING btree (modified_at, uuid);
2784 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2787 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2791 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2794 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2798 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2801 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2805 -- Name: index_virtual_machines_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2808 CREATE INDEX index_virtual_machines_on_created_at_and_uuid ON public.virtual_machines USING btree (created_at, uuid);
2812 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2815 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2819 -- Name: index_virtual_machines_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2822 CREATE INDEX index_virtual_machines_on_modified_at_and_uuid ON public.virtual_machines USING btree (modified_at, uuid);
2826 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2829 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2833 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2836 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2840 -- Name: index_workflows_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2843 CREATE INDEX index_workflows_on_created_at_and_uuid ON public.workflows USING btree (created_at, uuid);
2847 -- Name: index_workflows_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2850 CREATE INDEX index_workflows_on_modified_at_and_uuid ON public.workflows USING btree (modified_at, uuid);
2854 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2857 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2861 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2864 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2868 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2871 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);
2875 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2878 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);
2882 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2885 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);
2889 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2892 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);
2896 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2899 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);
2903 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
2906 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
2910 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
2913 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);
2917 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
2920 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);
2924 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
2927 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);
2931 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
2934 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
2938 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
2941 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
2945 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
2948 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);
2952 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
2955 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
2959 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
2962 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
2966 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
2969 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);
2973 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2976 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);
2980 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
2983 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
2987 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
2990 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2994 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2997 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);
3001 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
3004 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3008 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
3011 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
3015 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
3018 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3022 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
3025 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
3029 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
3032 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);
3036 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
3039 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
3043 -- Name: workflows_search_idx; Type: INDEX; Schema: public; Owner: -
3046 CREATE INDEX workflows_search_idx ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3050 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3053 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);
3057 -- PostgreSQL database dump complete
3060 SET search_path TO "$user", public;
3062 INSERT INTO "schema_migrations" (version) VALUES