Skip to content

Instantly share code, notes, and snippets.

@egormkn
Last active December 28, 2018 00:40
Show Gist options
  • Save egormkn/cc47bc036fb1f54f6f31ad83d2b92d1c to your computer and use it in GitHub Desktop.
Save egormkn/cc47bc036fb1f54f6f31ad83d2b92d1c to your computer and use it in GitHub Desktop.
START TRANSACTION
SELECT * FROM current_schema()
SELECT * FROM "information_schema"."tables" WHERE ("table_schema" = 'public' AND "table_name" = 'artist_credit') OR ("table_schema" = 'public' AND "table_name" = 'artist_credit_name') OR ("table_schema" = 'public' AND "table_name" = 'artist_image') OR ("table_schema" = 'public' AND "table_name" = 'release_type') OR ("table_schema" ='public' AND "table_name" = 'tag') OR ("table_schema" = 'public' AND "table_name" = 'language') OR ("table_schema" = 'public' AND "table_name" = 'work') OR ("table_schema" = 'public' AND "table_name" = 'recording') OR ("table_schema" = 'public' AND "table_name" = 'track') OR ("table_schema" = 'public' AND "table_name" = 'release') OR ("table_schema" = 'public' AND "table_name" = 'label') OR ("table_schema" = 'public' AND "table_name" = 'country') OR ("table_schema" = 'public' AND "table_name" = 'membership') OR ("table_schema" = 'public' AND "table_name" = 'artist') OR ("table_schema" = 'public' AND "table_name" = 'artist_alias') OR ("table_schema" = 'public' AND "table_name" = 'recording_tags_tag')
SELECT *, "udt_name"::"regtype" AS "regtype" FROM "information_schema"."columns" WHERE ("table_schema" = 'public' AND "table_name" = 'artist_credit') OR ("table_schema" = 'public' AND "table_name" = 'artist_credit_name')OR ("table_schema" = 'public' AND "table_name" = 'artist_image') OR ("table_schema" = 'public' AND "table_name" ='release_type') OR ("table_schema" = 'public' AND "table_name" = 'tag') OR ("table_schema" = 'public' AND "table_name" = 'language') OR ("table_schema" = 'public' AND "table_name" = 'work') OR ("table_schema" = 'public' AND "table_name" = 'recording') OR ("table_schema" = 'public' AND "table_name" = 'track') OR ("table_schema" = 'public' AND "table_name" = 'release') OR ("table_schema" = 'public' AND "table_name" = 'label') OR ("table_schema" = 'public' AND "table_name" = 'country') OR ("table_schema" = 'public' AND "table_name" = 'membership') OR ("table_schema"= 'public' AND "table_name" = 'artist') OR ("table_schema" = 'public' AND "table_name" = 'artist_alias') OR ("table_schema" = 'public' AND "table_name" = 'recording_tags_tag')
SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "cnst"."conname" AS "constraint_name", "cnst"."consrc" AS "expression", CASE "cnst"."contype" WHEN 'p' THEN 'PRIMARY' WHEN 'u' THEN 'UNIQUE' WHEN 'c' THEN 'CHECK' END AS "constraint_type", "a"."attname" AS "column_name" FROM "pg_constraint" "cnst" INNER JOIN "pg_class" "t" ON "t"."oid" = "cnst"."conrelid" INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "cnst"."connamespace" INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "cnst"."conrelid" AND "a"."attnum" = ANY ("cnst"."conkey") WHERE"t"."relkind" = 'r' AND (("ns"."nspname" = 'public' AND "t"."relname" = 'artist_credit') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_credit_name') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_image') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'release_type') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'tag') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'language') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'work') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'recording') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'track') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'release') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'label') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'country') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'membership') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_alias') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'recording_tags_tag'))
SELECT "ns"."nspname" AS "table_schema", "t"."relname" AS "table_name", "i"."relname" AS "constraint_name", "a"."attname" AS "column_name", CASE "ix"."indisunique" WHEN 't' THEN 'TRUE' ELSE'FALSE' END AS "is_unique", pg_get_expr("ix"."indpred", "ix"."indrelid") AS "condition", "types"."typname" AS "type_name" FROM "pg_class" "t" INNER JOIN "pg_index" "ix" ON "ix"."indrelid" = "t"."oid" INNER JOIN "pg_attribute" "a" ON "a"."attrelid" = "t"."oid" AND "a"."attnum" = ANY ("ix"."indkey") INNER JOIN "pg_namespace" "ns" ON "ns"."oid" = "t"."relnamespace" INNER JOIN "pg_class" "i" ON "i"."oid" = "ix"."indexrelid" INNER JOIN "pg_type" "types" ON "types"."oid" = "a"."atttypid"LEFT JOIN "pg_constraint" "cnst" ON "cnst"."conname" = "i"."relname" WHERE "t"."relkind" = 'r' AND "cnst"."contype" IS NULL AND (("ns"."nspname" = 'public' AND "t"."relname" = 'artist_credit') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_credit_name') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_image') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'release_type') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'tag') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'language') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'work') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'recording') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'track') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'release') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'label') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'country') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'membership') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'artist_alias') OR ("ns"."nspname" = 'public' AND "t"."relname" = 'recording_tags_tag'))
SELECT "con"."conname" AS "constraint_name", "con"."nspname" AS "table_schema", "con"."relname" AS "table_name", "att2"."attname" AS "column_name", "ns"."nspname" AS "referenced_table_schema", "cl"."relname" AS "referenced_table_name", "att"."attname" AS "referenced_column_name", "con"."confdeltype" AS "on_delete", "con"."confupdtype" AS "on_update" FROM ( SELECT UNNEST ("con1"."conkey") AS "parent", UNNEST ("con1"."confkey") AS "child", "con1"."confrelid", "con1"."conrelid", "con1"."conname", "con1"."contype", "ns"."nspname", "cl"."relname", CASE "con1"."confdeltype" WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN 'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END as "confdeltype", CASE "con1"."confupdtype" WHEN 'a' THEN 'NO ACTION' WHEN 'r' THEN'RESTRICT' WHEN 'c' THEN 'CASCADE' WHEN 'n' THEN 'SET NULL' WHEN 'd' THEN 'SET DEFAULT' END as "confupdtype" FROM"pg_class" "cl" INNER JOIN "pg_namespace" "ns" ON "cl"."relnamespace" = "ns"."oid" INNER JOIN "pg_constraint" "con1" ON "con1"."conrelid" = "cl"."oid" WHERE "con1"."contype" = 'f' AND (("ns"."nspname" = 'public' AND "cl"."relname" = 'artist_credit') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'artist_credit_name') OR ("ns"."nspname"= 'public' AND "cl"."relname" = 'artist_image') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'release_type') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'tag') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'language') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'work') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'recording') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'track') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'release') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'label') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'country') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'membership') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'artist') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'artist_alias') OR ("ns"."nspname" = 'public' AND "cl"."relname" = 'recording_tags_tag')) ) "con" INNER JOIN "pg_attribute" "att" ON "att"."attrelid" = "con"."confrelid" AND "att"."attnum" = "con"."child" INNER JOIN "pg_class" "cl" ON "cl"."oid"= "con"."confrelid" INNER JOIN "pg_namespace" "ns" ON "cl"."relnamespace" = "ns"."oid" INNER JOIN "pg_attribute" "att2" ON "att2"."attrelid" = "con"."conrelid" AND "att2"."attnum" = "con"."parent"
CREATE TABLE "artist_credit" ("id" SERIAL NOT NULL, CONSTRAINT "PK_307de6d7f15c3a829ce7b28eda1" PRIMARY KEY ("id"))
CREATE TABLE "artist_credit_name" ("prefix" character varying NOT NULL, "suffix" character varying NOT NULL, "creditId" integer NOT NULL, "artistName" character varying NOT NULL, "artistComment" character varying NOT NULL, "artistIsGroup" boolean NOT NULL, CONSTRAINT "PK_2393a6046e5ca36e5671c381a95" PRIMARY KEY ("creditId", "artistName", "artistComment", "artistIsGroup"))
CREATE TABLE "artist_image" ("image" character varying NOT NULL, "artistName" character varying NOT NULL, "artistComment" character varying NOT NULL, "artistIsGroup" boolean NOT NULL, CONSTRAINT "PK_f2796812eda1f2dd4d608dc5ab1" PRIMARY KEY ("image", "artistName", "artistComment", "artistIsGroup"))
CREATE TABLE "release_type" ("name" character varying NOT NULL, CONSTRAINT "PK_c8c7f0ca36cdb2e694023f5b895" PRIMARY KEY ("name"))
CREATE TABLE "tag" ("text" character varying NOT NULL, CONSTRAINT "PK_ad9d7cdfc368e65aab25d097bd7" PRIMARYKEY ("text"))
CREATE TABLE "language" ("code" character varying(2) NOT NULL, CONSTRAINT "PK_465b3173cdddf0ac2d3fe73a33c"PRIMARY KEY ("code"))
CREATE TABLE "work" ("id" SERIAL NOT NULL, "title" character varying NOT NULL, "comment" character varyingNOT NULL DEFAULT '', "lyrics" character varying NOT NULL, "artistCreditId" integer, "languageCode" character varying(2), CONSTRAINT "REL_2cf9151724884339a169805d10" UNIQUE ("artistCreditId"), CONSTRAINT "PK_1ad2a9dfd058d66c37e6d495222" PRIMARY KEY ("id"))
CREATE TABLE "recording" ("id" SERIAL NOT NULL, "title" character varying NOT NULL, "comment" character varying NOT NULL DEFAULT '', "length" integer NOT NULL, "file" character varying NOT NULL, "artistCreditId" integer,"workId" integer, CONSTRAINT "UQ_83a4fc3811394bba4da05bba07c" UNIQUE ("file"), CONSTRAINT "REL_0b8d0e91f79aceb34a0711c906" UNIQUE ("artistCreditId"), CONSTRAINT "PK_2f037d57bd6d7f1e4d68d72e6f4" PRIMARY KEY ("id"))
CREATE TABLE "track" ("number" integer NOT NULL, "recordingId" integer NOT NULL, "releaseId" integer NOT NULL, CONSTRAINT "PK_5c065f11eb29d4c3af3a6979740" PRIMARY KEY ("number", "recordingId", "releaseId"))
CREATE TABLE "release" ("id" SERIAL NOT NULL, "title" character varying NOT NULL, "comment" character varying NOT NULL DEFAULT '', "release_date" TIMESTAMP NOT NULL, "cover" character varying NOT NULL, "artistCreditId" integer, "typeName" character varying, "labelName" character varying, "labelComment" character varying, CONSTRAINT "REL_eb043be9b33846962ef030a048" UNIQUE ("artistCreditId"), CONSTRAINT "PK_1a2253436964eea9c558f9464f4" PRIMARY KEY ("id"))
CREATE TABLE "label" ("name" character varying NOT NULL, "comment" character varying NOT NULL DEFAULT '', "countryName" character varying NOT NULL, CONSTRAINT "PK_778248474d9d9b72b40c206be2b" PRIMARY KEY ("name", "comment", "countryName"))
CREATE TABLE "country" ("name" character varying NOT NULL, CONSTRAINT "PK_2c5aa339240c0c3ae97fcc9dc4c" PRIMARY KEY ("name"))
CREATE TABLE "membership" ("join_date" TIMESTAMP NOT NULL, "leave_date" TIMESTAMP NOT NULL, "groupName" character varying NOT NULL, "groupComment" character varying NOT NULL, "groupIsGroup" boolean NOT NULL, "musicianName" character varying NOT NULL, "musicianComment" character varying NOT NULL, "musicianIsGroup" boolean NOT NULL, CONSTRAINT "PK_767a79b2274238cd61309ec6d82" PRIMARY KEY ("join_date", "groupName", "groupComment", "groupIsGroup", "musicianName", "musicianComment", "musicianIsGroup"))
CREATE TABLE "artist" ("name" character varying NOT NULL, "comment" character varying NOT NULL DEFAULT '',"start_date" TIMESTAMP NOT NULL, "end_date" TIMESTAMP NOT NULL, "website" character varying NOT NULL, "isGroup" boolean NOT NULL, "countryName" character varying, CONSTRAINT "PK_da7d8befed6c8f3ca03eacd0e44" PRIMARY KEY ("name","comment", "isGroup"))
CREATE TABLE "artist_alias" ("name" character varying NOT NULL, "artistName" character varying NOT NULL, "artistComment" character varying NOT NULL, "artistIsGroup" boolean NOT NULL, CONSTRAINT "PK_0f1f7a9d5f8b4f1051daa9f2b91" PRIMARY KEY ("name", "artistName", "artistComment", "artistIsGroup"))
CREATE TABLE "recording_tags_tag" ("recordingId" integer NOT NULL, "tagText" character varying NOT NULL, CONSTRAINT "PK_b3c7b57297f99c4ba8466bd91ec" PRIMARY KEY ("recordingId", "tagText"))
ALTER TABLE "artist_credit_name" ADD CONSTRAINT "FK_4406ffb8494e47d3f5403a5cbf6" FOREIGN KEY ("creditId") REFERENCES "artist_credit"("id")
ALTER TABLE "artist_credit_name" ADD CONSTRAINT "FK_f7073187e854e298e3cad3b055c" FOREIGN KEY ("artistName", "artistComment", "artistIsGroup") REFERENCES "artist"("name","comment","isGroup")
ALTER TABLE "artist_image" ADD CONSTRAINT "FK_ce03a669008f0393977a86d95e3" FOREIGN KEY ("artistName", "artistComment", "artistIsGroup") REFERENCES "artist"("name","comment","isGroup")
ALTER TABLE "work" ADD CONSTRAINT "FK_2cf9151724884339a169805d101" FOREIGN KEY ("artistCreditId") REFERENCES "artist_credit"("id")
ALTER TABLE "work" ADD CONSTRAINT "FK_e381ab2d828b9b82bf53b3a50a8" FOREIGN KEY ("languageCode") REFERENCES"language"("code")
ALTER TABLE "recording" ADD CONSTRAINT "FK_0b8d0e91f79aceb34a0711c9063" FOREIGN KEY ("artistCreditId") REFERENCES "artist_credit"("id")
ALTER TABLE "recording" ADD CONSTRAINT "FK_f11b73fa60ef6517d545b704772" FOREIGN KEY ("workId") REFERENCES "work"("id")
ALTER TABLE "track" ADD CONSTRAINT "FK_4a1a1eb1a29b5d99cb981fecbc2" FOREIGN KEY ("recordingId") REFERENCES"recording"("id")
ALTER TABLE "track" ADD CONSTRAINT "FK_82f53ac4b0335b49d639927e219" FOREIGN KEY ("releaseId") REFERENCES "release"("id")
ALTER TABLE "release" ADD CONSTRAINT "FK_eb043be9b33846962ef030a0482" FOREIGN KEY ("artistCreditId") REFERENCES "artist_credit"("id")
ALTER TABLE "release" ADD CONSTRAINT "FK_47b603ad2fbf2c57b0ab2d2e2e1" FOREIGN KEY ("typeName") REFERENCES "release_type"("name")
ALTER TABLE "release" ADD CONSTRAINT "FK_cd13700a32ca7b113cfc14800fb" FOREIGN KEY ("labelName", "labelComment") REFERENCES "label"("name","comment")
query failed: ALTER TABLE "release" ADD CONSTRAINT "FK_cd13700a32ca7b113cfc14800fb" FOREIGN KEY ("labelName", "labelComment") REFERENCES "label"("name","comment")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment