Files
2025-06-19 11:40:22 +02:00

329 lines
6.7 KiB
SQL

--
-- PostgreSQL database dump
--
-- Dumped from database version 16.9 (Debian 16.9-1.pgdg120+1)
-- Dumped by pg_dump version 16.9 (Debian 16.9-1.pgdg120+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;
DROP SCHEMA IF EXISTS public;
--
-- Name: public; Type: SCHEMA; Schema: -; Owner: postgres
--
CREATE SCHEMA public;
ALTER SCHEMA public OWNER TO postgres;
--
-- Name: SCHEMA public; Type: COMMENT; Schema: -; Owner: postgres
--
COMMENT ON SCHEMA public IS 'standard public schema';
--
-- Name: privacy; Type: TYPE; Schema: public; Owner: invidious
--
CREATE TYPE public.privacy AS ENUM (
'Public',
'Unlisted',
'Private'
);
ALTER TYPE public.privacy OWNER TO invidious;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: annotations; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.annotations (
id text NOT NULL,
annotations xml
);
ALTER TABLE public.annotations OWNER TO invidious;
--
-- Name: channel_videos; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.channel_videos (
id text NOT NULL,
title text,
published timestamp with time zone,
updated timestamp with time zone,
ucid text,
author text,
length_seconds integer,
live_now boolean,
premiere_timestamp timestamp with time zone,
views bigint
);
ALTER TABLE public.channel_videos OWNER TO invidious;
--
-- Name: channels; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.channels (
id text NOT NULL,
author text,
updated timestamp with time zone,
deleted boolean,
subscribed timestamp with time zone
);
ALTER TABLE public.channels OWNER TO invidious;
--
-- Name: nonces; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.nonces (
nonce text,
expire timestamp with time zone
);
ALTER TABLE public.nonces OWNER TO invidious;
--
-- Name: playlist_videos; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.playlist_videos (
title text,
id text,
author text,
ucid text,
length_seconds integer,
published timestamp with time zone,
plid text NOT NULL,
index bigint NOT NULL,
live_now boolean
);
ALTER TABLE public.playlist_videos OWNER TO invidious;
--
-- Name: playlists; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.playlists (
title text,
id text NOT NULL,
author text,
description text,
video_count integer,
created timestamp with time zone,
updated timestamp with time zone,
privacy public.privacy,
index bigint[]
);
ALTER TABLE public.playlists OWNER TO invidious;
--
-- Name: session_ids; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.session_ids (
id text NOT NULL,
email text,
issued timestamp with time zone
);
ALTER TABLE public.session_ids OWNER TO invidious;
--
-- Name: users; Type: TABLE; Schema: public; Owner: invidious
--
CREATE TABLE public.users (
updated timestamp with time zone,
notifications text[],
subscriptions text[],
email text NOT NULL,
preferences text,
password text,
token text,
watched text[],
feed_needs_update boolean
);
ALTER TABLE public.users OWNER TO invidious;
--
-- Name: videos; Type: TABLE; Schema: public; Owner: invidious
--
CREATE UNLOGGED TABLE public.videos (
id text NOT NULL,
info text,
updated timestamp with time zone
);
ALTER TABLE public.videos OWNER TO invidious;
--
-- Name: annotations annotations_id_key; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.annotations
ADD CONSTRAINT annotations_id_key UNIQUE (id);
--
-- Name: channel_videos channel_videos_id_key; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.channel_videos
ADD CONSTRAINT channel_videos_id_key UNIQUE (id);
--
-- Name: channels channels_id_key; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.channels
ADD CONSTRAINT channels_id_key UNIQUE (id);
--
-- Name: nonces nonces_id_key; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.nonces
ADD CONSTRAINT nonces_id_key UNIQUE (nonce);
--
-- Name: playlist_videos playlist_videos_pkey; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.playlist_videos
ADD CONSTRAINT playlist_videos_pkey PRIMARY KEY (index, plid);
--
-- Name: playlists playlists_pkey; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.playlists
ADD CONSTRAINT playlists_pkey PRIMARY KEY (id);
--
-- Name: session_ids session_ids_pkey; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.session_ids
ADD CONSTRAINT session_ids_pkey PRIMARY KEY (id);
--
-- Name: users users_email_key; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.users
ADD CONSTRAINT users_email_key UNIQUE (email);
--
-- Name: videos videos_pkey; Type: CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.videos
ADD CONSTRAINT videos_pkey PRIMARY KEY (id);
--
-- Name: channel_videos_ucid_published_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE INDEX channel_videos_ucid_published_idx ON public.channel_videos USING btree (ucid, published);
--
-- Name: channels_id_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE INDEX channels_id_idx ON public.channels USING btree (id);
--
-- Name: email_unique_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE UNIQUE INDEX email_unique_idx ON public.users USING btree (lower(email));
--
-- Name: id_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE UNIQUE INDEX id_idx ON public.videos USING btree (id);
--
-- Name: nonces_nonce_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE INDEX nonces_nonce_idx ON public.nonces USING btree (nonce);
--
-- Name: session_ids_id_idx; Type: INDEX; Schema: public; Owner: invidious
--
CREATE INDEX session_ids_id_idx ON public.session_ids USING btree (id);
--
-- Name: playlist_videos playlist_videos_plid_fkey; Type: FK CONSTRAINT; Schema: public; Owner: invidious
--
ALTER TABLE ONLY public.playlist_videos
ADD CONSTRAINT playlist_videos_plid_fkey FOREIGN KEY (plid) REFERENCES public.playlists(id);
--
-- Name: SCHEMA public; Type: ACL; Schema: -; Owner: postgres
--
REVOKE USAGE ON SCHEMA public FROM PUBLIC;
GRANT ALL ON SCHEMA public TO PUBLIC;
--
-- PostgreSQL database dump complete
--