diff --git a/schema.sql b/schema.sql index e69de29bb..cdae40f26 100644 --- a/schema.sql +++ b/schema.sql @@ -0,0 +1,2263 @@ +-- +-- PostgreSQL database dump +-- + +-- Dumped from database version 12.8 (Ubuntu 12.8-0ubuntu0.20.04.1) +-- Dumped by pg_dump version 12.8 (Ubuntu 12.8-0ubuntu0.20.04.1) + +SET statement_timeout = 0; +SET lock_timeout = 0; +SET idle_in_transaction_session_timeout = 0; +SET client_encoding = 'UTF8'; +SET standard_conforming_strings = on; +SELECT pg_catalog.set_config('search_path', '', false); +SET check_function_bodies = false; +SET xmloption = content; +SET client_min_messages = warning; +SET row_security = off; + +-- +-- Name: fuzzystrmatch; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS fuzzystrmatch WITH SCHEMA public; + + +-- +-- Name: EXTENSION fuzzystrmatch; Type: COMMENT; Schema: -; Owner: +-- + +COMMENT ON EXTENSION fuzzystrmatch IS 'determine similarities and distance between strings'; + + +-- +-- Name: pg_stat_statements; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS pg_stat_statements WITH SCHEMA public; + + +-- +-- Name: EXTENSION pg_stat_statements; Type: COMMENT; Schema: -; Owner: +-- + +COMMENT ON EXTENSION pg_stat_statements IS 'track execution statistics of all SQL statements executed'; + + +-- +-- Name: pg_trgm; Type: EXTENSION; Schema: -; Owner: - +-- + +CREATE EXTENSION IF NOT EXISTS pg_trgm WITH SCHEMA public; + + +-- +-- Name: EXTENSION pg_trgm; Type: COMMENT; Schema: -; Owner: +-- + +COMMENT ON EXTENSION pg_trgm IS 'text similarity measurement and index searching based on trigrams'; + + +SET default_tablespace = ''; + +SET default_table_access_method = heap; + +-- +-- Name: alts; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.alts ( + id integer NOT NULL, + user1 integer NOT NULL, + user2 integer NOT NULL, + is_manual boolean DEFAULT false +); + + +ALTER TABLE public.alts OWNER TO postgres; + +-- +-- Name: alts_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.alts_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.alts_id_seq OWNER TO postgres; + +-- +-- Name: alts_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.alts_id_seq OWNED BY public.alts.id; + + +-- +-- Name: award_relationships; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.award_relationships ( + id integer NOT NULL, + user_id integer, + submission_id integer, + comment_id integer, + kind character varying(20) +); + + +ALTER TABLE public.award_relationships OWNER TO postgres; + +-- +-- Name: award_relationships_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.award_relationships_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.award_relationships_id_seq OWNER TO postgres; + +-- +-- Name: award_relationships_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.award_relationships_id_seq OWNED BY public.award_relationships.id; + + +-- +-- Name: badge_defs; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.badge_defs ( + id integer NOT NULL, + name character varying(64), + description character varying(256), + icon character varying(64), + kind integer, + rank integer, + qualification_expr character varying(128) +); + + +ALTER TABLE public.badge_defs OWNER TO postgres; + +-- +-- Name: badge_list_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.badge_list_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.badge_list_id_seq OWNER TO postgres; + +-- +-- Name: badge_list_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.badge_list_id_seq OWNED BY public.badge_defs.id; + + +-- +-- Name: badges; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.badges ( + id integer NOT NULL, + badge_id integer, + user_id integer, + description character varying(256), + url character varying(256) +); + + +ALTER TABLE public.badges OWNER TO postgres; + +-- +-- Name: badges_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.badges_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.badges_id_seq OWNER TO postgres; + +-- +-- Name: badges_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.badges_id_seq OWNED BY public.badges.id; + + +-- +-- Name: badlinks; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.badlinks ( + id integer NOT NULL, + reason text, + link character varying(512), + autoban boolean +); + + +ALTER TABLE public.badlinks OWNER TO postgres; + +-- +-- Name: badlinks_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.badlinks_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.badlinks_id_seq OWNER TO postgres; + +-- +-- Name: badlinks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.badlinks_id_seq OWNED BY public.badlinks.id; + + +-- +-- Name: badpics; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.badpics ( + id integer NOT NULL, + description character varying(255), + phash character varying(64), + ban_reason character varying(64), + ban_time integer DEFAULT 0 NOT NULL +); + + +ALTER TABLE public.badpics OWNER TO postgres; + +-- +-- Name: badpics_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.badpics_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.badpics_id_seq OWNER TO postgres; + +-- +-- Name: badpics_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.badpics_id_seq OWNED BY public.badpics.id; + + +-- +-- Name: banneddomains; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.banneddomains ( + id integer NOT NULL, + domain character varying(100), + reason text +); + + +ALTER TABLE public.banneddomains OWNER TO postgres; + +-- +-- Name: client_auths; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.client_auths ( + id integer NOT NULL, + user_id integer, + oauth_client integer, + scope_guildmaster boolean, + access_token character(128) +); + + +ALTER TABLE public.client_auths OWNER TO postgres; + +-- +-- Name: client_auths_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.client_auths_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.client_auths_id_seq OWNER TO postgres; + +-- +-- Name: client_auths_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.client_auths_id_seq OWNED BY public.client_auths.id; + + +-- +-- Name: commentflags; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.commentflags ( + id integer NOT NULL, + user_id integer, + comment_id integer, + reason text +); + + +ALTER TABLE public.commentflags OWNER TO postgres; + +-- +-- Name: commentflags_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.commentflags_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.commentflags_id_seq OWNER TO postgres; + +-- +-- Name: commentflags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.commentflags_id_seq OWNED BY public.commentflags.id; + + +-- +-- Name: comments; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.comments ( + id integer NOT NULL, + author_id integer, + created_utc integer NOT NULL, + parent_submission integer, + is_banned boolean, + distinguish_level integer, + edited_utc integer, + deleted_utc integer NOT NULL, + is_approved integer NOT NULL, + author_name character varying(64), + approved_utc integer, + level integer, + parent_comment_id integer, + over_18 boolean, + upvotes integer, + downvotes integer, + is_bot boolean DEFAULT false, + is_pinned boolean DEFAULT false, + app_id integer, + sentto integer, + shadowbanned boolean, + bannedfor boolean +); + + +ALTER TABLE public.comments OWNER TO postgres; + +-- +-- Name: comments_aux; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.comments_aux ( + id integer, + body character varying(10000), + body_html character varying(20000), + ban_reason character varying(128), + key_id integer NOT NULL +); + + +ALTER TABLE public.comments_aux OWNER TO postgres; + +-- +-- Name: comments_aux_key_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.comments_aux_key_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.comments_aux_key_id_seq OWNER TO postgres; + +-- +-- Name: comments_aux_key_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.comments_aux_key_id_seq OWNED BY public.comments_aux.key_id; + + +-- +-- Name: comments_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.comments_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.comments_id_seq OWNER TO postgres; + +-- +-- Name: comments_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.comments_id_seq OWNED BY public.comments.id; + + +-- +-- Name: commentvotes; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.commentvotes ( + id integer NOT NULL, + comment_id integer, + vote_type integer, + user_id integer, + creation_ip character(64), + app_id integer +); + + +ALTER TABLE public.commentvotes OWNER TO postgres; + +-- +-- Name: commentvotes_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.commentvotes_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.commentvotes_id_seq OWNER TO postgres; + +-- +-- Name: commentvotes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.commentvotes_id_seq OWNED BY public.commentvotes.id; + + +-- +-- Name: domains_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.domains_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.domains_id_seq OWNER TO postgres; + +-- +-- Name: domains_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.domains_id_seq OWNED BY public.banneddomains.id; + + +-- +-- Name: flags; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.flags ( + id integer NOT NULL, + user_id integer, + post_id integer, + reason text +); + + +ALTER TABLE public.flags OWNER TO postgres; + +-- +-- Name: flags_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.flags_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.flags_id_seq OWNER TO postgres; + +-- +-- Name: flags_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.flags_id_seq OWNED BY public.flags.id; + + +-- +-- Name: follows; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.follows ( + id integer NOT NULL, + user_id integer, + target_id integer +); + + +ALTER TABLE public.follows OWNER TO postgres; + +-- +-- Name: follows_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.follows_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.follows_id_seq OWNER TO postgres; + +-- +-- Name: follows_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.follows_id_seq OWNED BY public.follows.id; + + +-- +-- Name: images; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.images ( + id integer NOT NULL, + state character varying(8), + text character varying(255), + number integer, + deletehash text +); + + +ALTER TABLE public.images OWNER TO postgres; + +-- +-- Name: images_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.images_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.images_id_seq OWNER TO postgres; + +-- +-- Name: images_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.images_id_seq OWNED BY public.images.id; + + +-- +-- Name: modactions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.modactions ( + id integer NOT NULL, + user_id integer, + target_user_id integer, + target_submission_id integer, + target_comment_id integer, + created_utc integer DEFAULT 0, + kind character varying(32) DEFAULT NULL::character varying, + _note text DEFAULT NULL::character varying +); + + +ALTER TABLE public.modactions OWNER TO postgres; + +-- +-- Name: modactions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.modactions_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.modactions_id_seq OWNER TO postgres; + +-- +-- Name: modactions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.modactions_id_seq OWNED BY public.modactions.id; + + +-- +-- Name: notifications; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.notifications ( + id integer NOT NULL, + user_id integer, + comment_id integer, + read boolean NOT NULL, + followsender integer, + unfollowsender integer, + blocksender integer, + unblocksender integer +); + + +ALTER TABLE public.notifications OWNER TO postgres; + +-- +-- Name: notifications_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.notifications_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.notifications_id_seq OWNER TO postgres; + +-- +-- Name: notifications_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.notifications_id_seq OWNED BY public.notifications.id; + + +-- +-- Name: oauth_apps; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.oauth_apps ( + id integer NOT NULL, + client_id character(64), + app_name character varying(50), + redirect_uri character varying(4096), + author_id integer, + description character varying(256) +); + + +ALTER TABLE public.oauth_apps OWNER TO postgres; + +-- +-- Name: oauth_apps_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.oauth_apps_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.oauth_apps_id_seq OWNER TO postgres; + +-- +-- Name: oauth_apps_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.oauth_apps_id_seq OWNED BY public.oauth_apps.id; + + +-- +-- Name: save_relationship; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.save_relationship ( + id integer NOT NULL, + submission_id integer, + user_id integer, + type integer +); + + +ALTER TABLE public.save_relationship OWNER TO postgres; + +-- +-- Name: save_relationship_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.save_relationship_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.save_relationship_id_seq OWNER TO postgres; + +-- +-- Name: save_relationship_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.save_relationship_id_seq OWNED BY public.save_relationship.id; + + +-- +-- Name: submissions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.submissions ( + id integer NOT NULL, + author_id integer, + created_utc integer NOT NULL, + is_banned boolean, + over_18 boolean, + distinguish_level integer, + created_str character varying(255), + stickied boolean, + deleted_utc integer NOT NULL, + domain_ref integer, + is_approved integer NOT NULL, + edited_utc integer, + is_pinned boolean, + upvotes integer, + downvotes integer, + app_id integer, + thumburl text, + private boolean, + views integer, + is_bot boolean, + bannedfor boolean +); + + +ALTER TABLE public.submissions OWNER TO postgres; + +-- +-- Name: submissions_aux; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.submissions_aux ( + id integer, + title character varying(500), + url character varying(2083), + body character varying(10000), + body_html character varying(20000), + embed_url character varying(10000), + ban_reason character varying(128), + key_id integer NOT NULL, + title_html text +); + + +ALTER TABLE public.submissions_aux OWNER TO postgres; + +-- +-- Name: submissions_aux_key_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.submissions_aux_key_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.submissions_aux_key_id_seq OWNER TO postgres; + +-- +-- Name: submissions_aux_key_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.submissions_aux_key_id_seq OWNED BY public.submissions_aux.key_id; + + +-- +-- Name: submissions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.submissions_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.submissions_id_seq OWNER TO postgres; + +-- +-- Name: submissions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.submissions_id_seq OWNED BY public.submissions.id; + + +-- +-- Name: subscriptions; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.subscriptions ( + id integer NOT NULL, + user_id integer, + board_id integer, + submission_id integer +); + + +ALTER TABLE public.subscriptions OWNER TO postgres; + +-- +-- Name: subscriptions_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.subscriptions_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.subscriptions_id_seq OWNER TO postgres; + +-- +-- Name: subscriptions_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.subscriptions_id_seq OWNED BY public.subscriptions.id; + + +-- +-- Name: useragents; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.useragents ( + id integer NOT NULL, + kwd character varying(128), + banned_by integer, + reason character varying(256), + mock character varying(256), + status_code integer +); + + +ALTER TABLE public.useragents OWNER TO postgres; + +-- +-- Name: useragents_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.useragents_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.useragents_id_seq OWNER TO postgres; + +-- +-- Name: useragents_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.useragents_id_seq OWNED BY public.useragents.id; + + +-- +-- Name: userblocks; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.userblocks ( + id integer NOT NULL, + user_id integer, + target_id integer +); + + +ALTER TABLE public.userblocks OWNER TO postgres; + +-- +-- Name: userblocks_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.userblocks_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.userblocks_id_seq OWNER TO postgres; + +-- +-- Name: userblocks_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.userblocks_id_seq OWNED BY public.userblocks.id; + + +-- +-- Name: users; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.users ( + id integer NOT NULL, + username character varying(255) NOT NULL, + email character varying(255), + passhash character varying(255) NOT NULL, + created_utc integer NOT NULL, + admin_level integer, + over_18 boolean, + is_activated boolean, + bio character varying(1500), + bio_html character varying(10000), + referred_by integer, + is_banned integer, + ban_reason character varying(128), + login_nonce integer, + reserved character varying(256), + mfa_secret character varying(32), + is_private boolean, + unban_utc integer, + is_nofollow boolean DEFAULT false, + custom_filter_list character varying(1000) DEFAULT ''::character varying, + discord_id character varying(64), + stored_subscriber_count integer DEFAULT 0, + ban_evade integer DEFAULT 0, + original_username character varying(255), + customtitle text, + defaultsorting text, + defaulttime text, + namecolor text, + titlecolor text, + profileurl text, + bannerurl text, + hidevotedon boolean, + newtab boolean, + flairchanged boolean, + defaultsortingcomments text, + theme text, + song text, + slurreplacer boolean, + shadowbanned boolean, + newtabexternal boolean, + customtitleplain text, + themecolor text, + changelogsub boolean, + oldreddit boolean, + css text, + profilecss text, + coins integer, + agendaposter boolean, + agendaposter_expires_utc integer DEFAULT 0, + resized boolean, + suicide_utc integer, + post_count integer, + comment_count integer, + highres text, + rent_utc integer, + patron integer, + zzz boolean DEFAULT false, + controversial boolean, + background text +); + + +ALTER TABLE public.users OWNER TO postgres; + +-- +-- Name: users_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.users_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.users_id_seq OWNER TO postgres; + +-- +-- Name: users_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.users_id_seq OWNED BY public.users.id; + + +-- +-- Name: viewers; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.viewers ( + id integer NOT NULL, + user_id integer, + viewer_id integer, + last_view_utc integer +); + + +ALTER TABLE public.viewers OWNER TO postgres; + +-- +-- Name: viewers_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.viewers_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.viewers_id_seq OWNER TO postgres; + +-- +-- Name: viewers_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.viewers_id_seq OWNED BY public.viewers.id; + + +-- +-- Name: votes; Type: TABLE; Schema: public; Owner: postgres +-- + +CREATE TABLE public.votes ( + id integer NOT NULL, + user_id integer NOT NULL, + submission_id integer, + vote_type integer, + creation_ip character(64), + app_id integer +); + + +ALTER TABLE public.votes OWNER TO postgres; + +-- +-- Name: votes_id_seq; Type: SEQUENCE; Schema: public; Owner: postgres +-- + +CREATE SEQUENCE public.votes_id_seq + AS integer + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + NO MAXVALUE + CACHE 1; + + +ALTER TABLE public.votes_id_seq OWNER TO postgres; + +-- +-- Name: votes_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: postgres +-- + +ALTER SEQUENCE public.votes_id_seq OWNED BY public.votes.id; + + +-- +-- Name: alts id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.alts ALTER COLUMN id SET DEFAULT nextval('public.alts_id_seq'::regclass); + + +-- +-- Name: award_relationships id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.award_relationships ALTER COLUMN id SET DEFAULT nextval('public.award_relationships_id_seq'::regclass); + + +-- +-- Name: badge_defs id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badge_defs ALTER COLUMN id SET DEFAULT nextval('public.badge_list_id_seq'::regclass); + + +-- +-- Name: badges id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badges ALTER COLUMN id SET DEFAULT nextval('public.badges_id_seq'::regclass); + + +-- +-- Name: badlinks id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badlinks ALTER COLUMN id SET DEFAULT nextval('public.badlinks_id_seq'::regclass); + + +-- +-- Name: badpics id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badpics ALTER COLUMN id SET DEFAULT nextval('public.badpics_id_seq'::regclass); + + +-- +-- Name: banneddomains id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.banneddomains ALTER COLUMN id SET DEFAULT nextval('public.domains_id_seq'::regclass); + + +-- +-- Name: client_auths id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.client_auths ALTER COLUMN id SET DEFAULT nextval('public.client_auths_id_seq'::regclass); + + +-- +-- Name: commentflags id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentflags ALTER COLUMN id SET DEFAULT nextval('public.commentflags_id_seq'::regclass); + + +-- +-- Name: comments id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments ALTER COLUMN id SET DEFAULT nextval('public.comments_id_seq'::regclass); + + +-- +-- Name: comments_aux key_id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments_aux ALTER COLUMN key_id SET DEFAULT nextval('public.comments_aux_key_id_seq'::regclass); + + +-- +-- Name: commentvotes id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentvotes ALTER COLUMN id SET DEFAULT nextval('public.commentvotes_id_seq'::regclass); + + +-- +-- Name: flags id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.flags ALTER COLUMN id SET DEFAULT nextval('public.flags_id_seq'::regclass); + + +-- +-- Name: follows id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.follows ALTER COLUMN id SET DEFAULT nextval('public.follows_id_seq'::regclass); + + +-- +-- Name: images id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.images ALTER COLUMN id SET DEFAULT nextval('public.images_id_seq'::regclass); + + +-- +-- Name: modactions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.modactions ALTER COLUMN id SET DEFAULT nextval('public.modactions_id_seq'::regclass); + + +-- +-- Name: notifications id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.notifications ALTER COLUMN id SET DEFAULT nextval('public.notifications_id_seq'::regclass); + + +-- +-- Name: oauth_apps id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.oauth_apps ALTER COLUMN id SET DEFAULT nextval('public.oauth_apps_id_seq'::regclass); + + +-- +-- Name: save_relationship id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.save_relationship ALTER COLUMN id SET DEFAULT nextval('public.save_relationship_id_seq'::regclass); + + +-- +-- Name: submissions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.submissions ALTER COLUMN id SET DEFAULT nextval('public.submissions_id_seq'::regclass); + + +-- +-- Name: submissions_aux key_id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.submissions_aux ALTER COLUMN key_id SET DEFAULT nextval('public.submissions_aux_key_id_seq'::regclass); + + +-- +-- Name: subscriptions id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.subscriptions ALTER COLUMN id SET DEFAULT nextval('public.subscriptions_id_seq'::regclass); + + +-- +-- Name: useragents id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.useragents ALTER COLUMN id SET DEFAULT nextval('public.useragents_id_seq'::regclass); + + +-- +-- Name: userblocks id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.userblocks ALTER COLUMN id SET DEFAULT nextval('public.userblocks_id_seq'::regclass); + + +-- +-- Name: users id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users ALTER COLUMN id SET DEFAULT nextval('public.users_id_seq'::regclass); + + +-- +-- Name: viewers id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.viewers ALTER COLUMN id SET DEFAULT nextval('public.viewers_id_seq'::regclass); + + +-- +-- Name: votes id; Type: DEFAULT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.votes ALTER COLUMN id SET DEFAULT nextval('public.votes_id_seq'::regclass); + + +-- +-- Name: alts alts_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.alts + ADD CONSTRAINT alts_pkey PRIMARY KEY (user1, user2); + + +-- +-- Name: award_relationships award_constraint; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.award_relationships + ADD CONSTRAINT award_constraint UNIQUE (user_id, submission_id, comment_id); + + +-- +-- Name: award_relationships award_relationships_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.award_relationships + ADD CONSTRAINT award_relationships_pkey PRIMARY KEY (id); + + +-- +-- Name: badge_defs badge_defs_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badge_defs + ADD CONSTRAINT badge_defs_pkey PRIMARY KEY (id); + + +-- +-- Name: badge_defs badge_list_icon_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badge_defs + ADD CONSTRAINT badge_list_icon_key UNIQUE (icon); + + +-- +-- Name: badges badges_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badges + ADD CONSTRAINT badges_pkey PRIMARY KEY (id); + + +-- +-- Name: badlinks badlinks_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badlinks + ADD CONSTRAINT badlinks_pkey PRIMARY KEY (id); + + +-- +-- Name: badpics badpics_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badpics + ADD CONSTRAINT badpics_pkey PRIMARY KEY (id); + + +-- +-- Name: client_auths client_auths_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.client_auths + ADD CONSTRAINT client_auths_pkey PRIMARY KEY (id); + + +-- +-- Name: commentflags commentflags_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentflags + ADD CONSTRAINT commentflags_pkey PRIMARY KEY (id); + + +-- +-- Name: comments_aux comments_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments_aux + ADD CONSTRAINT comments_aux_pkey PRIMARY KEY (key_id); + + +-- +-- Name: comments comments_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.comments + ADD CONSTRAINT comments_pkey PRIMARY KEY (id); + + +-- +-- Name: commentvotes commentvotes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentvotes + ADD CONSTRAINT commentvotes_pkey PRIMARY KEY (id); + + +-- +-- Name: banneddomains domains_domain_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.banneddomains + ADD CONSTRAINT domains_domain_key UNIQUE (domain); + + +-- +-- Name: banneddomains domains_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.banneddomains + ADD CONSTRAINT domains_pkey PRIMARY KEY (id); + + +-- +-- Name: flags flags_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.flags + ADD CONSTRAINT flags_pkey PRIMARY KEY (id); + + +-- +-- Name: follows follow_membership_unique; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.follows + ADD CONSTRAINT follow_membership_unique UNIQUE (user_id, target_id); + + +-- +-- Name: follows follows_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.follows + ADD CONSTRAINT follows_pkey PRIMARY KEY (id); + + +-- +-- Name: subscriptions guild_membership_unique; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.subscriptions + ADD CONSTRAINT guild_membership_unique UNIQUE (user_id, board_id); + + +-- +-- Name: images images_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.images + ADD CONSTRAINT images_pkey PRIMARY KEY (id); + + +-- +-- Name: modactions modactions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.modactions + ADD CONSTRAINT modactions_pkey PRIMARY KEY (id); + + +-- +-- Name: notifications notifications_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.notifications + ADD CONSTRAINT notifications_pkey PRIMARY KEY (id); + + +-- +-- Name: oauth_apps oauth_apps_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.oauth_apps + ADD CONSTRAINT oauth_apps_pkey PRIMARY KEY (id); + + +-- +-- Name: users one_discord_account; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT one_discord_account UNIQUE (discord_id); + + +-- +-- Name: notifications one_notif; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.notifications + ADD CONSTRAINT one_notif UNIQUE (user_id, comment_id); + + +-- +-- Name: commentvotes onecvote; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentvotes + ADD CONSTRAINT onecvote UNIQUE (user_id, comment_id); + + +-- +-- Name: votes onevote; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.votes + ADD CONSTRAINT onevote UNIQUE (user_id, submission_id); + + +-- +-- Name: save_relationship save_constraint; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.save_relationship + ADD CONSTRAINT save_constraint UNIQUE (submission_id, user_id); + + +-- +-- Name: save_relationship save_relationship_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.save_relationship + ADD CONSTRAINT save_relationship_pkey PRIMARY KEY (id); + + +-- +-- Name: submissions_aux submissions_aux_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.submissions_aux + ADD CONSTRAINT submissions_aux_pkey PRIMARY KEY (key_id); + + +-- +-- Name: submissions submissions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.submissions + ADD CONSTRAINT submissions_pkey PRIMARY KEY (id); + + +-- +-- Name: subscriptions subscriptions_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.subscriptions + ADD CONSTRAINT subscriptions_pkey PRIMARY KEY (id); + + +-- +-- Name: client_auths unique_access; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.client_auths + ADD CONSTRAINT unique_access UNIQUE (access_token); + + +-- +-- Name: oauth_apps unique_id; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.oauth_apps + ADD CONSTRAINT unique_id UNIQUE (client_id); + + +-- +-- Name: badges user_badge_constraint; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badges + ADD CONSTRAINT user_badge_constraint UNIQUE (user_id, badge_id); + + +-- +-- Name: useragents useragents_kwd_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.useragents + ADD CONSTRAINT useragents_kwd_key UNIQUE (kwd); + + +-- +-- Name: useragents useragents_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.useragents + ADD CONSTRAINT useragents_pkey PRIMARY KEY (id); + + +-- +-- Name: userblocks userblocks_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.userblocks + ADD CONSTRAINT userblocks_pkey PRIMARY KEY (id); + + +-- +-- Name: alts userpair; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.alts + ADD CONSTRAINT userpair UNIQUE (user1, user2); + + +-- +-- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_email_key UNIQUE (email); + + +-- +-- Name: users users_original_username_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_original_username_key UNIQUE (original_username); + + +-- +-- Name: users users_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_pkey PRIMARY KEY (username); + + +-- +-- Name: users users_username_key; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.users + ADD CONSTRAINT users_username_key UNIQUE (username); + + +-- +-- Name: viewers viewers_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.viewers + ADD CONSTRAINT viewers_pkey PRIMARY KEY (id); + + +-- +-- Name: votes votes_pkey; Type: CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.votes + ADD CONSTRAINT votes_pkey PRIMARY KEY (id); + + +-- +-- Name: alts_user1_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX alts_user1_idx ON public.alts USING btree (user1); + + +-- +-- Name: alts_user2_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX alts_user2_idx ON public.alts USING btree (user2); + + +-- +-- Name: award_comment_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX award_comment_idx ON public.award_relationships USING btree (comment_id); + + +-- +-- Name: award_post_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX award_post_idx ON public.award_relationships USING btree (submission_id); + + +-- +-- Name: award_user_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX award_user_idx ON public.award_relationships USING btree (user_id); + + +-- +-- Name: badgedef_qual_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badgedef_qual_idx ON public.badge_defs USING btree (qualification_expr); + + +-- +-- Name: badges_badge_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badges_badge_id_idx ON public.badges USING btree (badge_id); + + +-- +-- Name: badges_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badges_user_index ON public.badges USING btree (user_id); + + +-- +-- Name: badlink_link_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badlink_link_idx ON public.badlinks USING btree (link); + + +-- +-- Name: badpic_phash_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badpic_phash_idx ON public.badpics USING btree (phash); + + +-- +-- Name: badpic_phash_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badpic_phash_trgm_idx ON public.badpics USING gin (phash public.gin_trgm_ops); + + +-- +-- Name: badpics_phash_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX badpics_phash_index ON public.badpics USING gin (phash public.gin_trgm_ops); + + +-- +-- Name: block_target_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX block_target_idx ON public.userblocks USING btree (target_id); + + +-- +-- Name: block_user_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX block_user_idx ON public.userblocks USING btree (user_id); + + +-- +-- Name: cflag_user_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX cflag_user_idx ON public.commentflags USING btree (user_id); + + +-- +-- Name: comment_body_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comment_body_idx ON public.comments_aux USING btree (body) WHERE (octet_length((body)::text) <= 2704); + + +-- +-- Name: comment_body_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comment_body_trgm_idx ON public.comments_aux USING gin (body public.gin_trgm_ops); + + +-- +-- Name: comment_parent_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comment_parent_index ON public.comments USING btree (parent_comment_id); + + +-- +-- Name: comment_post_id_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comment_post_id_index ON public.comments USING btree (parent_submission); + + +-- +-- Name: commentflag_comment_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX commentflag_comment_index ON public.commentflags USING btree (comment_id); + + +-- +-- Name: comments_aux_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comments_aux_id_idx ON public.comments_aux USING btree (id); + + +-- +-- Name: comments_parent_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comments_parent_id_idx ON public.comments USING btree (parent_comment_id); + + +-- +-- Name: comments_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX comments_user_index ON public.comments USING btree (author_id); + + +-- +-- Name: commentsaux_body_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX commentsaux_body_idx ON public.comments_aux USING gin (to_tsvector('english'::regconfig, (body)::text)); + + +-- +-- Name: commentvotes_comments_id_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX commentvotes_comments_id_index ON public.commentvotes USING btree (comment_id); + + +-- +-- Name: commentvotes_comments_type_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX commentvotes_comments_type_index ON public.commentvotes USING btree (vote_type); + + +-- +-- Name: cvote_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX cvote_user_index ON public.commentvotes USING btree (user_id); + + +-- +-- Name: discord_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX discord_id_idx ON public.users USING btree (discord_id); + + +-- +-- Name: domain_ref_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX domain_ref_idx ON public.submissions USING btree (domain_ref); + + +-- +-- Name: domains_domain_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX domains_domain_trgm_idx ON public.banneddomains USING gin (domain public.gin_trgm_ops); + + +-- +-- Name: flag_user_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX flag_user_idx ON public.flags USING btree (user_id); + + +-- +-- Name: flags_post_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX flags_post_index ON public.flags USING btree (post_id); + + +-- +-- Name: follow_target_id_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX follow_target_id_index ON public.follows USING btree (target_id); + + +-- +-- Name: follow_user_id_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX follow_user_id_index ON public.follows USING btree (user_id); + + +-- +-- Name: modaction_action_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX modaction_action_idx ON public.modactions USING btree (kind); + + +-- +-- Name: modaction_cid_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX modaction_cid_idx ON public.modactions USING btree (target_comment_id); + + +-- +-- Name: modaction_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX modaction_id_idx ON public.modactions USING btree (id DESC); + + +-- +-- Name: modaction_pid_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX modaction_pid_idx ON public.modactions USING btree (target_submission_id); + + +-- +-- Name: notification_read_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX notification_read_idx ON public.notifications USING btree (read); + + +-- +-- Name: notifications_comment_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX notifications_comment_idx ON public.notifications USING btree (comment_id); + + +-- +-- Name: notifications_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX notifications_user_index ON public.notifications USING btree (user_id); + + +-- +-- Name: notifs_user_read_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX notifs_user_read_idx ON public.notifications USING btree (user_id, read); + + +-- +-- Name: post_18_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX post_18_index ON public.submissions USING btree (over_18); + + +-- +-- Name: post_app_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX post_app_id_idx ON public.submissions USING btree (app_id); + + +-- +-- Name: post_author_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX post_author_index ON public.submissions USING btree (author_id); + + +-- +-- Name: sub_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX sub_user_index ON public.subscriptions USING btree (user_id); + + +-- +-- Name: subimssion_binary_group_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX subimssion_binary_group_idx ON public.submissions USING btree (is_banned, deleted_utc, over_18); + + +-- +-- Name: submission_aux_url_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_aux_url_idx ON public.submissions_aux USING btree (url); + + +-- +-- Name: submission_aux_url_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_aux_url_trgm_idx ON public.submissions_aux USING gin (url public.gin_trgm_ops); + + +-- +-- Name: submission_domainref_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_domainref_index ON public.submissions USING btree (domain_ref); + + +-- +-- Name: submission_isbanned_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_isbanned_idx ON public.submissions USING btree (is_banned); + + +-- +-- Name: submission_isdeleted_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_isdeleted_idx ON public.submissions USING btree (deleted_utc); + + +-- +-- Name: submission_new_sort_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_new_sort_idx ON public.submissions USING btree (is_banned, deleted_utc, created_utc DESC, over_18); + + +-- +-- Name: submission_pinned_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submission_pinned_idx ON public.submissions USING btree (is_pinned); + + +-- +-- Name: submissions_author_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_author_index ON public.submissions USING btree (author_id); + + +-- +-- Name: submissions_aux_id_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_aux_id_idx ON public.submissions_aux USING btree (id); + + +-- +-- Name: submissions_aux_title_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_aux_title_idx ON public.submissions_aux USING btree (title); + + +-- +-- Name: submissions_created_utc_desc_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_created_utc_desc_idx ON public.submissions USING btree (created_utc DESC); + + +-- +-- Name: submissions_over18_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_over18_index ON public.submissions USING btree (over_18); + + +-- +-- Name: submissions_sticky_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_sticky_index ON public.submissions USING btree (stickied); + + +-- +-- Name: submissions_title_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX submissions_title_trgm_idx ON public.submissions_aux USING gin (title public.gin_trgm_ops); + + +-- +-- Name: subscription_board_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX subscription_board_index ON public.subscriptions USING btree (board_id); + + +-- +-- Name: subscription_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX subscription_user_index ON public.subscriptions USING btree (user_id); + + +-- +-- Name: user_banned_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX user_banned_idx ON public.users USING btree (is_banned); + + +-- +-- Name: user_privacy_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX user_privacy_idx ON public.users USING btree (is_private); + + +-- +-- Name: user_private_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX user_private_idx ON public.users USING btree (is_private); + + +-- +-- Name: userblocks_both_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX userblocks_both_idx ON public.userblocks USING btree (user_id, target_id); + + +-- +-- Name: users_created_utc_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX users_created_utc_index ON public.users USING btree (created_utc); + + +-- +-- Name: users_original_username_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX users_original_username_trgm_idx ON public.users USING gin (original_username public.gin_trgm_ops); + + +-- +-- Name: users_subs_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX users_subs_idx ON public.users USING btree (stored_subscriber_count); + + +-- +-- Name: users_unbanutc_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX users_unbanutc_idx ON public.users USING btree (unban_utc DESC); + + +-- +-- Name: users_username_trgm_idx; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX users_username_trgm_idx ON public.users USING gin (username public.gin_trgm_ops); + + +-- +-- Name: vote_user_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX vote_user_index ON public.votes USING btree (user_id); + + +-- +-- Name: votes_submission_id_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX votes_submission_id_index ON public.votes USING btree (submission_id); + + +-- +-- Name: votes_type_index; Type: INDEX; Schema: public; Owner: postgres +-- + +CREATE INDEX votes_type_index ON public.votes USING btree (vote_type); + + +-- +-- Name: badges badges_badge_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.badges + ADD CONSTRAINT badges_badge_id_fkey FOREIGN KEY (badge_id) REFERENCES public.badge_defs(id); + + +-- +-- Name: commentflags commentflags_comment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.commentflags + ADD CONSTRAINT commentflags_comment_id_fkey FOREIGN KEY (comment_id) REFERENCES public.comments(id); + + +-- +-- Name: flags flags_post_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.flags + ADD CONSTRAINT flags_post_id_fkey FOREIGN KEY (post_id) REFERENCES public.submissions(id); + + +-- +-- Name: notifications notifications_comment_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: postgres +-- + +ALTER TABLE ONLY public.notifications + ADD CONSTRAINT notifications_comment_id_fkey FOREIGN KEY (comment_id) REFERENCES public.comments(id); + + +-- +-- PostgreSQL database dump complete +-- +