1
0

structure.pgsql 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. --
  2. -- PostgreSQL database dump
  3. --
  4. SET statement_timeout = 0;
  5. SET client_encoding = 'UTF8';
  6. SET standard_conforming_strings = on;
  7. SET check_function_bodies = false;
  8. SET client_min_messages = warning;
  9. --
  10. -- Name: plpgsql; Type: EXTENSION; Schema: -; Owner:
  11. --
  12. CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
  13. --
  14. -- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner:
  15. --
  16. COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
  17. SET search_path = public, pg_catalog;
  18. SET default_tablespace = '';
  19. SET default_with_oids = false;
  20. --
  21. -- Name: file_types; Type: TABLE; Schema: public; Owner: profplump; Tablespace:
  22. --
  23. CREATE TABLE file_types (
  24. type character varying(64) NOT NULL
  25. );
  26. ALTER TABLE public.file_types OWNER TO profplump;
  27. --
  28. -- Name: COLUMN file_types.type; Type: COMMENT; Schema: public; Owner: profplump
  29. --
  30. COMMENT ON COLUMN file_types.type IS 'File Type';
  31. --
  32. -- Name: files; Type: TABLE; Schema: public; Owner: profplump; Tablespace:
  33. --
  34. CREATE TABLE files (
  35. uid integer NOT NULL,
  36. base character varying(255) NOT NULL,
  37. path character varying(4095) NOT NULL,
  38. type character varying(64) NOT NULL,
  39. mtime timestamp without time zone NOT NULL,
  40. hash character(32),
  41. hash_time timestamp without time zone,
  42. remote_mtime timestamp without time zone,
  43. remote_hash character(32),
  44. remote_hash_time timestamp without time zone,
  45. priority smallint DEFAULT 0 NOT NULL,
  46. size bigint DEFAULT 0 NOT NULL
  47. );
  48. ALTER TABLE public.files OWNER TO profplump;
  49. --
  50. -- Name: COLUMN files.uid; Type: COMMENT; Schema: public; Owner: profplump
  51. --
  52. COMMENT ON COLUMN files.uid IS 'Unique ID';
  53. --
  54. -- Name: COLUMN files.base; Type: COMMENT; Schema: public; Owner: profplump
  55. --
  56. COMMENT ON COLUMN files.base IS 'Local base path';
  57. --
  58. -- Name: COLUMN files.path; Type: COMMENT; Schema: public; Owner: profplump
  59. --
  60. COMMENT ON COLUMN files.path IS 'Relative path';
  61. --
  62. -- Name: COLUMN files.type; Type: COMMENT; Schema: public; Owner: profplump
  63. --
  64. COMMENT ON COLUMN files.type IS 'Path Type';
  65. --
  66. -- Name: COLUMN files.mtime; Type: COMMENT; Schema: public; Owner: profplump
  67. --
  68. COMMENT ON COLUMN files.mtime IS 'Modification Time';
  69. --
  70. -- Name: COLUMN files.hash; Type: COMMENT; Schema: public; Owner: profplump
  71. --
  72. COMMENT ON COLUMN files.hash IS 'Hash';
  73. --
  74. -- Name: COLUMN files.hash_time; Type: COMMENT; Schema: public; Owner: profplump
  75. --
  76. COMMENT ON COLUMN files.hash_time IS 'Hash Time';
  77. --
  78. -- Name: COLUMN files.remote_mtime; Type: COMMENT; Schema: public; Owner: profplump
  79. --
  80. COMMENT ON COLUMN files.remote_mtime IS 'Remote Modification Time';
  81. --
  82. -- Name: COLUMN files.remote_hash; Type: COMMENT; Schema: public; Owner: profplump
  83. --
  84. COMMENT ON COLUMN files.remote_hash IS 'Remote Hash';
  85. --
  86. -- Name: COLUMN files.remote_hash_time; Type: COMMENT; Schema: public; Owner: profplump
  87. --
  88. COMMENT ON COLUMN files.remote_hash_time IS 'Remote Hash Time';
  89. --
  90. -- Name: COLUMN files.priority; Type: COMMENT; Schema: public; Owner: profplump
  91. --
  92. COMMENT ON COLUMN files.priority IS 'Manual Prioritization';
  93. --
  94. -- Name: COLUMN files.size; Type: COMMENT; Schema: public; Owner: profplump
  95. --
  96. COMMENT ON COLUMN files.size IS 'File Size (bytes)';
  97. --
  98. -- Name: files_uid_seq; Type: SEQUENCE; Schema: public; Owner: profplump
  99. --
  100. CREATE SEQUENCE files_uid_seq
  101. START WITH 1
  102. INCREMENT BY 1
  103. NO MINVALUE
  104. NO MAXVALUE
  105. CACHE 1;
  106. ALTER TABLE public.files_uid_seq OWNER TO profplump;
  107. --
  108. -- Name: files_uid_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: profplump
  109. --
  110. ALTER SEQUENCE files_uid_seq OWNED BY files.uid;
  111. --
  112. -- Name: paths; Type: TABLE; Schema: public; Owner: profplump; Tablespace:
  113. --
  114. CREATE TABLE paths (
  115. path character varying(4095) NOT NULL,
  116. priority integer DEFAULT 0 NOT NULL,
  117. last_scan timestamp without time zone DEFAULT '2000-01-01 00:00:00'::timestamp without time zone NOT NULL,
  118. remote_last_scan timestamp without time zone DEFAULT '2000-01-01 00:00:00'::timestamp without time zone NOT NULL,
  119. base character varying(255) NOT NULL,
  120. min_age interval DEFAULT '30 days'::interval NOT NULL,
  121. scan_age interval DEFAULT '1 day'::interval NOT NULL,
  122. remote_scan_age interval DEFAULT '30 days'::interval NOT NULL
  123. );
  124. ALTER TABLE public.paths OWNER TO profplump;
  125. --
  126. -- Name: COLUMN paths.path; Type: COMMENT; Schema: public; Owner: profplump
  127. --
  128. COMMENT ON COLUMN paths.path IS 'Relative path';
  129. --
  130. -- Name: COLUMN paths.priority; Type: COMMENT; Schema: public; Owner: profplump
  131. --
  132. COMMENT ON COLUMN paths.priority IS 'Upload priority';
  133. --
  134. -- Name: COLUMN paths.last_scan; Type: COMMENT; Schema: public; Owner: profplump
  135. --
  136. COMMENT ON COLUMN paths.last_scan IS 'Last local scan';
  137. --
  138. -- Name: COLUMN paths.remote_last_scan; Type: COMMENT; Schema: public; Owner: profplump
  139. --
  140. COMMENT ON COLUMN paths.remote_last_scan IS 'Last remote scan';
  141. --
  142. -- Name: COLUMN paths.base; Type: COMMENT; Schema: public; Owner: profplump
  143. --
  144. COMMENT ON COLUMN paths.base IS 'Local base path';
  145. --
  146. -- Name: COLUMN paths.min_age; Type: COMMENT; Schema: public; Owner: profplump
  147. --
  148. COMMENT ON COLUMN paths.min_age IS 'Minimum mtime age before update';
  149. --
  150. -- Name: COLUMN paths.scan_age; Type: COMMENT; Schema: public; Owner: profplump
  151. --
  152. COMMENT ON COLUMN paths.scan_age IS 'Days between local scans';
  153. --
  154. -- Name: COLUMN paths.remote_scan_age; Type: COMMENT; Schema: public; Owner: profplump
  155. --
  156. COMMENT ON COLUMN paths.remote_scan_age IS 'Days between remote scans';
  157. --
  158. -- Name: pending; Type: VIEW; Schema: public; Owner: profplump
  159. --
  160. CREATE VIEW pending AS
  161. SELECT files.uid, files.base, files.path, files.type, files.mtime, files.hash, files.hash_time, files.remote_mtime, files.remote_hash, files.remote_hash_time, files.priority, files.size FROM files WHERE (((files.remote_mtime IS NULL) AND ((files.type)::text <> 'folder'::text)) AND ((files.type)::text <> 'ignored'::text));
  162. ALTER TABLE public.pending OWNER TO profplump;
  163. --
  164. -- Name: VIEW pending; Type: COMMENT; Schema: public; Owner: profplump
  165. --
  166. COMMENT ON VIEW pending IS 'Files that have not yet been uploaded';
  167. --
  168. -- Name: sections_path_seq; Type: SEQUENCE; Schema: public; Owner: profplump
  169. --
  170. CREATE SEQUENCE sections_path_seq
  171. START WITH 1
  172. INCREMENT BY 1
  173. NO MINVALUE
  174. NO MAXVALUE
  175. CACHE 1;
  176. ALTER TABLE public.sections_path_seq OWNER TO profplump;
  177. --
  178. -- Name: sections_path_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: profplump
  179. --
  180. ALTER SEQUENCE sections_path_seq OWNED BY paths.path;
  181. --
  182. -- Name: uploaded; Type: VIEW; Schema: public; Owner: profplump
  183. --
  184. CREATE VIEW uploaded AS
  185. SELECT files.uid, files.base, files.path, files.type, files.mtime, files.hash, files.hash_time, files.remote_mtime, files.remote_hash, files.remote_hash_time, files.priority, files.size FROM files WHERE (((files.remote_mtime IS NOT NULL) AND ((files.type)::text <> 'folder'::text)) AND ((files.type)::text <> 'ignored'::text));
  186. ALTER TABLE public.uploaded OWNER TO profplump;
  187. --
  188. -- Name: VIEW uploaded; Type: COMMENT; Schema: public; Owner: profplump
  189. --
  190. COMMENT ON VIEW uploaded IS 'Files that have been uploaded';
  191. --
  192. -- Name: uid; Type: DEFAULT; Schema: public; Owner: profplump
  193. --
  194. ALTER TABLE ONLY files ALTER COLUMN uid SET DEFAULT nextval('files_uid_seq'::regclass);
  195. --
  196. -- Name: file_types_pkey; Type: CONSTRAINT; Schema: public; Owner: profplump; Tablespace:
  197. --
  198. ALTER TABLE ONLY file_types
  199. ADD CONSTRAINT file_types_pkey PRIMARY KEY (type);
  200. --
  201. -- Name: files_pkey; Type: CONSTRAINT; Schema: public; Owner: profplump; Tablespace:
  202. --
  203. ALTER TABLE ONLY files
  204. ADD CONSTRAINT files_pkey PRIMARY KEY (uid);
  205. --
  206. -- Name: files_unique; Type: CONSTRAINT; Schema: public; Owner: profplump; Tablespace:
  207. --
  208. ALTER TABLE ONLY files
  209. ADD CONSTRAINT files_unique UNIQUE (base, path);
  210. --
  211. -- Name: paths_pkey1; Type: CONSTRAINT; Schema: public; Owner: profplump; Tablespace:
  212. --
  213. ALTER TABLE ONLY paths
  214. ADD CONSTRAINT paths_pkey1 PRIMARY KEY (base, path);
  215. --
  216. -- Name: paths_pkey; Type: INDEX; Schema: public; Owner: profplump; Tablespace:
  217. --
  218. CREATE UNIQUE INDEX paths_pkey ON paths USING btree (base, path);
  219. --
  220. -- Name: type; Type: FK CONSTRAINT; Schema: public; Owner: profplump
  221. --
  222. ALTER TABLE ONLY files
  223. ADD CONSTRAINT type FOREIGN KEY (type) REFERENCES file_types(type) ON UPDATE CASCADE ON DELETE RESTRICT;
  224. --
  225. -- Name: public; Type: ACL; Schema: -; Owner: pgsql
  226. --
  227. REVOKE ALL ON SCHEMA public FROM PUBLIC;
  228. REVOKE ALL ON SCHEMA public FROM pgsql;
  229. GRANT ALL ON SCHEMA public TO pgsql;
  230. GRANT ALL ON SCHEMA public TO PUBLIC;
  231. --
  232. -- PostgreSQL database dump complete
  233. --