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: project_subtree_with_is_frozen(character varying, boolean); Type: FUNCTION; Schema: public; Owner: -
197 CREATE FUNCTION public.project_subtree_with_is_frozen(starting_uuid character varying, starting_is_frozen boolean) RETURNS TABLE(uuid character varying, is_frozen boolean)
201 project_subtree(uuid, is_frozen) as (
202 values (starting_uuid, starting_is_frozen)
204 select groups.uuid, project_subtree.is_frozen or groups.frozen_by_uuid is not null
205 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
207 select uuid, is_frozen from project_subtree;
212 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
215 CREATE FUNCTION public.project_subtree_with_trash_at(starting_uuid character varying, starting_trash_at timestamp without time zone) RETURNS TABLE(target_uuid character varying, trash_at timestamp without time zone)
218 /* Starting from a project, recursively traverse all the projects
219 underneath it and return a set of project uuids and trash_at times
220 (may be null). The initial trash_at can be a timestamp or null.
221 The trash_at time propagates downward to groups it owns, i.e. when a
222 group is trashed, everything underneath it in the ownership
223 hierarchy is also considered trashed. However, this is fact is
224 recorded in the trashed_groups table, not by updating trash_at field
228 project_subtree(uuid, trash_at) as (
229 values (starting_uuid, starting_trash_at)
231 select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
232 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
234 select uuid, trash_at from project_subtree;
239 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
242 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
243 LANGUAGE sql IMMUTABLE
245 /* Helper function. Determines if permission on an object implies
246 transitive permission to things the object owns. This is always
247 true for groups, but only true for users when the permission level
250 select starting_uuid like '_____-j7d0g-_______________' or
251 (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
255 SET default_tablespace = '';
257 SET default_with_oids = false;
260 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
263 CREATE TABLE public.api_client_authorizations (
265 api_token character varying(255) NOT NULL,
266 api_client_id integer NOT NULL,
267 user_id integer NOT NULL,
268 created_by_ip_address character varying(255),
269 last_used_by_ip_address character varying(255),
270 last_used_at timestamp without time zone,
271 expires_at timestamp without time zone,
272 created_at timestamp without time zone NOT NULL,
273 updated_at timestamp without time zone NOT NULL,
274 default_owner_uuid character varying(255),
275 scopes text DEFAULT '["all"]'::text,
276 uuid character varying(255) NOT NULL
281 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
284 CREATE SEQUENCE public.api_client_authorizations_id_seq
293 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
296 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
300 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
303 CREATE TABLE public.api_clients (
305 uuid character varying(255),
306 owner_uuid character varying(255),
307 modified_by_client_uuid character varying(255),
308 modified_by_user_uuid character varying(255),
309 modified_at timestamp without time zone,
310 name character varying(255),
311 url_prefix character varying(255),
312 created_at timestamp without time zone NOT NULL,
313 updated_at timestamp without time zone NOT NULL,
314 is_trusted boolean DEFAULT false
319 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
322 CREATE SEQUENCE public.api_clients_id_seq
331 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
334 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
338 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
341 CREATE TABLE public.ar_internal_metadata (
342 key character varying NOT NULL,
343 value character varying,
344 created_at timestamp without time zone NOT NULL,
345 updated_at timestamp without time zone NOT NULL
350 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
353 CREATE TABLE public.authorized_keys (
355 uuid character varying(255) NOT NULL,
356 owner_uuid character varying(255) NOT NULL,
357 modified_by_client_uuid character varying(255),
358 modified_by_user_uuid character varying(255),
359 modified_at timestamp without time zone,
360 name character varying(255),
361 key_type character varying(255),
362 authorized_user_uuid character varying(255),
364 expires_at timestamp without time zone,
365 created_at timestamp without time zone NOT NULL,
366 updated_at timestamp without time zone NOT NULL
371 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
374 CREATE SEQUENCE public.authorized_keys_id_seq
383 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
386 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
390 -- Name: collections; Type: TABLE; Schema: public; Owner: -
393 CREATE TABLE public.collections (
395 owner_uuid character varying(255),
396 created_at timestamp without time zone NOT NULL,
397 modified_by_client_uuid character varying(255),
398 modified_by_user_uuid character varying(255),
399 modified_at timestamp without time zone,
400 portable_data_hash character varying(255),
401 replication_desired integer,
402 replication_confirmed_at timestamp without time zone,
403 replication_confirmed integer,
404 updated_at timestamp without time zone NOT NULL,
405 uuid character varying(255),
407 name character varying(255),
408 description character varying(524288),
410 delete_at timestamp without time zone,
412 trash_at timestamp without time zone,
413 is_trashed boolean DEFAULT false NOT NULL,
414 storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
415 storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
416 storage_classes_confirmed_at timestamp without time zone,
417 current_version_uuid character varying,
418 version integer DEFAULT 1 NOT NULL,
419 preserve_version boolean DEFAULT false,
420 file_count integer DEFAULT 0 NOT NULL,
421 file_size_total bigint DEFAULT 0 NOT NULL
426 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
429 CREATE SEQUENCE public.collections_id_seq
438 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
441 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
445 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
448 CREATE TABLE public.container_requests (
450 uuid character varying(255),
451 owner_uuid character varying(255),
452 created_at timestamp without time zone NOT NULL,
453 modified_at timestamp without time zone,
454 modified_by_client_uuid character varying(255),
455 modified_by_user_uuid character varying(255),
456 name character varying(255),
459 state character varying(255),
460 requesting_container_uuid character varying(255),
461 container_uuid character varying(255),
462 container_count_max integer,
464 runtime_constraints text,
465 container_image character varying(255),
467 cwd character varying(255),
469 output_path character varying(255),
471 expires_at timestamp without time zone,
473 updated_at timestamp without time zone NOT NULL,
474 container_count integer DEFAULT 0,
475 use_existing boolean DEFAULT true,
476 scheduling_parameters text,
477 output_uuid character varying(255),
478 log_uuid character varying(255),
479 output_name character varying(255) DEFAULT NULL::character varying,
480 output_ttl integer DEFAULT 0 NOT NULL,
481 secret_mounts jsonb DEFAULT '{}'::jsonb,
483 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
484 output_properties jsonb DEFAULT '{}'::jsonb,
485 cumulative_cost double precision DEFAULT 0.0 NOT NULL
490 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
493 CREATE SEQUENCE public.container_requests_id_seq
502 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
505 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
509 -- Name: containers; Type: TABLE; Schema: public; Owner: -
512 CREATE TABLE public.containers (
514 uuid character varying(255),
515 owner_uuid character varying(255),
516 created_at timestamp without time zone NOT NULL,
517 modified_at timestamp without time zone,
518 modified_by_client_uuid character varying(255),
519 modified_by_user_uuid character varying(255),
520 state character varying(255),
521 started_at timestamp without time zone,
522 finished_at timestamp without time zone,
523 log character varying(255),
525 cwd character varying(255),
527 output_path character varying(255),
529 runtime_constraints text,
530 output character varying(255),
531 container_image character varying(255),
532 progress double precision,
534 updated_at timestamp without time zone NOT NULL,
536 auth_uuid character varying(255),
537 locked_by_uuid character varying(255),
538 scheduling_parameters text,
539 secret_mounts jsonb DEFAULT '{}'::jsonb,
540 secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
541 runtime_status jsonb DEFAULT '{}'::jsonb,
542 runtime_user_uuid text,
543 runtime_auth_scopes jsonb,
545 lock_count integer DEFAULT 0 NOT NULL,
546 gateway_address character varying,
547 interactive_session_started boolean DEFAULT false NOT NULL,
548 output_storage_classes jsonb DEFAULT '["default"]'::jsonb,
549 output_properties jsonb DEFAULT '{}'::jsonb,
550 cost double precision DEFAULT 0.0 NOT NULL,
551 subrequests_cost double precision DEFAULT 0.0 NOT NULL
556 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
559 CREATE SEQUENCE public.containers_id_seq
568 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
571 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
575 -- Name: frozen_groups; Type: TABLE; Schema: public; Owner: -
578 CREATE TABLE public.frozen_groups (
579 uuid character varying
584 -- Name: groups; Type: TABLE; Schema: public; Owner: -
587 CREATE TABLE public.groups (
589 uuid character varying(255),
590 owner_uuid character varying(255),
591 created_at timestamp without time zone NOT NULL,
592 modified_by_client_uuid character varying(255),
593 modified_by_user_uuid character varying(255),
594 modified_at timestamp without time zone,
595 name character varying(255) NOT NULL,
596 description character varying(524288),
597 updated_at timestamp without time zone NOT NULL,
598 group_class character varying(255),
599 trash_at timestamp without time zone,
600 is_trashed boolean DEFAULT false NOT NULL,
601 delete_at timestamp without time zone,
602 properties jsonb DEFAULT '{}'::jsonb,
603 frozen_by_uuid character varying
608 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
611 CREATE SEQUENCE public.groups_id_seq
620 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
623 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
627 -- Name: humans; Type: TABLE; Schema: public; Owner: -
630 CREATE TABLE public.humans (
632 uuid character varying(255) NOT NULL,
633 owner_uuid character varying(255) NOT NULL,
634 modified_by_client_uuid character varying(255),
635 modified_by_user_uuid character varying(255),
636 modified_at timestamp without time zone,
638 created_at timestamp without time zone NOT NULL,
639 updated_at timestamp without time zone NOT NULL
644 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
647 CREATE SEQUENCE public.humans_id_seq
656 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
659 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
663 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
666 CREATE TABLE public.job_tasks (
668 uuid character varying(255),
669 owner_uuid character varying(255),
670 modified_by_client_uuid character varying(255),
671 modified_by_user_uuid character varying(255),
672 modified_at timestamp without time zone,
673 job_uuid character varying(255),
677 progress double precision,
679 created_at timestamp without time zone NOT NULL,
680 updated_at timestamp without time zone NOT NULL,
681 created_by_job_task_uuid character varying(255),
683 started_at timestamp without time zone,
684 finished_at timestamp without time zone
689 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
692 CREATE SEQUENCE public.job_tasks_id_seq
701 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
704 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
708 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
711 CREATE SEQUENCE public.job_tasks_qsequence_seq
720 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
723 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
727 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
730 CREATE TABLE public.jobs (
732 uuid character varying(255),
733 owner_uuid character varying(255),
734 modified_by_client_uuid character varying(255),
735 modified_by_user_uuid character varying(255),
736 modified_at timestamp without time zone,
737 submit_id character varying(255),
738 script character varying(255),
739 script_version character varying(255),
740 script_parameters text,
741 cancelled_by_client_uuid character varying(255),
742 cancelled_by_user_uuid character varying(255),
743 cancelled_at timestamp without time zone,
744 started_at timestamp without time zone,
745 finished_at timestamp without time zone,
748 output character varying(255),
749 created_at timestamp without time zone NOT NULL,
750 updated_at timestamp without time zone NOT NULL,
751 is_locked_by_uuid character varying(255),
752 log character varying(255),
754 runtime_constraints text,
755 nondeterministic boolean,
756 repository character varying(255),
757 supplied_script_version character varying(255),
758 docker_image_locator character varying(255),
759 priority integer DEFAULT 0 NOT NULL,
760 description character varying(524288),
761 state character varying(255),
762 arvados_sdk_version character varying(255),
764 script_parameters_digest character varying(255)
769 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
772 CREATE SEQUENCE public.jobs_id_seq
781 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
784 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
788 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
791 CREATE TABLE public.keep_disks (
793 uuid character varying(255) NOT NULL,
794 owner_uuid character varying(255) NOT NULL,
795 modified_by_client_uuid character varying(255),
796 modified_by_user_uuid character varying(255),
797 modified_at timestamp without time zone,
798 ping_secret character varying(255) NOT NULL,
799 node_uuid character varying(255),
800 filesystem_uuid character varying(255),
803 is_readable boolean DEFAULT true NOT NULL,
804 is_writable boolean DEFAULT true NOT NULL,
805 last_read_at timestamp without time zone,
806 last_write_at timestamp without time zone,
807 last_ping_at timestamp without time zone,
808 created_at timestamp without time zone NOT NULL,
809 updated_at timestamp without time zone NOT NULL,
810 keep_service_uuid character varying(255)
815 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
818 CREATE SEQUENCE public.keep_disks_id_seq
827 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
830 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
834 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
837 CREATE TABLE public.keep_services (
839 uuid character varying(255) NOT NULL,
840 owner_uuid character varying(255) NOT NULL,
841 modified_by_client_uuid character varying(255),
842 modified_by_user_uuid character varying(255),
843 modified_at timestamp without time zone,
844 service_host character varying(255),
845 service_port integer,
846 service_ssl_flag boolean,
847 service_type character varying(255),
848 created_at timestamp without time zone NOT NULL,
849 updated_at timestamp without time zone NOT NULL,
850 read_only boolean DEFAULT false NOT NULL
855 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
858 CREATE SEQUENCE public.keep_services_id_seq
867 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
870 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
874 -- Name: links; Type: TABLE; Schema: public; Owner: -
877 CREATE TABLE public.links (
879 uuid character varying(255),
880 owner_uuid character varying(255),
881 created_at timestamp without time zone NOT NULL,
882 modified_by_client_uuid character varying(255),
883 modified_by_user_uuid character varying(255),
884 modified_at timestamp without time zone,
885 tail_uuid character varying(255),
886 link_class character varying(255),
887 name character varying(255),
888 head_uuid character varying(255),
890 updated_at timestamp without time zone NOT NULL
895 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
898 CREATE SEQUENCE public.links_id_seq
907 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
910 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
914 -- Name: logs; Type: TABLE; Schema: public; Owner: -
917 CREATE TABLE public.logs (
919 uuid character varying(255),
920 owner_uuid character varying(255),
921 modified_by_client_uuid character varying(255),
922 modified_by_user_uuid character varying(255),
923 object_uuid character varying(255),
924 event_at timestamp without time zone,
925 event_type character varying(255),
928 created_at timestamp without time zone NOT NULL,
929 updated_at timestamp without time zone NOT NULL,
930 modified_at timestamp without time zone,
931 object_owner_uuid character varying(255)
936 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
939 CREATE SEQUENCE public.logs_id_seq
948 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
951 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
955 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
958 CREATE TABLE public.materialized_permissions (
959 user_uuid character varying,
960 target_uuid character varying,
962 traverse_owned boolean
967 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
970 CREATE TABLE public.nodes (
972 uuid character varying(255),
973 owner_uuid character varying(255),
974 created_at timestamp without time zone NOT NULL,
975 modified_by_client_uuid character varying(255),
976 modified_by_user_uuid character varying(255),
977 modified_at timestamp without time zone,
979 hostname character varying(255),
980 domain character varying(255),
981 ip_address character varying(255),
982 first_ping_at timestamp without time zone,
983 last_ping_at timestamp without time zone,
985 updated_at timestamp without time zone NOT NULL,
987 job_uuid character varying(255)
992 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
995 CREATE SEQUENCE public.nodes_id_seq
1004 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1007 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
1011 -- Name: users; Type: TABLE; Schema: public; Owner: -
1014 CREATE TABLE public.users (
1015 id integer NOT NULL,
1016 uuid character varying(255),
1017 owner_uuid character varying(255) NOT NULL,
1018 created_at timestamp without time zone NOT NULL,
1019 modified_by_client_uuid character varying(255),
1020 modified_by_user_uuid character varying(255),
1021 modified_at timestamp without time zone,
1022 email character varying(255),
1023 first_name character varying(255),
1024 last_name character varying(255),
1025 identity_url character varying(255),
1028 updated_at timestamp without time zone NOT NULL,
1029 default_owner_uuid character varying(255),
1030 is_active boolean DEFAULT false,
1031 username character varying(255),
1032 redirect_to_user_uuid character varying
1037 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1040 CREATE VIEW public.permission_graph_edges AS
1041 SELECT groups.owner_uuid AS tail_uuid,
1042 groups.uuid AS head_uuid,
1044 groups.uuid AS edge_id
1047 SELECT users.owner_uuid AS tail_uuid,
1048 users.uuid AS head_uuid,
1050 users.uuid AS edge_id
1053 SELECT users.uuid AS tail_uuid,
1054 users.uuid AS head_uuid,
1056 ''::character varying AS edge_id
1059 SELECT links.tail_uuid,
1062 WHEN ((links.name)::text = 'can_read'::text) THEN 1
1063 WHEN ((links.name)::text = 'can_login'::text) THEN 1
1064 WHEN ((links.name)::text = 'can_write'::text) THEN 2
1065 WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1068 links.uuid AS edge_id
1070 WHERE ((links.link_class)::text = 'permission'::text);
1074 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1077 CREATE TABLE public.pipeline_instances (
1078 id integer NOT NULL,
1079 uuid character varying(255),
1080 owner_uuid character varying(255),
1081 created_at timestamp without time zone NOT NULL,
1082 modified_by_client_uuid character varying(255),
1083 modified_by_user_uuid character varying(255),
1084 modified_at timestamp without time zone,
1085 pipeline_template_uuid character varying(255),
1086 name character varying(255),
1088 updated_at timestamp without time zone NOT NULL,
1090 state character varying(255),
1091 components_summary text,
1092 started_at timestamp without time zone,
1093 finished_at timestamp without time zone,
1094 description character varying(524288)
1099 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1102 CREATE SEQUENCE public.pipeline_instances_id_seq
1111 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1114 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1118 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1121 CREATE TABLE public.pipeline_templates (
1122 id integer NOT NULL,
1123 uuid character varying(255),
1124 owner_uuid character varying(255),
1125 created_at timestamp without time zone NOT NULL,
1126 modified_by_client_uuid character varying(255),
1127 modified_by_user_uuid character varying(255),
1128 modified_at timestamp without time zone,
1129 name character varying(255),
1131 updated_at timestamp without time zone NOT NULL,
1132 description character varying(524288)
1137 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1140 CREATE SEQUENCE public.pipeline_templates_id_seq
1149 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1152 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1156 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1159 CREATE TABLE public.repositories (
1160 id integer NOT NULL,
1161 uuid character varying(255) NOT NULL,
1162 owner_uuid character varying(255) NOT NULL,
1163 modified_by_client_uuid character varying(255),
1164 modified_by_user_uuid character varying(255),
1165 modified_at timestamp without time zone,
1166 name character varying(255),
1167 created_at timestamp without time zone NOT NULL,
1168 updated_at timestamp without time zone NOT NULL
1173 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1176 CREATE SEQUENCE public.repositories_id_seq
1185 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1188 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1192 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1195 CREATE TABLE public.schema_migrations (
1196 version character varying(255) NOT NULL
1201 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1204 CREATE TABLE public.specimens (
1205 id integer NOT NULL,
1206 uuid character varying(255),
1207 owner_uuid character varying(255),
1208 created_at timestamp without time zone NOT NULL,
1209 modified_by_client_uuid character varying(255),
1210 modified_by_user_uuid character varying(255),
1211 modified_at timestamp without time zone,
1212 material character varying(255),
1213 updated_at timestamp without time zone NOT NULL,
1219 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1222 CREATE SEQUENCE public.specimens_id_seq
1231 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1234 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1238 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1241 CREATE TABLE public.traits (
1242 id integer NOT NULL,
1243 uuid character varying(255) NOT NULL,
1244 owner_uuid character varying(255) NOT NULL,
1245 modified_by_client_uuid character varying(255),
1246 modified_by_user_uuid character varying(255),
1247 modified_at timestamp without time zone,
1248 name character varying(255),
1250 created_at timestamp without time zone NOT NULL,
1251 updated_at timestamp without time zone NOT NULL
1256 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1259 CREATE SEQUENCE public.traits_id_seq
1268 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1271 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1275 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1278 CREATE TABLE public.trashed_groups (
1279 group_uuid character varying,
1280 trash_at timestamp without time zone
1285 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1288 CREATE SEQUENCE public.users_id_seq
1297 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1300 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1304 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1307 CREATE TABLE public.virtual_machines (
1308 id integer NOT NULL,
1309 uuid character varying(255) NOT NULL,
1310 owner_uuid character varying(255) NOT NULL,
1311 modified_by_client_uuid character varying(255),
1312 modified_by_user_uuid character varying(255),
1313 modified_at timestamp without time zone,
1314 hostname character varying(255),
1315 created_at timestamp without time zone NOT NULL,
1316 updated_at timestamp without time zone NOT NULL
1321 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1324 CREATE SEQUENCE public.virtual_machines_id_seq
1333 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1336 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1340 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1343 CREATE TABLE public.workflows (
1344 id integer NOT NULL,
1345 uuid character varying(255),
1346 owner_uuid character varying(255),
1347 created_at timestamp without time zone NOT NULL,
1348 modified_at timestamp without time zone,
1349 modified_by_client_uuid character varying(255),
1350 modified_by_user_uuid character varying(255),
1351 name character varying(255),
1354 updated_at timestamp without time zone NOT NULL
1359 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1362 CREATE SEQUENCE public.workflows_id_seq
1371 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1374 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1378 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1381 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1385 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1388 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1392 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1395 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1399 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1402 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1406 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1409 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1413 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1416 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1420 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1423 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1427 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1430 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1434 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1437 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1441 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1444 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1448 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1451 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1455 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1458 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1462 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1465 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1469 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1472 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1476 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1479 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1483 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1486 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1490 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1493 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1497 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1500 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1504 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1507 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1511 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1514 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1518 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1521 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1525 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1528 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1532 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1535 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1539 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1542 ALTER TABLE ONLY public.api_client_authorizations
1543 ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1547 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1550 ALTER TABLE ONLY public.api_clients
1551 ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1555 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1558 ALTER TABLE ONLY public.ar_internal_metadata
1559 ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1563 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1566 ALTER TABLE ONLY public.authorized_keys
1567 ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1571 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1574 ALTER TABLE ONLY public.collections
1575 ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1579 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1582 ALTER TABLE ONLY public.container_requests
1583 ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1587 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1590 ALTER TABLE ONLY public.containers
1591 ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1595 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1598 ALTER TABLE ONLY public.groups
1599 ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1603 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1606 ALTER TABLE ONLY public.humans
1607 ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1611 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1614 ALTER TABLE ONLY public.job_tasks
1615 ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1619 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1622 ALTER TABLE ONLY public.jobs
1623 ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1627 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1630 ALTER TABLE ONLY public.keep_disks
1631 ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1635 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1638 ALTER TABLE ONLY public.keep_services
1639 ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1643 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1646 ALTER TABLE ONLY public.links
1647 ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1651 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1654 ALTER TABLE ONLY public.logs
1655 ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1659 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1662 ALTER TABLE ONLY public.nodes
1663 ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1667 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1670 ALTER TABLE ONLY public.pipeline_instances
1671 ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1675 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1678 ALTER TABLE ONLY public.pipeline_templates
1679 ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1683 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1686 ALTER TABLE ONLY public.repositories
1687 ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1691 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1694 ALTER TABLE ONLY public.specimens
1695 ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1699 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1702 ALTER TABLE ONLY public.traits
1703 ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1707 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1710 ALTER TABLE ONLY public.users
1711 ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1715 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1718 ALTER TABLE ONLY public.virtual_machines
1719 ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1723 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1726 ALTER TABLE ONLY public.workflows
1727 ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1731 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1734 CREATE INDEX api_client_authorizations_search_index ON public.api_client_authorizations USING btree (api_token, created_by_ip_address, last_used_by_ip_address, default_owner_uuid, uuid);
1738 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1741 CREATE INDEX api_clients_search_index ON public.api_clients USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, url_prefix);
1745 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1748 CREATE INDEX authorized_keys_search_index ON public.authorized_keys USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, key_type, authorized_user_uuid);
1752 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1755 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1759 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1762 CREATE INDEX collections_search_index ON public.collections USING btree (owner_uuid, modified_by_client_uuid, modified_by_user_uuid, portable_data_hash, uuid, name, current_version_uuid);
1766 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1769 CREATE INDEX collections_trgm_text_search_idx ON public.collections USING gin (((((((((((((((((((COALESCE(owner_uuid, ''::character varying))::text || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(portable_data_hash, ''::character varying))::text) || ' '::text) || (COALESCE(uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || COALESCE((properties)::text, ''::text)) || ' '::text) || COALESCE(file_names, ''::text))) public.gin_trgm_ops);
1773 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1776 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1780 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1783 CREATE INDEX container_requests_search_index ON public.container_requests USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, state, requesting_container_uuid, container_uuid, container_image, cwd, output_path, output_uuid, log_uuid, output_name);
1787 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1790 CREATE INDEX container_requests_trgm_text_search_idx ON public.container_requests USING gin (((((((((((((((((((((((((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(description, ''::text)) || ' '::text) || COALESCE((properties)::text, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(requesting_container_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(container_uuid, ''::character varying))::text) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(container_image, ''::character varying))::text) || ' '::text) || COALESCE(environment, ''::text)) || ' '::text) || (COALESCE(cwd, ''::character varying))::text) || ' '::text) || COALESCE(command, ''::text)) || ' '::text) || (COALESCE(output_path, ''::character varying))::text) || ' '::text) || COALESCE(filters, ''::text)) || ' '::text) || COALESCE(scheduling_parameters, ''::text)) || ' '::text) || (COALESCE(output_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(log_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(output_name, ''::character varying))::text) || ' '::text) || COALESCE((output_properties)::text, ''::text))) public.gin_trgm_ops);
1794 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1797 CREATE INDEX containers_search_index ON public.containers USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, state, log, cwd, output_path, output, container_image, auth_uuid, locked_by_uuid);
1801 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1804 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1808 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1811 CREATE INDEX groups_search_index ON public.groups USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, group_class, frozen_by_uuid);
1815 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1818 CREATE INDEX groups_trgm_text_search_idx ON public.groups USING gin (((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(group_class, ''::character varying))::text) || ' '::text) || COALESCE((properties)::text, ''::text))) public.gin_trgm_ops);
1822 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1825 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1829 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1832 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1836 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1839 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1843 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1846 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1850 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1853 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1857 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1860 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1864 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1867 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1871 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1874 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
1878 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1881 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
1885 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
1888 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
1892 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
1895 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
1899 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1902 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
1906 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
1909 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
1913 -- Name: index_collections_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
1916 CREATE INDEX index_collections_on_created_at_and_uuid ON public.collections USING btree (created_at, uuid);
1920 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
1923 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
1927 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
1930 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
1934 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
1937 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
1941 -- Name: index_collections_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
1944 CREATE INDEX index_collections_on_modified_at_and_uuid ON public.collections USING btree (modified_at, uuid);
1948 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1951 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
1955 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
1958 CREATE UNIQUE INDEX index_collections_on_owner_uuid_and_name ON public.collections USING btree (owner_uuid, name) WHERE ((is_trashed = false) AND ((current_version_uuid)::text = (uuid)::text));
1962 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
1965 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
1969 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
1972 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
1976 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
1979 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
1983 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
1986 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
1990 -- Name: index_container_requests_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
1993 CREATE INDEX index_container_requests_on_created_at_and_uuid ON public.container_requests USING btree (created_at, uuid);
1997 -- Name: index_container_requests_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2000 CREATE INDEX index_container_requests_on_modified_at_and_uuid ON public.container_requests USING btree (modified_at, uuid);
2004 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2007 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
2011 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
2014 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
2018 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
2021 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
2025 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
2028 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
2032 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2035 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2039 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2042 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2046 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2049 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2053 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2056 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2060 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2063 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2067 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2070 CREATE INDEX index_containers_on_reuse_columns ON public.containers USING btree (md5(command), cwd, md5(environment), output_path, container_image, md5(mounts), secret_mounts_md5, md5(runtime_constraints));
2074 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2077 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2081 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2084 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2088 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2091 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2095 -- Name: index_frozen_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2098 CREATE UNIQUE INDEX index_frozen_groups_on_uuid ON public.frozen_groups USING btree (uuid);
2102 -- Name: index_groups_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2105 CREATE INDEX index_groups_on_created_at_and_uuid ON public.groups USING btree (created_at, uuid);
2109 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2112 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2116 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2119 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2123 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2126 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2130 -- Name: index_groups_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2133 CREATE INDEX index_groups_on_modified_at_and_uuid ON public.groups USING btree (modified_at, uuid);
2137 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2140 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2144 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2147 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2151 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2154 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2158 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2161 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2165 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2168 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2172 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2175 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2179 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2182 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2186 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2189 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2193 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2196 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2200 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2203 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2207 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2210 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2214 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2217 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2221 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2224 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2228 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2231 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2235 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2238 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2242 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2245 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2249 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2252 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2256 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2259 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2263 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2266 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2270 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2273 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2277 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2280 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2284 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2287 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2291 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2294 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2298 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2301 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2305 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2308 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2312 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2315 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2319 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2322 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2326 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2329 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2333 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2336 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2340 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2343 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2347 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2350 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2354 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2357 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2361 -- Name: index_links_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2364 CREATE INDEX index_links_on_created_at_and_uuid ON public.links USING btree (created_at, uuid);
2368 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2371 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2375 -- Name: index_links_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2378 CREATE INDEX index_links_on_modified_at_and_uuid ON public.links USING btree (modified_at, uuid);
2382 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2385 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2389 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2392 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2396 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2399 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2403 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2406 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2410 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2413 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2417 -- Name: index_logs_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2420 CREATE INDEX index_logs_on_created_at_and_uuid ON public.logs USING btree (created_at, uuid);
2424 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2427 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2431 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2434 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2438 -- Name: index_logs_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2441 CREATE INDEX index_logs_on_modified_at_and_uuid ON public.logs USING btree (modified_at, uuid);
2445 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2448 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2452 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2455 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2459 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2462 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2466 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2469 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2473 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2476 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2480 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2483 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2487 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2490 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2494 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2497 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2501 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2504 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2508 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2511 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2515 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2518 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2522 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2525 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2529 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2532 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2536 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2539 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2543 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2546 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2550 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2553 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2557 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2560 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2564 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2567 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2571 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2574 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2578 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2581 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2585 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2588 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2592 -- Name: index_repositories_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2595 CREATE INDEX index_repositories_on_created_at_and_uuid ON public.repositories USING btree (created_at, uuid);
2599 -- Name: index_repositories_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2602 CREATE INDEX index_repositories_on_modified_at_and_uuid ON public.repositories USING btree (modified_at, uuid);
2606 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2609 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2613 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2616 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2620 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2623 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2627 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2630 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2634 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2637 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2641 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2644 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2648 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2651 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2655 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2658 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2662 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2665 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2669 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2672 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2676 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2679 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2683 -- Name: index_users_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2686 CREATE INDEX index_users_on_created_at_and_uuid ON public.users USING btree (created_at, uuid);
2690 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2693 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2697 -- Name: index_users_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2700 CREATE INDEX index_users_on_modified_at_and_uuid ON public.users USING btree (modified_at, uuid);
2704 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2707 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2711 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2714 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2718 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2721 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2725 -- Name: index_virtual_machines_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2728 CREATE INDEX index_virtual_machines_on_created_at_and_uuid ON public.virtual_machines USING btree (created_at, uuid);
2732 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2735 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2739 -- Name: index_virtual_machines_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2742 CREATE INDEX index_virtual_machines_on_modified_at_and_uuid ON public.virtual_machines USING btree (modified_at, uuid);
2746 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2749 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2753 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2756 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2760 -- Name: index_workflows_on_created_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2763 CREATE INDEX index_workflows_on_created_at_and_uuid ON public.workflows USING btree (created_at, uuid);
2767 -- Name: index_workflows_on_modified_at_and_uuid; Type: INDEX; Schema: public; Owner: -
2770 CREATE INDEX index_workflows_on_modified_at_and_uuid ON public.workflows USING btree (modified_at, uuid);
2774 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2777 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2781 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2784 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2788 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2791 CREATE INDEX job_tasks_search_index ON public.job_tasks USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, job_uuid, created_by_job_task_uuid);
2795 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2798 CREATE INDEX jobs_search_index ON public.jobs USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, submit_id, script, script_version, cancelled_by_client_uuid, cancelled_by_user_uuid, output, is_locked_by_uuid, log, repository, supplied_script_version, docker_image_locator, state, arvados_sdk_version);
2802 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2805 CREATE INDEX jobs_trgm_text_search_idx ON public.jobs USING gin (((((((((((((((((((((((((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(submit_id, ''::character varying))::text) || ' '::text) || (COALESCE(script, ''::character varying))::text) || ' '::text) || (COALESCE(script_version, ''::character varying))::text) || ' '::text) || COALESCE(script_parameters, ''::text)) || ' '::text) || (COALESCE(cancelled_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(cancelled_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(output, ''::character varying))::text) || ' '::text) || (COALESCE(is_locked_by_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(log, ''::character varying))::text) || ' '::text) || COALESCE(tasks_summary, ''::text)) || ' '::text) || COALESCE(runtime_constraints, ''::text)) || ' '::text) || (COALESCE(repository, ''::character varying))::text) || ' '::text) || (COALESCE(supplied_script_version, ''::character varying))::text) || ' '::text) || (COALESCE(docker_image_locator, ''::character varying))::text) || ' '::text) || (COALESCE(description, ''::character varying))::text) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || (COALESCE(arvados_sdk_version, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text))) public.gin_trgm_ops);
2809 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2812 CREATE INDEX keep_disks_search_index ON public.keep_disks USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, ping_secret, node_uuid, filesystem_uuid, keep_service_uuid);
2816 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2819 CREATE INDEX keep_services_search_index ON public.keep_services USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, service_host, service_type);
2823 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
2826 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
2830 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
2833 CREATE INDEX links_search_index ON public.links USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, tail_uuid, link_class, name, head_uuid);
2837 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
2840 CREATE UNIQUE INDEX links_tail_name_unique_if_link_class_name ON public.links USING btree (tail_uuid, name) WHERE ((link_class)::text = 'name'::text);
2844 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
2847 CREATE INDEX logs_search_index ON public.logs USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, object_uuid, event_type, object_owner_uuid);
2851 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
2854 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
2858 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
2861 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
2865 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
2868 CREATE INDEX nodes_search_index ON public.nodes USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname, domain, ip_address, job_uuid);
2872 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
2875 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
2879 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
2882 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
2886 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
2889 CREATE INDEX pipeline_instances_search_index ON public.pipeline_instances USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, pipeline_template_uuid, name, state);
2893 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2896 CREATE INDEX pipeline_instances_trgm_text_search_idx ON public.pipeline_instances USING gin (((((((((((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(pipeline_template_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || COALESCE(properties, ''::text)) || ' '::text) || (COALESCE(state, ''::character varying))::text) || ' '::text) || COALESCE(components_summary, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text)) public.gin_trgm_ops);
2900 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
2903 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
2907 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
2910 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2914 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2917 CREATE INDEX pipeline_templates_trgm_text_search_idx ON public.pipeline_templates USING gin (((((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(components, ''::text)) || ' '::text) || (COALESCE(description, ''::character varying))::text)) public.gin_trgm_ops);
2921 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
2924 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2928 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
2931 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
2935 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
2938 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2942 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
2945 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
2949 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
2952 CREATE INDEX users_search_index ON public.users USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, email, first_name, last_name, identity_url, default_owner_uuid, username, redirect_to_user_uuid);
2956 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
2959 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
2963 -- Name: workflows_search_idx; Type: INDEX; Schema: public; Owner: -
2966 CREATE INDEX workflows_search_idx ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2970 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2973 CREATE INDEX workflows_trgm_text_search_idx ON public.workflows USING gin (((((((((((((COALESCE(uuid, ''::character varying))::text || ' '::text) || (COALESCE(owner_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_client_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(modified_by_user_uuid, ''::character varying))::text) || ' '::text) || (COALESCE(name, ''::character varying))::text) || ' '::text) || COALESCE(description, ''::text))) public.gin_trgm_ops);
2977 -- PostgreSQL database dump complete
2980 SET search_path TO "$user", public;
2982 INSERT INTO "schema_migrations" (version) VALUES