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: plpgsql; Type: EXTENSION; Schema: -; Owner: -
17 CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
21 -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
24 -- COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
28 -- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: -
31 CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public;
35 -- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: -
38 -- COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams';
42 -- Name: compute_permission_subgraph(character varying, character varying, integer); Type: FUNCTION; Schema: public; Owner: -
45 CREATE FUNCTION public.compute_permission_subgraph(perm_origin_uuid character varying, starting_uuid character varying, starting_perm integer) RETURNS TABLE(user_uuid character varying, target_uuid character varying, val integer, traverse_owned boolean)
48 /* perm_origin_uuid: The object that 'gets' or 'has' the permission.
50 starting_uuid: The starting object the permission applies to.
52 starting_perm: The permission that perm_origin_uuid 'has' on
53 starting_uuid One of 1, 2, 3 for can_read,
54 can_write, can_manage respectively, or 0 to revoke
57 This function is broken up into a number of clauses, described
60 Note on query optimization:
62 Each clause in a "with" statement is called a "common table
65 In Postgres, they are evaluated in sequence and results of each CTE
66 is stored in a temporary table. This means Postgres does not
67 propagate constraints from later subqueries to earlier subqueries
70 This is a problem if, for example, a later subquery chooses 10
71 items out of a set of 1000000 defined by an earlier subquery,
72 because it will always compute all 1000000 rows even if the query
73 on the 1000000 rows could have been constrained. This is why
74 permission_graph_edges is a view -- views are inlined so and can be
75 optimized using external constraints.
77 The query optimizer does sort the temporary tables for later use in
80 Final note, this query would have been almost impossible to write
81 (and certainly impossible to read) without splitting it up using
82 SQL "with" but unfortunately it also stumbles into a frustrating
83 Postgres optimizer bug, see
84 lib/refresh_permission_view.rb#update_permissions
85 for details and a partial workaround.
88 /* Gets the initial set of objects potentially affected by the
89 permission change, using search_permission_graph.
91 perm_from_start(perm_origin_uuid, target_uuid, val, traverse_owned) as (
94 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
96 values (perm_origin_uuid, starting_uuid, starting_perm,
97 should_traverse_owned(starting_uuid, starting_perm),
98 (perm_origin_uuid = starting_uuid or starting_uuid not like '_____-tpzed-_______________'))
101 (select traverse_graph.origin_uuid,
106 case (edges.tail_uuid = perm_origin_uuid AND
107 edges.head_uuid = starting_uuid)
108 when true then starting_perm
112 should_traverse_owned(edges.head_uuid, edges.val),
114 from permission_graph_edges as edges, traverse_graph
115 where traverse_graph.target_uuid = edges.tail_uuid
116 and (edges.tail_uuid like '_____-j7d0g-_______________' or
117 traverse_graph.starting_set)))
118 select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
119 group by (traverse_graph.origin_uuid, target_uuid)
122 /* Finds other inbound edges that grant permissions on the objects
123 in perm_from_start, and computes permissions that originate from
124 those. This is required to handle the case where there is more
125 than one path through which a user gets permission to an object.
126 For example, a user owns a project and also shares it can_read
127 with a group the user belongs to, adding the can_read link must
128 not overwrite the existing can_manage permission granted by
131 additional_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
134 traverse_graph(origin_uuid, target_uuid, val, traverse_owned, starting_set) as (
136 select edges.tail_uuid as origin_uuid, edges.head_uuid as target_uuid, edges.val,
137 should_traverse_owned(edges.head_uuid, edges.val),
138 edges.head_uuid like '_____-j7d0g-_______________'
139 from permission_graph_edges as edges
140 where (not (edges.tail_uuid = perm_origin_uuid and
141 edges.head_uuid = starting_uuid)) and
142 edges.tail_uuid not in (select target_uuid from perm_from_start where target_uuid like '_____-j7d0g-_______________') and
143 edges.head_uuid in (select target_uuid from perm_from_start)
146 (select traverse_graph.origin_uuid,
151 case (edges.tail_uuid = perm_origin_uuid AND
152 edges.head_uuid = starting_uuid)
153 when true then starting_perm
157 should_traverse_owned(edges.head_uuid, edges.val),
159 from permission_graph_edges as edges, traverse_graph
160 where traverse_graph.target_uuid = edges.tail_uuid
161 and (edges.tail_uuid like '_____-j7d0g-_______________' or
162 traverse_graph.starting_set)))
163 select traverse_graph.origin_uuid, target_uuid, max(val) as val, bool_or(traverse_owned) as traverse_owned from traverse_graph
164 group by (traverse_graph.origin_uuid, target_uuid)
167 /* Combines the permissions computed in the first two phases. */
168 all_perms(perm_origin_uuid, target_uuid, val, traverse_owned) as (
169 select * from perm_from_start
171 select * from additional_perms
174 /* The actual query that produces rows to be added or removed
175 from the materialized_permissions table. This is the clever
180 * Permissions are transitive (with some special cases involving
181 users, this is controlled by the traverse_owned flag).
183 * A user object can only gain permissions via an inbound edge,
184 or appearing in the graph.
186 * The materialized_permissions table includes the permission
187 each user has on the tail end of each inbound edge.
189 * The all_perms subquery has permissions for each object in the
190 subgraph reachable from certain origin (tail end of an edge).
192 * Therefore, for each user, we can compute user permissions on
193 each object in subgraph by determining the permission the user
194 has on each origin (tail end of an edge), joining that with the
195 perm_origin_uuid column of all_perms, and taking the least() of
196 the origin edge or all_perms val (because of the "least
197 permission on the path" rule). If an object was reachable by
198 more than one path (appears with more than one origin), we take
199 the max() of the computed permissions.
201 * Finally, because users always have permission on themselves, the
202 query also makes sure those permission rows are always
205 select v.user_uuid, v.target_uuid, max(v.perm_level), bool_or(v.traverse_owned) from
208 least(u.val, m.perm_level) as perm_level,
210 from all_perms as u, materialized_permissions as m
211 where u.perm_origin_uuid = m.target_uuid AND m.traverse_owned
212 AND (m.user_uuid = m.target_uuid or m.target_uuid not like '_____-tpzed-_______________')
214 select target_uuid as user_uuid, target_uuid, 3, true
216 where all_perms.target_uuid like '_____-tpzed-_______________') as v
217 group by v.user_uuid, v.target_uuid
222 -- Name: compute_trashed(); Type: FUNCTION; Schema: public; Owner: -
225 CREATE FUNCTION public.compute_trashed() RETURNS TABLE(uuid character varying, trash_at timestamp without time zone)
228 /* Helper function to populate trashed_groups table. This starts with
229 each group owned by a user and computes the subtree under that
230 group to find any groups that are trashed.
232 select ps.target_uuid as group_uuid, ps.trash_at from groups,
233 lateral project_subtree_with_trash_at(groups.uuid, groups.trash_at) ps
234 where groups.owner_uuid like '_____-tpzed-_______________'
239 -- Name: project_subtree_with_trash_at(character varying, timestamp without time zone); Type: FUNCTION; Schema: public; Owner: -
242 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)
245 /* Starting from a project, recursively traverse all the projects
246 underneath it and return a set of project uuids and trash_at times
247 (may be null). The initial trash_at can be a timestamp or null.
248 The trash_at time propagates downward to groups it owns, i.e. when a
249 group is trashed, everything underneath it in the ownership
250 hierarchy is also considered trashed. However, this is fact is
251 recorded in the trashed_groups table, not by updating trash_at field
255 project_subtree(uuid, trash_at) as (
256 values (starting_uuid, starting_trash_at)
258 select groups.uuid, LEAST(project_subtree.trash_at, groups.trash_at)
259 from groups join project_subtree on (groups.owner_uuid = project_subtree.uuid)
261 select uuid, trash_at from project_subtree;
266 -- Name: should_traverse_owned(character varying, integer); Type: FUNCTION; Schema: public; Owner: -
269 CREATE FUNCTION public.should_traverse_owned(starting_uuid character varying, starting_perm integer) RETURNS boolean
270 LANGUAGE sql IMMUTABLE
272 /* Helper function. Determines if permission on an object implies
273 transitive permission to things the object owns. This is always
274 true for groups, but only true for users when the permission level
277 select starting_uuid like '_____-j7d0g-_______________' or
278 (starting_uuid like '_____-tpzed-_______________' and starting_perm >= 3);
282 SET default_tablespace = '';
284 SET default_with_oids = false;
287 -- Name: api_client_authorizations; Type: TABLE; Schema: public; Owner: -
290 CREATE TABLE public.api_client_authorizations (
292 api_token character varying(255) NOT NULL,
293 api_client_id integer NOT NULL,
294 user_id integer NOT NULL,
295 created_by_ip_address character varying(255),
296 last_used_by_ip_address character varying(255),
297 last_used_at timestamp without time zone,
298 expires_at timestamp without time zone,
299 created_at timestamp without time zone NOT NULL,
300 updated_at timestamp without time zone NOT NULL,
301 default_owner_uuid character varying(255),
302 scopes text DEFAULT '["all"]'::text,
303 uuid character varying(255) NOT NULL
308 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE; Schema: public; Owner: -
311 CREATE SEQUENCE public.api_client_authorizations_id_seq
320 -- Name: api_client_authorizations_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
323 ALTER SEQUENCE public.api_client_authorizations_id_seq OWNED BY public.api_client_authorizations.id;
327 -- Name: api_clients; Type: TABLE; Schema: public; Owner: -
330 CREATE TABLE public.api_clients (
332 uuid character varying(255),
333 owner_uuid character varying(255),
334 modified_by_client_uuid character varying(255),
335 modified_by_user_uuid character varying(255),
336 modified_at timestamp without time zone,
337 name character varying(255),
338 url_prefix character varying(255),
339 created_at timestamp without time zone NOT NULL,
340 updated_at timestamp without time zone NOT NULL,
341 is_trusted boolean DEFAULT false
346 -- Name: api_clients_id_seq; Type: SEQUENCE; Schema: public; Owner: -
349 CREATE SEQUENCE public.api_clients_id_seq
358 -- Name: api_clients_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
361 ALTER SEQUENCE public.api_clients_id_seq OWNED BY public.api_clients.id;
365 -- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
368 CREATE TABLE public.ar_internal_metadata (
369 key character varying NOT NULL,
370 value character varying,
371 created_at timestamp without time zone NOT NULL,
372 updated_at timestamp without time zone NOT NULL
377 -- Name: authorized_keys; Type: TABLE; Schema: public; Owner: -
380 CREATE TABLE public.authorized_keys (
382 uuid character varying(255) NOT NULL,
383 owner_uuid character varying(255) NOT NULL,
384 modified_by_client_uuid character varying(255),
385 modified_by_user_uuid character varying(255),
386 modified_at timestamp without time zone,
387 name character varying(255),
388 key_type character varying(255),
389 authorized_user_uuid character varying(255),
391 expires_at timestamp without time zone,
392 created_at timestamp without time zone NOT NULL,
393 updated_at timestamp without time zone NOT NULL
398 -- Name: authorized_keys_id_seq; Type: SEQUENCE; Schema: public; Owner: -
401 CREATE SEQUENCE public.authorized_keys_id_seq
410 -- Name: authorized_keys_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
413 ALTER SEQUENCE public.authorized_keys_id_seq OWNED BY public.authorized_keys.id;
417 -- Name: collections; Type: TABLE; Schema: public; Owner: -
420 CREATE TABLE public.collections (
422 owner_uuid character varying(255),
423 created_at timestamp without time zone NOT NULL,
424 modified_by_client_uuid character varying(255),
425 modified_by_user_uuid character varying(255),
426 modified_at timestamp without time zone,
427 portable_data_hash character varying(255),
428 replication_desired integer,
429 replication_confirmed_at timestamp without time zone,
430 replication_confirmed integer,
431 updated_at timestamp without time zone NOT NULL,
432 uuid character varying(255),
434 name character varying(255),
435 description character varying(524288),
437 delete_at timestamp without time zone,
439 trash_at timestamp without time zone,
440 is_trashed boolean DEFAULT false NOT NULL,
441 storage_classes_desired jsonb DEFAULT '["default"]'::jsonb,
442 storage_classes_confirmed jsonb DEFAULT '[]'::jsonb,
443 storage_classes_confirmed_at timestamp without time zone,
444 current_version_uuid character varying,
445 version integer DEFAULT 1 NOT NULL,
446 preserve_version boolean DEFAULT false,
447 file_count integer DEFAULT 0 NOT NULL,
448 file_size_total bigint DEFAULT 0 NOT NULL
453 -- Name: collections_id_seq; Type: SEQUENCE; Schema: public; Owner: -
456 CREATE SEQUENCE public.collections_id_seq
465 -- Name: collections_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
468 ALTER SEQUENCE public.collections_id_seq OWNED BY public.collections.id;
472 -- Name: container_requests; Type: TABLE; Schema: public; Owner: -
475 CREATE TABLE public.container_requests (
477 uuid character varying(255),
478 owner_uuid character varying(255),
479 created_at timestamp without time zone NOT NULL,
480 modified_at timestamp without time zone,
481 modified_by_client_uuid character varying(255),
482 modified_by_user_uuid character varying(255),
483 name character varying(255),
486 state character varying(255),
487 requesting_container_uuid character varying(255),
488 container_uuid character varying(255),
489 container_count_max integer,
491 runtime_constraints text,
492 container_image character varying(255),
494 cwd character varying(255),
496 output_path character varying(255),
498 expires_at timestamp without time zone,
500 updated_at timestamp without time zone NOT NULL,
501 container_count integer DEFAULT 0,
502 use_existing boolean DEFAULT true,
503 scheduling_parameters text,
504 output_uuid character varying(255),
505 log_uuid character varying(255),
506 output_name character varying(255) DEFAULT NULL::character varying,
507 output_ttl integer DEFAULT 0 NOT NULL,
508 secret_mounts jsonb DEFAULT '{}'::jsonb,
514 -- Name: container_requests_id_seq; Type: SEQUENCE; Schema: public; Owner: -
517 CREATE SEQUENCE public.container_requests_id_seq
526 -- Name: container_requests_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
529 ALTER SEQUENCE public.container_requests_id_seq OWNED BY public.container_requests.id;
533 -- Name: containers; Type: TABLE; Schema: public; Owner: -
536 CREATE TABLE public.containers (
538 uuid character varying(255),
539 owner_uuid character varying(255),
540 created_at timestamp without time zone NOT NULL,
541 modified_at timestamp without time zone,
542 modified_by_client_uuid character varying(255),
543 modified_by_user_uuid character varying(255),
544 state character varying(255),
545 started_at timestamp without time zone,
546 finished_at timestamp without time zone,
547 log character varying(255),
549 cwd character varying(255),
551 output_path character varying(255),
553 runtime_constraints text,
554 output character varying(255),
555 container_image character varying(255),
556 progress double precision,
558 updated_at timestamp without time zone NOT NULL,
560 auth_uuid character varying(255),
561 locked_by_uuid character varying(255),
562 scheduling_parameters text,
563 secret_mounts jsonb DEFAULT '{}'::jsonb,
564 secret_mounts_md5 character varying DEFAULT '99914b932bd37a50b983c5e7c90ae93b'::character varying,
565 runtime_status jsonb DEFAULT '{}'::jsonb,
566 runtime_user_uuid text,
567 runtime_auth_scopes jsonb,
569 lock_count integer DEFAULT 0 NOT NULL
574 -- Name: containers_id_seq; Type: SEQUENCE; Schema: public; Owner: -
577 CREATE SEQUENCE public.containers_id_seq
586 -- Name: containers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
589 ALTER SEQUENCE public.containers_id_seq OWNED BY public.containers.id;
593 -- Name: groups; Type: TABLE; Schema: public; Owner: -
596 CREATE TABLE public.groups (
598 uuid character varying(255),
599 owner_uuid character varying(255),
600 created_at timestamp without time zone NOT NULL,
601 modified_by_client_uuid character varying(255),
602 modified_by_user_uuid character varying(255),
603 modified_at timestamp without time zone,
604 name character varying(255) NOT NULL,
605 description character varying(524288),
606 updated_at timestamp without time zone NOT NULL,
607 group_class character varying(255),
608 trash_at timestamp without time zone,
609 is_trashed boolean DEFAULT false NOT NULL,
610 delete_at timestamp without time zone,
611 properties jsonb DEFAULT '{}'::jsonb
616 -- Name: groups_id_seq; Type: SEQUENCE; Schema: public; Owner: -
619 CREATE SEQUENCE public.groups_id_seq
628 -- Name: groups_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
631 ALTER SEQUENCE public.groups_id_seq OWNED BY public.groups.id;
635 -- Name: humans; Type: TABLE; Schema: public; Owner: -
638 CREATE TABLE public.humans (
640 uuid character varying(255) NOT NULL,
641 owner_uuid character varying(255) NOT NULL,
642 modified_by_client_uuid character varying(255),
643 modified_by_user_uuid character varying(255),
644 modified_at timestamp without time zone,
646 created_at timestamp without time zone NOT NULL,
647 updated_at timestamp without time zone NOT NULL
652 -- Name: humans_id_seq; Type: SEQUENCE; Schema: public; Owner: -
655 CREATE SEQUENCE public.humans_id_seq
664 -- Name: humans_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
667 ALTER SEQUENCE public.humans_id_seq OWNED BY public.humans.id;
671 -- Name: job_tasks; Type: TABLE; Schema: public; Owner: -
674 CREATE TABLE public.job_tasks (
676 uuid character varying(255),
677 owner_uuid character varying(255),
678 modified_by_client_uuid character varying(255),
679 modified_by_user_uuid character varying(255),
680 modified_at timestamp without time zone,
681 job_uuid character varying(255),
685 progress double precision,
687 created_at timestamp without time zone NOT NULL,
688 updated_at timestamp without time zone NOT NULL,
689 created_by_job_task_uuid character varying(255),
691 started_at timestamp without time zone,
692 finished_at timestamp without time zone
697 -- Name: job_tasks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
700 CREATE SEQUENCE public.job_tasks_id_seq
709 -- Name: job_tasks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
712 ALTER SEQUENCE public.job_tasks_id_seq OWNED BY public.job_tasks.id;
716 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE; Schema: public; Owner: -
719 CREATE SEQUENCE public.job_tasks_qsequence_seq
728 -- Name: job_tasks_qsequence_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
731 ALTER SEQUENCE public.job_tasks_qsequence_seq OWNED BY public.job_tasks.qsequence;
735 -- Name: jobs; Type: TABLE; Schema: public; Owner: -
738 CREATE TABLE public.jobs (
740 uuid character varying(255),
741 owner_uuid character varying(255),
742 modified_by_client_uuid character varying(255),
743 modified_by_user_uuid character varying(255),
744 modified_at timestamp without time zone,
745 submit_id character varying(255),
746 script character varying(255),
747 script_version character varying(255),
748 script_parameters text,
749 cancelled_by_client_uuid character varying(255),
750 cancelled_by_user_uuid character varying(255),
751 cancelled_at timestamp without time zone,
752 started_at timestamp without time zone,
753 finished_at timestamp without time zone,
756 output character varying(255),
757 created_at timestamp without time zone NOT NULL,
758 updated_at timestamp without time zone NOT NULL,
759 is_locked_by_uuid character varying(255),
760 log character varying(255),
762 runtime_constraints text,
763 nondeterministic boolean,
764 repository character varying(255),
765 supplied_script_version character varying(255),
766 docker_image_locator character varying(255),
767 priority integer DEFAULT 0 NOT NULL,
768 description character varying(524288),
769 state character varying(255),
770 arvados_sdk_version character varying(255),
772 script_parameters_digest character varying(255)
777 -- Name: jobs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
780 CREATE SEQUENCE public.jobs_id_seq
789 -- Name: jobs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
792 ALTER SEQUENCE public.jobs_id_seq OWNED BY public.jobs.id;
796 -- Name: keep_disks; Type: TABLE; Schema: public; Owner: -
799 CREATE TABLE public.keep_disks (
801 uuid character varying(255) NOT NULL,
802 owner_uuid character varying(255) NOT NULL,
803 modified_by_client_uuid character varying(255),
804 modified_by_user_uuid character varying(255),
805 modified_at timestamp without time zone,
806 ping_secret character varying(255) NOT NULL,
807 node_uuid character varying(255),
808 filesystem_uuid character varying(255),
811 is_readable boolean DEFAULT true NOT NULL,
812 is_writable boolean DEFAULT true NOT NULL,
813 last_read_at timestamp without time zone,
814 last_write_at timestamp without time zone,
815 last_ping_at timestamp without time zone,
816 created_at timestamp without time zone NOT NULL,
817 updated_at timestamp without time zone NOT NULL,
818 keep_service_uuid character varying(255)
823 -- Name: keep_disks_id_seq; Type: SEQUENCE; Schema: public; Owner: -
826 CREATE SEQUENCE public.keep_disks_id_seq
835 -- Name: keep_disks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
838 ALTER SEQUENCE public.keep_disks_id_seq OWNED BY public.keep_disks.id;
842 -- Name: keep_services; Type: TABLE; Schema: public; Owner: -
845 CREATE TABLE public.keep_services (
847 uuid character varying(255) NOT NULL,
848 owner_uuid character varying(255) NOT NULL,
849 modified_by_client_uuid character varying(255),
850 modified_by_user_uuid character varying(255),
851 modified_at timestamp without time zone,
852 service_host character varying(255),
853 service_port integer,
854 service_ssl_flag boolean,
855 service_type character varying(255),
856 created_at timestamp without time zone NOT NULL,
857 updated_at timestamp without time zone NOT NULL,
858 read_only boolean DEFAULT false NOT NULL
863 -- Name: keep_services_id_seq; Type: SEQUENCE; Schema: public; Owner: -
866 CREATE SEQUENCE public.keep_services_id_seq
875 -- Name: keep_services_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
878 ALTER SEQUENCE public.keep_services_id_seq OWNED BY public.keep_services.id;
882 -- Name: links; Type: TABLE; Schema: public; Owner: -
885 CREATE TABLE public.links (
887 uuid character varying(255),
888 owner_uuid character varying(255),
889 created_at timestamp without time zone NOT NULL,
890 modified_by_client_uuid character varying(255),
891 modified_by_user_uuid character varying(255),
892 modified_at timestamp without time zone,
893 tail_uuid character varying(255),
894 link_class character varying(255),
895 name character varying(255),
896 head_uuid character varying(255),
898 updated_at timestamp without time zone NOT NULL
903 -- Name: links_id_seq; Type: SEQUENCE; Schema: public; Owner: -
906 CREATE SEQUENCE public.links_id_seq
915 -- Name: links_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
918 ALTER SEQUENCE public.links_id_seq OWNED BY public.links.id;
922 -- Name: logs; Type: TABLE; Schema: public; Owner: -
925 CREATE TABLE public.logs (
927 uuid character varying(255),
928 owner_uuid character varying(255),
929 modified_by_client_uuid character varying(255),
930 modified_by_user_uuid character varying(255),
931 object_uuid character varying(255),
932 event_at timestamp without time zone,
933 event_type character varying(255),
936 created_at timestamp without time zone NOT NULL,
937 updated_at timestamp without time zone NOT NULL,
938 modified_at timestamp without time zone,
939 object_owner_uuid character varying(255)
944 -- Name: logs_id_seq; Type: SEQUENCE; Schema: public; Owner: -
947 CREATE SEQUENCE public.logs_id_seq
956 -- Name: logs_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
959 ALTER SEQUENCE public.logs_id_seq OWNED BY public.logs.id;
963 -- Name: materialized_permissions; Type: TABLE; Schema: public; Owner: -
966 CREATE TABLE public.materialized_permissions (
967 user_uuid character varying,
968 target_uuid character varying,
970 traverse_owned boolean
975 -- Name: nodes; Type: TABLE; Schema: public; Owner: -
978 CREATE TABLE public.nodes (
980 uuid character varying(255),
981 owner_uuid character varying(255),
982 created_at timestamp without time zone NOT NULL,
983 modified_by_client_uuid character varying(255),
984 modified_by_user_uuid character varying(255),
985 modified_at timestamp without time zone,
987 hostname character varying(255),
988 domain character varying(255),
989 ip_address character varying(255),
990 first_ping_at timestamp without time zone,
991 last_ping_at timestamp without time zone,
993 updated_at timestamp without time zone NOT NULL,
995 job_uuid character varying(255)
1000 -- Name: nodes_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1003 CREATE SEQUENCE public.nodes_id_seq
1012 -- Name: nodes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1015 ALTER SEQUENCE public.nodes_id_seq OWNED BY public.nodes.id;
1019 -- Name: users; Type: TABLE; Schema: public; Owner: -
1022 CREATE TABLE public.users (
1023 id integer NOT NULL,
1024 uuid character varying(255),
1025 owner_uuid character varying(255) NOT NULL,
1026 created_at timestamp without time zone NOT NULL,
1027 modified_by_client_uuid character varying(255),
1028 modified_by_user_uuid character varying(255),
1029 modified_at timestamp without time zone,
1030 email character varying(255),
1031 first_name character varying(255),
1032 last_name character varying(255),
1033 identity_url character varying(255),
1036 updated_at timestamp without time zone NOT NULL,
1037 default_owner_uuid character varying(255),
1038 is_active boolean DEFAULT false,
1039 username character varying(255),
1040 redirect_to_user_uuid character varying
1045 -- Name: permission_graph_edges; Type: VIEW; Schema: public; Owner: -
1048 CREATE VIEW public.permission_graph_edges AS
1049 SELECT groups.owner_uuid AS tail_uuid,
1050 groups.uuid AS head_uuid,
1054 SELECT users.owner_uuid AS tail_uuid,
1055 users.uuid AS head_uuid,
1059 SELECT users.uuid AS tail_uuid,
1060 users.uuid AS head_uuid,
1064 SELECT links.tail_uuid,
1067 WHEN ((links.name)::text = 'can_read'::text) THEN 1
1068 WHEN ((links.name)::text = 'can_login'::text) THEN 1
1069 WHEN ((links.name)::text = 'can_write'::text) THEN 2
1070 WHEN ((links.name)::text = 'can_manage'::text) THEN 3
1074 WHERE ((links.link_class)::text = 'permission'::text);
1078 -- Name: pipeline_instances; Type: TABLE; Schema: public; Owner: -
1081 CREATE TABLE public.pipeline_instances (
1082 id integer NOT NULL,
1083 uuid character varying(255),
1084 owner_uuid character varying(255),
1085 created_at timestamp without time zone NOT NULL,
1086 modified_by_client_uuid character varying(255),
1087 modified_by_user_uuid character varying(255),
1088 modified_at timestamp without time zone,
1089 pipeline_template_uuid character varying(255),
1090 name character varying(255),
1092 updated_at timestamp without time zone NOT NULL,
1094 state character varying(255),
1095 components_summary text,
1096 started_at timestamp without time zone,
1097 finished_at timestamp without time zone,
1098 description character varying(524288)
1103 -- Name: pipeline_instances_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1106 CREATE SEQUENCE public.pipeline_instances_id_seq
1115 -- Name: pipeline_instances_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1118 ALTER SEQUENCE public.pipeline_instances_id_seq OWNED BY public.pipeline_instances.id;
1122 -- Name: pipeline_templates; Type: TABLE; Schema: public; Owner: -
1125 CREATE TABLE public.pipeline_templates (
1126 id integer NOT NULL,
1127 uuid character varying(255),
1128 owner_uuid character varying(255),
1129 created_at timestamp without time zone NOT NULL,
1130 modified_by_client_uuid character varying(255),
1131 modified_by_user_uuid character varying(255),
1132 modified_at timestamp without time zone,
1133 name character varying(255),
1135 updated_at timestamp without time zone NOT NULL,
1136 description character varying(524288)
1141 -- Name: pipeline_templates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1144 CREATE SEQUENCE public.pipeline_templates_id_seq
1153 -- Name: pipeline_templates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1156 ALTER SEQUENCE public.pipeline_templates_id_seq OWNED BY public.pipeline_templates.id;
1160 -- Name: repositories; Type: TABLE; Schema: public; Owner: -
1163 CREATE TABLE public.repositories (
1164 id integer NOT NULL,
1165 uuid character varying(255) NOT NULL,
1166 owner_uuid character varying(255) NOT NULL,
1167 modified_by_client_uuid character varying(255),
1168 modified_by_user_uuid character varying(255),
1169 modified_at timestamp without time zone,
1170 name character varying(255),
1171 created_at timestamp without time zone NOT NULL,
1172 updated_at timestamp without time zone NOT NULL
1177 -- Name: repositories_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1180 CREATE SEQUENCE public.repositories_id_seq
1189 -- Name: repositories_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1192 ALTER SEQUENCE public.repositories_id_seq OWNED BY public.repositories.id;
1196 -- Name: schema_migrations; Type: TABLE; Schema: public; Owner: -
1199 CREATE TABLE public.schema_migrations (
1200 version character varying(255) NOT NULL
1205 -- Name: specimens; Type: TABLE; Schema: public; Owner: -
1208 CREATE TABLE public.specimens (
1209 id integer NOT NULL,
1210 uuid character varying(255),
1211 owner_uuid character varying(255),
1212 created_at timestamp without time zone NOT NULL,
1213 modified_by_client_uuid character varying(255),
1214 modified_by_user_uuid character varying(255),
1215 modified_at timestamp without time zone,
1216 material character varying(255),
1217 updated_at timestamp without time zone NOT NULL,
1223 -- Name: specimens_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1226 CREATE SEQUENCE public.specimens_id_seq
1235 -- Name: specimens_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1238 ALTER SEQUENCE public.specimens_id_seq OWNED BY public.specimens.id;
1242 -- Name: traits; Type: TABLE; Schema: public; Owner: -
1245 CREATE TABLE public.traits (
1246 id integer NOT NULL,
1247 uuid character varying(255) NOT NULL,
1248 owner_uuid character varying(255) NOT NULL,
1249 modified_by_client_uuid character varying(255),
1250 modified_by_user_uuid character varying(255),
1251 modified_at timestamp without time zone,
1252 name character varying(255),
1254 created_at timestamp without time zone NOT NULL,
1255 updated_at timestamp without time zone NOT NULL
1260 -- Name: traits_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1263 CREATE SEQUENCE public.traits_id_seq
1272 -- Name: traits_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1275 ALTER SEQUENCE public.traits_id_seq OWNED BY public.traits.id;
1279 -- Name: trashed_groups; Type: TABLE; Schema: public; Owner: -
1282 CREATE TABLE public.trashed_groups (
1283 group_uuid character varying,
1284 trash_at timestamp without time zone
1289 -- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1292 CREATE SEQUENCE public.users_id_seq
1301 -- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1304 ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id;
1308 -- Name: virtual_machines; Type: TABLE; Schema: public; Owner: -
1311 CREATE TABLE public.virtual_machines (
1312 id integer NOT NULL,
1313 uuid character varying(255) NOT NULL,
1314 owner_uuid character varying(255) NOT NULL,
1315 modified_by_client_uuid character varying(255),
1316 modified_by_user_uuid character varying(255),
1317 modified_at timestamp without time zone,
1318 hostname character varying(255),
1319 created_at timestamp without time zone NOT NULL,
1320 updated_at timestamp without time zone NOT NULL
1325 -- Name: virtual_machines_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1328 CREATE SEQUENCE public.virtual_machines_id_seq
1337 -- Name: virtual_machines_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1340 ALTER SEQUENCE public.virtual_machines_id_seq OWNED BY public.virtual_machines.id;
1344 -- Name: workflows; Type: TABLE; Schema: public; Owner: -
1347 CREATE TABLE public.workflows (
1348 id integer NOT NULL,
1349 uuid character varying(255),
1350 owner_uuid character varying(255),
1351 created_at timestamp without time zone NOT NULL,
1352 modified_at timestamp without time zone,
1353 modified_by_client_uuid character varying(255),
1354 modified_by_user_uuid character varying(255),
1355 name character varying(255),
1358 updated_at timestamp without time zone NOT NULL
1363 -- Name: workflows_id_seq; Type: SEQUENCE; Schema: public; Owner: -
1366 CREATE SEQUENCE public.workflows_id_seq
1375 -- Name: workflows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
1378 ALTER SEQUENCE public.workflows_id_seq OWNED BY public.workflows.id;
1382 -- Name: api_client_authorizations id; Type: DEFAULT; Schema: public; Owner: -
1385 ALTER TABLE ONLY public.api_client_authorizations ALTER COLUMN id SET DEFAULT nextval('public.api_client_authorizations_id_seq'::regclass);
1389 -- Name: api_clients id; Type: DEFAULT; Schema: public; Owner: -
1392 ALTER TABLE ONLY public.api_clients ALTER COLUMN id SET DEFAULT nextval('public.api_clients_id_seq'::regclass);
1396 -- Name: authorized_keys id; Type: DEFAULT; Schema: public; Owner: -
1399 ALTER TABLE ONLY public.authorized_keys ALTER COLUMN id SET DEFAULT nextval('public.authorized_keys_id_seq'::regclass);
1403 -- Name: collections id; Type: DEFAULT; Schema: public; Owner: -
1406 ALTER TABLE ONLY public.collections ALTER COLUMN id SET DEFAULT nextval('public.collections_id_seq'::regclass);
1410 -- Name: container_requests id; Type: DEFAULT; Schema: public; Owner: -
1413 ALTER TABLE ONLY public.container_requests ALTER COLUMN id SET DEFAULT nextval('public.container_requests_id_seq'::regclass);
1417 -- Name: containers id; Type: DEFAULT; Schema: public; Owner: -
1420 ALTER TABLE ONLY public.containers ALTER COLUMN id SET DEFAULT nextval('public.containers_id_seq'::regclass);
1424 -- Name: groups id; Type: DEFAULT; Schema: public; Owner: -
1427 ALTER TABLE ONLY public.groups ALTER COLUMN id SET DEFAULT nextval('public.groups_id_seq'::regclass);
1431 -- Name: humans id; Type: DEFAULT; Schema: public; Owner: -
1434 ALTER TABLE ONLY public.humans ALTER COLUMN id SET DEFAULT nextval('public.humans_id_seq'::regclass);
1438 -- Name: job_tasks id; Type: DEFAULT; Schema: public; Owner: -
1441 ALTER TABLE ONLY public.job_tasks ALTER COLUMN id SET DEFAULT nextval('public.job_tasks_id_seq'::regclass);
1445 -- Name: jobs id; Type: DEFAULT; Schema: public; Owner: -
1448 ALTER TABLE ONLY public.jobs ALTER COLUMN id SET DEFAULT nextval('public.jobs_id_seq'::regclass);
1452 -- Name: keep_disks id; Type: DEFAULT; Schema: public; Owner: -
1455 ALTER TABLE ONLY public.keep_disks ALTER COLUMN id SET DEFAULT nextval('public.keep_disks_id_seq'::regclass);
1459 -- Name: keep_services id; Type: DEFAULT; Schema: public; Owner: -
1462 ALTER TABLE ONLY public.keep_services ALTER COLUMN id SET DEFAULT nextval('public.keep_services_id_seq'::regclass);
1466 -- Name: links id; Type: DEFAULT; Schema: public; Owner: -
1469 ALTER TABLE ONLY public.links ALTER COLUMN id SET DEFAULT nextval('public.links_id_seq'::regclass);
1473 -- Name: logs id; Type: DEFAULT; Schema: public; Owner: -
1476 ALTER TABLE ONLY public.logs ALTER COLUMN id SET DEFAULT nextval('public.logs_id_seq'::regclass);
1480 -- Name: nodes id; Type: DEFAULT; Schema: public; Owner: -
1483 ALTER TABLE ONLY public.nodes ALTER COLUMN id SET DEFAULT nextval('public.nodes_id_seq'::regclass);
1487 -- Name: pipeline_instances id; Type: DEFAULT; Schema: public; Owner: -
1490 ALTER TABLE ONLY public.pipeline_instances ALTER COLUMN id SET DEFAULT nextval('public.pipeline_instances_id_seq'::regclass);
1494 -- Name: pipeline_templates id; Type: DEFAULT; Schema: public; Owner: -
1497 ALTER TABLE ONLY public.pipeline_templates ALTER COLUMN id SET DEFAULT nextval('public.pipeline_templates_id_seq'::regclass);
1501 -- Name: repositories id; Type: DEFAULT; Schema: public; Owner: -
1504 ALTER TABLE ONLY public.repositories ALTER COLUMN id SET DEFAULT nextval('public.repositories_id_seq'::regclass);
1508 -- Name: specimens id; Type: DEFAULT; Schema: public; Owner: -
1511 ALTER TABLE ONLY public.specimens ALTER COLUMN id SET DEFAULT nextval('public.specimens_id_seq'::regclass);
1515 -- Name: traits id; Type: DEFAULT; Schema: public; Owner: -
1518 ALTER TABLE ONLY public.traits ALTER COLUMN id SET DEFAULT nextval('public.traits_id_seq'::regclass);
1522 -- Name: users id; Type: DEFAULT; Schema: public; Owner: -
1525 ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass);
1529 -- Name: virtual_machines id; Type: DEFAULT; Schema: public; Owner: -
1532 ALTER TABLE ONLY public.virtual_machines ALTER COLUMN id SET DEFAULT nextval('public.virtual_machines_id_seq'::regclass);
1536 -- Name: workflows id; Type: DEFAULT; Schema: public; Owner: -
1539 ALTER TABLE ONLY public.workflows ALTER COLUMN id SET DEFAULT nextval('public.workflows_id_seq'::regclass);
1543 -- Name: api_client_authorizations api_client_authorizations_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1546 ALTER TABLE ONLY public.api_client_authorizations
1547 ADD CONSTRAINT api_client_authorizations_pkey PRIMARY KEY (id);
1551 -- Name: api_clients api_clients_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1554 ALTER TABLE ONLY public.api_clients
1555 ADD CONSTRAINT api_clients_pkey PRIMARY KEY (id);
1559 -- Name: ar_internal_metadata ar_internal_metadata_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1562 ALTER TABLE ONLY public.ar_internal_metadata
1563 ADD CONSTRAINT ar_internal_metadata_pkey PRIMARY KEY (key);
1567 -- Name: authorized_keys authorized_keys_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1570 ALTER TABLE ONLY public.authorized_keys
1571 ADD CONSTRAINT authorized_keys_pkey PRIMARY KEY (id);
1575 -- Name: collections collections_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1578 ALTER TABLE ONLY public.collections
1579 ADD CONSTRAINT collections_pkey PRIMARY KEY (id);
1583 -- Name: container_requests container_requests_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1586 ALTER TABLE ONLY public.container_requests
1587 ADD CONSTRAINT container_requests_pkey PRIMARY KEY (id);
1591 -- Name: containers containers_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1594 ALTER TABLE ONLY public.containers
1595 ADD CONSTRAINT containers_pkey PRIMARY KEY (id);
1599 -- Name: groups groups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1602 ALTER TABLE ONLY public.groups
1603 ADD CONSTRAINT groups_pkey PRIMARY KEY (id);
1607 -- Name: humans humans_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1610 ALTER TABLE ONLY public.humans
1611 ADD CONSTRAINT humans_pkey PRIMARY KEY (id);
1615 -- Name: job_tasks job_tasks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1618 ALTER TABLE ONLY public.job_tasks
1619 ADD CONSTRAINT job_tasks_pkey PRIMARY KEY (id);
1623 -- Name: jobs jobs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1626 ALTER TABLE ONLY public.jobs
1627 ADD CONSTRAINT jobs_pkey PRIMARY KEY (id);
1631 -- Name: keep_disks keep_disks_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1634 ALTER TABLE ONLY public.keep_disks
1635 ADD CONSTRAINT keep_disks_pkey PRIMARY KEY (id);
1639 -- Name: keep_services keep_services_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1642 ALTER TABLE ONLY public.keep_services
1643 ADD CONSTRAINT keep_services_pkey PRIMARY KEY (id);
1647 -- Name: links links_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1650 ALTER TABLE ONLY public.links
1651 ADD CONSTRAINT links_pkey PRIMARY KEY (id);
1655 -- Name: logs logs_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1658 ALTER TABLE ONLY public.logs
1659 ADD CONSTRAINT logs_pkey PRIMARY KEY (id);
1663 -- Name: nodes nodes_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1666 ALTER TABLE ONLY public.nodes
1667 ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
1671 -- Name: pipeline_instances pipeline_instances_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1674 ALTER TABLE ONLY public.pipeline_instances
1675 ADD CONSTRAINT pipeline_instances_pkey PRIMARY KEY (id);
1679 -- Name: pipeline_templates pipeline_templates_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1682 ALTER TABLE ONLY public.pipeline_templates
1683 ADD CONSTRAINT pipeline_templates_pkey PRIMARY KEY (id);
1687 -- Name: repositories repositories_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1690 ALTER TABLE ONLY public.repositories
1691 ADD CONSTRAINT repositories_pkey PRIMARY KEY (id);
1695 -- Name: specimens specimens_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1698 ALTER TABLE ONLY public.specimens
1699 ADD CONSTRAINT specimens_pkey PRIMARY KEY (id);
1703 -- Name: traits traits_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1706 ALTER TABLE ONLY public.traits
1707 ADD CONSTRAINT traits_pkey PRIMARY KEY (id);
1711 -- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1714 ALTER TABLE ONLY public.users
1715 ADD CONSTRAINT users_pkey PRIMARY KEY (id);
1719 -- Name: virtual_machines virtual_machines_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1722 ALTER TABLE ONLY public.virtual_machines
1723 ADD CONSTRAINT virtual_machines_pkey PRIMARY KEY (id);
1727 -- Name: workflows workflows_pkey; Type: CONSTRAINT; Schema: public; Owner: -
1730 ALTER TABLE ONLY public.workflows
1731 ADD CONSTRAINT workflows_pkey PRIMARY KEY (id);
1735 -- Name: api_client_authorizations_search_index; Type: INDEX; Schema: public; Owner: -
1738 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);
1742 -- Name: api_clients_search_index; Type: INDEX; Schema: public; Owner: -
1745 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);
1749 -- Name: authorized_keys_search_index; Type: INDEX; Schema: public; Owner: -
1752 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);
1756 -- Name: collection_index_on_properties; Type: INDEX; Schema: public; Owner: -
1759 CREATE INDEX collection_index_on_properties ON public.collections USING gin (properties);
1763 -- Name: collections_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
1766 CREATE INDEX collections_full_text_search_idx ON public.collections USING gin (to_tsvector('english'::regconfig, substr((((((((((((((((((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)), 0, 1000000)));
1770 -- Name: collections_search_index; Type: INDEX; Schema: public; Owner: -
1773 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);
1777 -- Name: collections_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1780 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);
1784 -- Name: container_requests_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
1787 CREATE INDEX container_requests_full_text_search_idx ON public.container_requests USING gin (to_tsvector('english'::regconfig, substr((((((((((((((((((((((((((((((((((((((((((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), 0, 1000000)));
1791 -- Name: container_requests_index_on_properties; Type: INDEX; Schema: public; Owner: -
1794 CREATE INDEX container_requests_index_on_properties ON public.container_requests USING gin (properties);
1798 -- Name: container_requests_search_index; Type: INDEX; Schema: public; Owner: -
1801 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);
1805 -- Name: container_requests_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1808 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)) public.gin_trgm_ops);
1812 -- Name: containers_search_index; Type: INDEX; Schema: public; Owner: -
1815 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);
1819 -- Name: group_index_on_properties; Type: INDEX; Schema: public; Owner: -
1822 CREATE INDEX group_index_on_properties ON public.groups USING gin (properties);
1826 -- Name: groups_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
1829 CREATE INDEX groups_full_text_search_idx ON public.groups USING gin (to_tsvector('english'::regconfig, substr((((((((((((((((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)), 0, 1000000)));
1833 -- Name: groups_search_index; Type: INDEX; Schema: public; Owner: -
1836 CREATE INDEX groups_search_index ON public.groups USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name, group_class);
1840 -- Name: groups_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
1843 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);
1847 -- Name: humans_search_index; Type: INDEX; Schema: public; Owner: -
1850 CREATE INDEX humans_search_index ON public.humans USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid);
1854 -- Name: index_api_client_authorizations_on_api_client_id; Type: INDEX; Schema: public; Owner: -
1857 CREATE INDEX index_api_client_authorizations_on_api_client_id ON public.api_client_authorizations USING btree (api_client_id);
1861 -- Name: index_api_client_authorizations_on_api_token; Type: INDEX; Schema: public; Owner: -
1864 CREATE UNIQUE INDEX index_api_client_authorizations_on_api_token ON public.api_client_authorizations USING btree (api_token);
1868 -- Name: index_api_client_authorizations_on_expires_at; Type: INDEX; Schema: public; Owner: -
1871 CREATE INDEX index_api_client_authorizations_on_expires_at ON public.api_client_authorizations USING btree (expires_at);
1875 -- Name: index_api_client_authorizations_on_user_id; Type: INDEX; Schema: public; Owner: -
1878 CREATE INDEX index_api_client_authorizations_on_user_id ON public.api_client_authorizations USING btree (user_id);
1882 -- Name: index_api_client_authorizations_on_uuid; Type: INDEX; Schema: public; Owner: -
1885 CREATE UNIQUE INDEX index_api_client_authorizations_on_uuid ON public.api_client_authorizations USING btree (uuid);
1889 -- Name: index_api_clients_on_created_at; Type: INDEX; Schema: public; Owner: -
1892 CREATE INDEX index_api_clients_on_created_at ON public.api_clients USING btree (created_at);
1896 -- Name: index_api_clients_on_modified_at; Type: INDEX; Schema: public; Owner: -
1899 CREATE INDEX index_api_clients_on_modified_at ON public.api_clients USING btree (modified_at);
1903 -- Name: index_api_clients_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1906 CREATE INDEX index_api_clients_on_owner_uuid ON public.api_clients USING btree (owner_uuid);
1910 -- Name: index_api_clients_on_uuid; Type: INDEX; Schema: public; Owner: -
1913 CREATE UNIQUE INDEX index_api_clients_on_uuid ON public.api_clients USING btree (uuid);
1917 -- Name: index_authkeys_on_user_and_expires_at; Type: INDEX; Schema: public; Owner: -
1920 CREATE INDEX index_authkeys_on_user_and_expires_at ON public.authorized_keys USING btree (authorized_user_uuid, expires_at);
1924 -- Name: index_authorized_keys_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1927 CREATE INDEX index_authorized_keys_on_owner_uuid ON public.authorized_keys USING btree (owner_uuid);
1931 -- Name: index_authorized_keys_on_uuid; Type: INDEX; Schema: public; Owner: -
1934 CREATE UNIQUE INDEX index_authorized_keys_on_uuid ON public.authorized_keys USING btree (uuid);
1938 -- Name: index_collections_on_created_at; Type: INDEX; Schema: public; Owner: -
1941 CREATE INDEX index_collections_on_created_at ON public.collections USING btree (created_at);
1945 -- Name: index_collections_on_current_version_uuid_and_version; Type: INDEX; Schema: public; Owner: -
1948 CREATE UNIQUE INDEX index_collections_on_current_version_uuid_and_version ON public.collections USING btree (current_version_uuid, version);
1952 -- Name: index_collections_on_delete_at; Type: INDEX; Schema: public; Owner: -
1955 CREATE INDEX index_collections_on_delete_at ON public.collections USING btree (delete_at);
1959 -- Name: index_collections_on_is_trashed; Type: INDEX; Schema: public; Owner: -
1962 CREATE INDEX index_collections_on_is_trashed ON public.collections USING btree (is_trashed);
1966 -- Name: index_collections_on_modified_at; Type: INDEX; Schema: public; Owner: -
1969 CREATE INDEX index_collections_on_modified_at ON public.collections USING btree (modified_at);
1973 -- Name: index_collections_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
1976 CREATE INDEX index_collections_on_modified_at_uuid ON public.collections USING btree (modified_at DESC, uuid);
1980 -- Name: index_collections_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
1983 CREATE INDEX index_collections_on_owner_uuid ON public.collections USING btree (owner_uuid);
1987 -- Name: index_collections_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
1990 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));
1994 -- Name: index_collections_on_portable_data_hash_and_trash_at; Type: INDEX; Schema: public; Owner: -
1997 CREATE INDEX index_collections_on_portable_data_hash_and_trash_at ON public.collections USING btree (portable_data_hash, trash_at);
2001 -- Name: index_collections_on_trash_at; Type: INDEX; Schema: public; Owner: -
2004 CREATE INDEX index_collections_on_trash_at ON public.collections USING btree (trash_at);
2008 -- Name: index_collections_on_uuid; Type: INDEX; Schema: public; Owner: -
2011 CREATE UNIQUE INDEX index_collections_on_uuid ON public.collections USING btree (uuid);
2015 -- Name: index_container_requests_on_container_uuid; Type: INDEX; Schema: public; Owner: -
2018 CREATE INDEX index_container_requests_on_container_uuid ON public.container_requests USING btree (container_uuid);
2022 -- Name: index_container_requests_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2025 CREATE INDEX index_container_requests_on_modified_at_uuid ON public.container_requests USING btree (modified_at DESC, uuid);
2029 -- Name: index_container_requests_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2032 CREATE INDEX index_container_requests_on_owner_uuid ON public.container_requests USING btree (owner_uuid);
2036 -- Name: index_container_requests_on_requesting_container_uuid; Type: INDEX; Schema: public; Owner: -
2039 CREATE INDEX index_container_requests_on_requesting_container_uuid ON public.container_requests USING btree (requesting_container_uuid);
2043 -- Name: index_container_requests_on_uuid; Type: INDEX; Schema: public; Owner: -
2046 CREATE UNIQUE INDEX index_container_requests_on_uuid ON public.container_requests USING btree (uuid);
2050 -- Name: index_containers_on_auth_uuid; Type: INDEX; Schema: public; Owner: -
2053 CREATE INDEX index_containers_on_auth_uuid ON public.containers USING btree (auth_uuid);
2057 -- Name: index_containers_on_locked_by_uuid_and_priority; Type: INDEX; Schema: public; Owner: -
2060 CREATE INDEX index_containers_on_locked_by_uuid_and_priority ON public.containers USING btree (locked_by_uuid, priority);
2064 -- Name: index_containers_on_locked_by_uuid_and_uuid; Type: INDEX; Schema: public; Owner: -
2067 CREATE INDEX index_containers_on_locked_by_uuid_and_uuid ON public.containers USING btree (locked_by_uuid, uuid);
2071 -- Name: index_containers_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2074 CREATE INDEX index_containers_on_modified_at_uuid ON public.containers USING btree (modified_at DESC, uuid);
2078 -- Name: index_containers_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2081 CREATE INDEX index_containers_on_owner_uuid ON public.containers USING btree (owner_uuid);
2085 -- Name: index_containers_on_queued_state; Type: INDEX; Schema: public; Owner: -
2088 CREATE INDEX index_containers_on_queued_state ON public.containers USING btree (state, ((priority > 0)));
2092 -- Name: index_containers_on_reuse_columns; Type: INDEX; Schema: public; Owner: -
2095 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));
2099 -- Name: index_containers_on_runtime_status; Type: INDEX; Schema: public; Owner: -
2102 CREATE INDEX index_containers_on_runtime_status ON public.containers USING gin (runtime_status);
2106 -- Name: index_containers_on_secret_mounts_md5; Type: INDEX; Schema: public; Owner: -
2109 CREATE INDEX index_containers_on_secret_mounts_md5 ON public.containers USING btree (secret_mounts_md5);
2113 -- Name: index_containers_on_uuid; Type: INDEX; Schema: public; Owner: -
2116 CREATE UNIQUE INDEX index_containers_on_uuid ON public.containers USING btree (uuid);
2120 -- Name: index_groups_on_created_at; Type: INDEX; Schema: public; Owner: -
2123 CREATE INDEX index_groups_on_created_at ON public.groups USING btree (created_at);
2127 -- Name: index_groups_on_delete_at; Type: INDEX; Schema: public; Owner: -
2130 CREATE INDEX index_groups_on_delete_at ON public.groups USING btree (delete_at);
2134 -- Name: index_groups_on_group_class; Type: INDEX; Schema: public; Owner: -
2137 CREATE INDEX index_groups_on_group_class ON public.groups USING btree (group_class);
2141 -- Name: index_groups_on_is_trashed; Type: INDEX; Schema: public; Owner: -
2144 CREATE INDEX index_groups_on_is_trashed ON public.groups USING btree (is_trashed);
2148 -- Name: index_groups_on_modified_at; Type: INDEX; Schema: public; Owner: -
2151 CREATE INDEX index_groups_on_modified_at ON public.groups USING btree (modified_at);
2155 -- Name: index_groups_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2158 CREATE INDEX index_groups_on_modified_at_uuid ON public.groups USING btree (modified_at DESC, uuid);
2162 -- Name: index_groups_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2165 CREATE INDEX index_groups_on_owner_uuid ON public.groups USING btree (owner_uuid);
2169 -- Name: index_groups_on_owner_uuid_and_name; Type: INDEX; Schema: public; Owner: -
2172 CREATE UNIQUE INDEX index_groups_on_owner_uuid_and_name ON public.groups USING btree (owner_uuid, name) WHERE (is_trashed = false);
2176 -- Name: index_groups_on_trash_at; Type: INDEX; Schema: public; Owner: -
2179 CREATE INDEX index_groups_on_trash_at ON public.groups USING btree (trash_at);
2183 -- Name: index_groups_on_uuid; Type: INDEX; Schema: public; Owner: -
2186 CREATE UNIQUE INDEX index_groups_on_uuid ON public.groups USING btree (uuid);
2190 -- Name: index_humans_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2193 CREATE INDEX index_humans_on_owner_uuid ON public.humans USING btree (owner_uuid);
2197 -- Name: index_humans_on_uuid; Type: INDEX; Schema: public; Owner: -
2200 CREATE UNIQUE INDEX index_humans_on_uuid ON public.humans USING btree (uuid);
2204 -- Name: index_job_tasks_on_created_at; Type: INDEX; Schema: public; Owner: -
2207 CREATE INDEX index_job_tasks_on_created_at ON public.job_tasks USING btree (created_at);
2211 -- Name: index_job_tasks_on_created_by_job_task_uuid; Type: INDEX; Schema: public; Owner: -
2214 CREATE INDEX index_job_tasks_on_created_by_job_task_uuid ON public.job_tasks USING btree (created_by_job_task_uuid);
2218 -- Name: index_job_tasks_on_job_uuid; Type: INDEX; Schema: public; Owner: -
2221 CREATE INDEX index_job_tasks_on_job_uuid ON public.job_tasks USING btree (job_uuid);
2225 -- Name: index_job_tasks_on_modified_at; Type: INDEX; Schema: public; Owner: -
2228 CREATE INDEX index_job_tasks_on_modified_at ON public.job_tasks USING btree (modified_at);
2232 -- Name: index_job_tasks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2235 CREATE INDEX index_job_tasks_on_owner_uuid ON public.job_tasks USING btree (owner_uuid);
2239 -- Name: index_job_tasks_on_sequence; Type: INDEX; Schema: public; Owner: -
2242 CREATE INDEX index_job_tasks_on_sequence ON public.job_tasks USING btree (sequence);
2246 -- Name: index_job_tasks_on_success; Type: INDEX; Schema: public; Owner: -
2249 CREATE INDEX index_job_tasks_on_success ON public.job_tasks USING btree (success);
2253 -- Name: index_job_tasks_on_uuid; Type: INDEX; Schema: public; Owner: -
2256 CREATE UNIQUE INDEX index_job_tasks_on_uuid ON public.job_tasks USING btree (uuid);
2260 -- Name: index_jobs_on_created_at; Type: INDEX; Schema: public; Owner: -
2263 CREATE INDEX index_jobs_on_created_at ON public.jobs USING btree (created_at);
2267 -- Name: index_jobs_on_finished_at; Type: INDEX; Schema: public; Owner: -
2270 CREATE INDEX index_jobs_on_finished_at ON public.jobs USING btree (finished_at);
2274 -- Name: index_jobs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2277 CREATE INDEX index_jobs_on_modified_at ON public.jobs USING btree (modified_at);
2281 -- Name: index_jobs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2284 CREATE INDEX index_jobs_on_modified_at_uuid ON public.jobs USING btree (modified_at DESC, uuid);
2288 -- Name: index_jobs_on_output; Type: INDEX; Schema: public; Owner: -
2291 CREATE INDEX index_jobs_on_output ON public.jobs USING btree (output);
2295 -- Name: index_jobs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2298 CREATE INDEX index_jobs_on_owner_uuid ON public.jobs USING btree (owner_uuid);
2302 -- Name: index_jobs_on_script; Type: INDEX; Schema: public; Owner: -
2305 CREATE INDEX index_jobs_on_script ON public.jobs USING btree (script);
2309 -- Name: index_jobs_on_script_parameters_digest; Type: INDEX; Schema: public; Owner: -
2312 CREATE INDEX index_jobs_on_script_parameters_digest ON public.jobs USING btree (script_parameters_digest);
2316 -- Name: index_jobs_on_started_at; Type: INDEX; Schema: public; Owner: -
2319 CREATE INDEX index_jobs_on_started_at ON public.jobs USING btree (started_at);
2323 -- Name: index_jobs_on_submit_id; Type: INDEX; Schema: public; Owner: -
2326 CREATE UNIQUE INDEX index_jobs_on_submit_id ON public.jobs USING btree (submit_id);
2330 -- Name: index_jobs_on_uuid; Type: INDEX; Schema: public; Owner: -
2333 CREATE UNIQUE INDEX index_jobs_on_uuid ON public.jobs USING btree (uuid);
2337 -- Name: index_keep_disks_on_filesystem_uuid; Type: INDEX; Schema: public; Owner: -
2340 CREATE INDEX index_keep_disks_on_filesystem_uuid ON public.keep_disks USING btree (filesystem_uuid);
2344 -- Name: index_keep_disks_on_last_ping_at; Type: INDEX; Schema: public; Owner: -
2347 CREATE INDEX index_keep_disks_on_last_ping_at ON public.keep_disks USING btree (last_ping_at);
2351 -- Name: index_keep_disks_on_node_uuid; Type: INDEX; Schema: public; Owner: -
2354 CREATE INDEX index_keep_disks_on_node_uuid ON public.keep_disks USING btree (node_uuid);
2358 -- Name: index_keep_disks_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2361 CREATE INDEX index_keep_disks_on_owner_uuid ON public.keep_disks USING btree (owner_uuid);
2365 -- Name: index_keep_disks_on_uuid; Type: INDEX; Schema: public; Owner: -
2368 CREATE UNIQUE INDEX index_keep_disks_on_uuid ON public.keep_disks USING btree (uuid);
2372 -- Name: index_keep_services_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2375 CREATE INDEX index_keep_services_on_owner_uuid ON public.keep_services USING btree (owner_uuid);
2379 -- Name: index_keep_services_on_uuid; Type: INDEX; Schema: public; Owner: -
2382 CREATE UNIQUE INDEX index_keep_services_on_uuid ON public.keep_services USING btree (uuid);
2386 -- Name: index_links_on_created_at; Type: INDEX; Schema: public; Owner: -
2389 CREATE INDEX index_links_on_created_at ON public.links USING btree (created_at);
2393 -- Name: index_links_on_head_uuid; Type: INDEX; Schema: public; Owner: -
2396 CREATE INDEX index_links_on_head_uuid ON public.links USING btree (head_uuid);
2400 -- Name: index_links_on_modified_at; Type: INDEX; Schema: public; Owner: -
2403 CREATE INDEX index_links_on_modified_at ON public.links USING btree (modified_at);
2407 -- Name: index_links_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2410 CREATE INDEX index_links_on_modified_at_uuid ON public.links USING btree (modified_at DESC, uuid);
2414 -- Name: index_links_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2417 CREATE INDEX index_links_on_owner_uuid ON public.links USING btree (owner_uuid);
2421 -- Name: index_links_on_substring_head_uuid; Type: INDEX; Schema: public; Owner: -
2424 CREATE INDEX index_links_on_substring_head_uuid ON public.links USING btree ("substring"((head_uuid)::text, 7, 5));
2428 -- Name: index_links_on_substring_tail_uuid; Type: INDEX; Schema: public; Owner: -
2431 CREATE INDEX index_links_on_substring_tail_uuid ON public.links USING btree ("substring"((tail_uuid)::text, 7, 5));
2435 -- Name: index_links_on_tail_uuid; Type: INDEX; Schema: public; Owner: -
2438 CREATE INDEX index_links_on_tail_uuid ON public.links USING btree (tail_uuid);
2442 -- Name: index_links_on_uuid; Type: INDEX; Schema: public; Owner: -
2445 CREATE UNIQUE INDEX index_links_on_uuid ON public.links USING btree (uuid);
2449 -- Name: index_logs_on_created_at; Type: INDEX; Schema: public; Owner: -
2452 CREATE INDEX index_logs_on_created_at ON public.logs USING btree (created_at);
2456 -- Name: index_logs_on_event_at; Type: INDEX; Schema: public; Owner: -
2459 CREATE INDEX index_logs_on_event_at ON public.logs USING btree (event_at);
2463 -- Name: index_logs_on_event_type; Type: INDEX; Schema: public; Owner: -
2466 CREATE INDEX index_logs_on_event_type ON public.logs USING btree (event_type);
2470 -- Name: index_logs_on_modified_at; Type: INDEX; Schema: public; Owner: -
2473 CREATE INDEX index_logs_on_modified_at ON public.logs USING btree (modified_at);
2477 -- Name: index_logs_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2480 CREATE INDEX index_logs_on_modified_at_uuid ON public.logs USING btree (modified_at DESC, uuid);
2484 -- Name: index_logs_on_object_owner_uuid; Type: INDEX; Schema: public; Owner: -
2487 CREATE INDEX index_logs_on_object_owner_uuid ON public.logs USING btree (object_owner_uuid);
2491 -- Name: index_logs_on_object_uuid; Type: INDEX; Schema: public; Owner: -
2494 CREATE INDEX index_logs_on_object_uuid ON public.logs USING btree (object_uuid);
2498 -- Name: index_logs_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2501 CREATE INDEX index_logs_on_owner_uuid ON public.logs USING btree (owner_uuid);
2505 -- Name: index_logs_on_summary; Type: INDEX; Schema: public; Owner: -
2508 CREATE INDEX index_logs_on_summary ON public.logs USING btree (summary);
2512 -- Name: index_logs_on_uuid; Type: INDEX; Schema: public; Owner: -
2515 CREATE UNIQUE INDEX index_logs_on_uuid ON public.logs USING btree (uuid);
2519 -- Name: index_nodes_on_created_at; Type: INDEX; Schema: public; Owner: -
2522 CREATE INDEX index_nodes_on_created_at ON public.nodes USING btree (created_at);
2526 -- Name: index_nodes_on_hostname; Type: INDEX; Schema: public; Owner: -
2529 CREATE INDEX index_nodes_on_hostname ON public.nodes USING btree (hostname);
2533 -- Name: index_nodes_on_modified_at; Type: INDEX; Schema: public; Owner: -
2536 CREATE INDEX index_nodes_on_modified_at ON public.nodes USING btree (modified_at);
2540 -- Name: index_nodes_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2543 CREATE INDEX index_nodes_on_owner_uuid ON public.nodes USING btree (owner_uuid);
2547 -- Name: index_nodes_on_slot_number; Type: INDEX; Schema: public; Owner: -
2550 CREATE UNIQUE INDEX index_nodes_on_slot_number ON public.nodes USING btree (slot_number);
2554 -- Name: index_nodes_on_uuid; Type: INDEX; Schema: public; Owner: -
2557 CREATE UNIQUE INDEX index_nodes_on_uuid ON public.nodes USING btree (uuid);
2561 -- Name: index_pipeline_instances_on_created_at; Type: INDEX; Schema: public; Owner: -
2564 CREATE INDEX index_pipeline_instances_on_created_at ON public.pipeline_instances USING btree (created_at);
2568 -- Name: index_pipeline_instances_on_modified_at; Type: INDEX; Schema: public; Owner: -
2571 CREATE INDEX index_pipeline_instances_on_modified_at ON public.pipeline_instances USING btree (modified_at);
2575 -- Name: index_pipeline_instances_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2578 CREATE INDEX index_pipeline_instances_on_modified_at_uuid ON public.pipeline_instances USING btree (modified_at DESC, uuid);
2582 -- Name: index_pipeline_instances_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2585 CREATE INDEX index_pipeline_instances_on_owner_uuid ON public.pipeline_instances USING btree (owner_uuid);
2589 -- Name: index_pipeline_instances_on_uuid; Type: INDEX; Schema: public; Owner: -
2592 CREATE UNIQUE INDEX index_pipeline_instances_on_uuid ON public.pipeline_instances USING btree (uuid);
2596 -- Name: index_pipeline_templates_on_created_at; Type: INDEX; Schema: public; Owner: -
2599 CREATE INDEX index_pipeline_templates_on_created_at ON public.pipeline_templates USING btree (created_at);
2603 -- Name: index_pipeline_templates_on_modified_at; Type: INDEX; Schema: public; Owner: -
2606 CREATE INDEX index_pipeline_templates_on_modified_at ON public.pipeline_templates USING btree (modified_at);
2610 -- Name: index_pipeline_templates_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2613 CREATE INDEX index_pipeline_templates_on_modified_at_uuid ON public.pipeline_templates USING btree (modified_at DESC, uuid);
2617 -- Name: index_pipeline_templates_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2620 CREATE INDEX index_pipeline_templates_on_owner_uuid ON public.pipeline_templates USING btree (owner_uuid);
2624 -- Name: index_pipeline_templates_on_uuid; Type: INDEX; Schema: public; Owner: -
2627 CREATE UNIQUE INDEX index_pipeline_templates_on_uuid ON public.pipeline_templates USING btree (uuid);
2631 -- Name: index_repositories_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2634 CREATE INDEX index_repositories_on_modified_at_uuid ON public.repositories USING btree (modified_at DESC, uuid);
2638 -- Name: index_repositories_on_name; Type: INDEX; Schema: public; Owner: -
2641 CREATE UNIQUE INDEX index_repositories_on_name ON public.repositories USING btree (name);
2645 -- Name: index_repositories_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2648 CREATE INDEX index_repositories_on_owner_uuid ON public.repositories USING btree (owner_uuid);
2652 -- Name: index_repositories_on_uuid; Type: INDEX; Schema: public; Owner: -
2655 CREATE UNIQUE INDEX index_repositories_on_uuid ON public.repositories USING btree (uuid);
2659 -- Name: index_specimens_on_created_at; Type: INDEX; Schema: public; Owner: -
2662 CREATE INDEX index_specimens_on_created_at ON public.specimens USING btree (created_at);
2666 -- Name: index_specimens_on_modified_at; Type: INDEX; Schema: public; Owner: -
2669 CREATE INDEX index_specimens_on_modified_at ON public.specimens USING btree (modified_at);
2673 -- Name: index_specimens_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2676 CREATE INDEX index_specimens_on_owner_uuid ON public.specimens USING btree (owner_uuid);
2680 -- Name: index_specimens_on_uuid; Type: INDEX; Schema: public; Owner: -
2683 CREATE UNIQUE INDEX index_specimens_on_uuid ON public.specimens USING btree (uuid);
2687 -- Name: index_traits_on_name; Type: INDEX; Schema: public; Owner: -
2690 CREATE INDEX index_traits_on_name ON public.traits USING btree (name);
2694 -- Name: index_traits_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2697 CREATE INDEX index_traits_on_owner_uuid ON public.traits USING btree (owner_uuid);
2701 -- Name: index_traits_on_uuid; Type: INDEX; Schema: public; Owner: -
2704 CREATE UNIQUE INDEX index_traits_on_uuid ON public.traits USING btree (uuid);
2708 -- Name: index_trashed_groups_on_group_uuid; Type: INDEX; Schema: public; Owner: -
2711 CREATE UNIQUE INDEX index_trashed_groups_on_group_uuid ON public.trashed_groups USING btree (group_uuid);
2715 -- Name: index_users_on_created_at; Type: INDEX; Schema: public; Owner: -
2718 CREATE INDEX index_users_on_created_at ON public.users USING btree (created_at);
2722 -- Name: index_users_on_identity_url; Type: INDEX; Schema: public; Owner: -
2725 CREATE UNIQUE INDEX index_users_on_identity_url ON public.users USING btree (identity_url);
2729 -- Name: index_users_on_modified_at; Type: INDEX; Schema: public; Owner: -
2732 CREATE INDEX index_users_on_modified_at ON public.users USING btree (modified_at);
2736 -- Name: index_users_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2739 CREATE INDEX index_users_on_modified_at_uuid ON public.users USING btree (modified_at DESC, uuid);
2743 -- Name: index_users_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2746 CREATE INDEX index_users_on_owner_uuid ON public.users USING btree (owner_uuid);
2750 -- Name: index_users_on_username; Type: INDEX; Schema: public; Owner: -
2753 CREATE UNIQUE INDEX index_users_on_username ON public.users USING btree (username);
2757 -- Name: index_users_on_uuid; Type: INDEX; Schema: public; Owner: -
2760 CREATE UNIQUE INDEX index_users_on_uuid ON public.users USING btree (uuid);
2764 -- Name: index_virtual_machines_on_hostname; Type: INDEX; Schema: public; Owner: -
2767 CREATE INDEX index_virtual_machines_on_hostname ON public.virtual_machines USING btree (hostname);
2771 -- Name: index_virtual_machines_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2774 CREATE INDEX index_virtual_machines_on_modified_at_uuid ON public.virtual_machines USING btree (modified_at DESC, uuid);
2778 -- Name: index_virtual_machines_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2781 CREATE INDEX index_virtual_machines_on_owner_uuid ON public.virtual_machines USING btree (owner_uuid);
2785 -- Name: index_virtual_machines_on_uuid; Type: INDEX; Schema: public; Owner: -
2788 CREATE UNIQUE INDEX index_virtual_machines_on_uuid ON public.virtual_machines USING btree (uuid);
2792 -- Name: index_workflows_on_modified_at_uuid; Type: INDEX; Schema: public; Owner: -
2795 CREATE INDEX index_workflows_on_modified_at_uuid ON public.workflows USING btree (modified_at DESC, uuid);
2799 -- Name: index_workflows_on_owner_uuid; Type: INDEX; Schema: public; Owner: -
2802 CREATE INDEX index_workflows_on_owner_uuid ON public.workflows USING btree (owner_uuid);
2806 -- Name: index_workflows_on_uuid; Type: INDEX; Schema: public; Owner: -
2809 CREATE UNIQUE INDEX index_workflows_on_uuid ON public.workflows USING btree (uuid);
2813 -- Name: job_tasks_search_index; Type: INDEX; Schema: public; Owner: -
2816 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);
2820 -- Name: jobs_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
2823 CREATE INDEX jobs_full_text_search_idx ON public.jobs USING gin (to_tsvector('english'::regconfig, substr((((((((((((((((((((((((((((((((((((((((((((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)), 0, 1000000)));
2827 -- Name: jobs_search_index; Type: INDEX; Schema: public; Owner: -
2830 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);
2834 -- Name: jobs_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2837 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);
2841 -- Name: keep_disks_search_index; Type: INDEX; Schema: public; Owner: -
2844 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);
2848 -- Name: keep_services_search_index; Type: INDEX; Schema: public; Owner: -
2851 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);
2855 -- Name: links_index_on_properties; Type: INDEX; Schema: public; Owner: -
2858 CREATE INDEX links_index_on_properties ON public.links USING gin (properties);
2862 -- Name: links_search_index; Type: INDEX; Schema: public; Owner: -
2865 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);
2869 -- Name: links_tail_name_unique_if_link_class_name; Type: INDEX; Schema: public; Owner: -
2872 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);
2876 -- Name: logs_search_index; Type: INDEX; Schema: public; Owner: -
2879 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);
2883 -- Name: nodes_index_on_info; Type: INDEX; Schema: public; Owner: -
2886 CREATE INDEX nodes_index_on_info ON public.nodes USING gin (info);
2890 -- Name: nodes_index_on_properties; Type: INDEX; Schema: public; Owner: -
2893 CREATE INDEX nodes_index_on_properties ON public.nodes USING gin (properties);
2897 -- Name: nodes_search_index; Type: INDEX; Schema: public; Owner: -
2900 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);
2904 -- Name: permission_target; Type: INDEX; Schema: public; Owner: -
2907 CREATE INDEX permission_target ON public.materialized_permissions USING btree (target_uuid);
2911 -- Name: permission_user_target; Type: INDEX; Schema: public; Owner: -
2914 CREATE UNIQUE INDEX permission_user_target ON public.materialized_permissions USING btree (user_uuid, target_uuid);
2918 -- Name: pipeline_instances_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
2921 CREATE INDEX pipeline_instances_full_text_search_idx ON public.pipeline_instances USING gin (to_tsvector('english'::regconfig, substr((((((((((((((((((((((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), 0, 1000000)));
2925 -- Name: pipeline_instances_search_index; Type: INDEX; Schema: public; Owner: -
2928 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);
2932 -- Name: pipeline_instances_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2935 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);
2939 -- Name: pipeline_template_owner_uuid_name_unique; Type: INDEX; Schema: public; Owner: -
2942 CREATE UNIQUE INDEX pipeline_template_owner_uuid_name_unique ON public.pipeline_templates USING btree (owner_uuid, name);
2946 -- Name: pipeline_templates_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
2949 CREATE INDEX pipeline_templates_full_text_search_idx ON public.pipeline_templates USING gin (to_tsvector('english'::regconfig, substr((((((((((((((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), 0, 1000000)));
2953 -- Name: pipeline_templates_search_index; Type: INDEX; Schema: public; Owner: -
2956 CREATE INDEX pipeline_templates_search_index ON public.pipeline_templates USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2960 -- Name: pipeline_templates_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
2963 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);
2967 -- Name: repositories_search_index; Type: INDEX; Schema: public; Owner: -
2970 CREATE INDEX repositories_search_index ON public.repositories USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2974 -- Name: specimens_search_index; Type: INDEX; Schema: public; Owner: -
2977 CREATE INDEX specimens_search_index ON public.specimens USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, material);
2981 -- Name: traits_search_index; Type: INDEX; Schema: public; Owner: -
2984 CREATE INDEX traits_search_index ON public.traits USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
2988 -- Name: unique_schema_migrations; Type: INDEX; Schema: public; Owner: -
2991 CREATE UNIQUE INDEX unique_schema_migrations ON public.schema_migrations USING btree (version);
2995 -- Name: users_search_index; Type: INDEX; Schema: public; Owner: -
2998 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);
3002 -- Name: virtual_machines_search_index; Type: INDEX; Schema: public; Owner: -
3005 CREATE INDEX virtual_machines_search_index ON public.virtual_machines USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, hostname);
3009 -- Name: workflows_full_text_search_idx; Type: INDEX; Schema: public; Owner: -
3012 CREATE INDEX workflows_full_text_search_idx ON public.workflows USING gin (to_tsvector('english'::regconfig, substr((((((((((((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)), 0, 1000000)));
3016 -- Name: workflows_search_idx; Type: INDEX; Schema: public; Owner: -
3019 CREATE INDEX workflows_search_idx ON public.workflows USING btree (uuid, owner_uuid, modified_by_client_uuid, modified_by_user_uuid, name);
3023 -- Name: workflows_trgm_text_search_idx; Type: INDEX; Schema: public; Owner: -
3026 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);
3030 -- PostgreSQL database dump complete
3033 SET search_path TO "$user", public;
3035 INSERT INTO "schema_migrations" (version) VALUES