From: zapata Date: Fri, 13 Dec 2002 15:01:49 +0000 (+0000) Subject: some maintenance on the db scripts: X-Git-Tag: BEFORE_MERGE_1_1~405 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=e33f025803603a431ce701b3a66cd62e3a7f52f3;p=mir.git some maintenance on the db scripts: - a separate script to update the sequences - a fully automatic database creation script(experimental) - updates on the creation script for is_html in comments and for sequence use in comment_status, article_type and language - a script to update existing databases --- diff --git a/dbscripts/create_pg.sql b/dbscripts/create_pg.sql index 90d891cd..41cd7cc2 100755 --- a/dbscripts/create_pg.sql +++ b/dbscripts/create_pg.sql @@ -152,17 +152,16 @@ CREATE TABLE "img_color" ( "name" character varying(30) NOT NULL ); --- --- TOC Entry ID 18 (OID 20063) --- --- Name: language Type: TABLE Owner: postgres --- +-- language + +CREATE SEQUENCE "language_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; + CREATE TABLE "language" ( - "id" integer NOT NULL, - "name" character varying(40) NOT NULL, - "code" character varying(2) NOT NULL, - Constraint "language_pkey" Primary Key ("id") + "id" integer DEFAULT nextval('language_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + "code" character varying(2) NOT NULL, + Constraint "language_pkey" Primary Key ("id") ); -- @@ -219,16 +218,15 @@ CREATE TABLE "content_x_topic" ( "topic_id" integer NOT NULL ); --- --- TOC Entry ID 23 (OID 20172) --- --- Name: article_type Type: TABLE Owner: postgres --- +-- article type +CREATE SEQUENCE "article_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; + CREATE TABLE "article_type" ( - "id" integer NOT NULL, - "name" character varying(20) NOT NULL -); + "id" integer DEFAULT nextval('article_type_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + CONSTRAINT "article_type_pkey" PRIMARY KEY ("id") +); -- -- TOC Entry ID 24 (OID 20183) @@ -268,6 +266,7 @@ CREATE TABLE "comment" ( "to_media" integer NOT NULL, "to_comment_status" smallint, "checksum" integer, + "is_html" boolean DEFAULT '0' NOT NULL, Constraint "comment_pkey" Primary Key ("id") ); @@ -385,16 +384,17 @@ CREATE TABLE "messages" ( "webdb_create" timestamp with time zone NOT NULL ); --- --- TOC Entry ID 32 (OID 20577) --- --- Name: comment_status Type: TABLE Owner: postgres --- +-- comment_status + +CREATE SEQUENCE "comment_status_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; + CREATE TABLE "comment_status" ( - "id" smallint NOT NULL, - "name" character varying(40) NOT NULL + "id" integer DEFAULT nextval('comment_status_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + CONSTRAINT "comment_status_pkey" PRIMARY KEY ("id") ); + -- -- TOC Entry ID 33 (OID 20588) diff --git a/dbscripts/createmirdb.sh b/dbscripts/createmirdb.sh new file mode 100755 index 00000000..06bbb0d7 --- /dev/null +++ b/dbscripts/createmirdb.sh @@ -0,0 +1,63 @@ +#!/bin/bash + + +# experimental bash script to create a database +# +# + +usage () { + echo "usage: $0 dbname superuser username password" +} + +if [ $# -ne 4 ]; then + usage + exit; +fi; + +SCRIPT_FILE="/tmp/createmir.$$.sql" + +# database/user creation +echo "CREATE DATABASE $1 WITH ENCODING='UNICODE';" > ${SCRIPT_FILE} +echo "CREATE USER "$3" WITH PASSWORD '$4';" >> ${SCRIPT_FILE} +echo "UPDATE pg_database SET datdba=(select usesysid from pg_user where usename='$3') where datname='$1';" >> ${SCRIPT_FILE} + +echo "\connect $1" >> ${SCRIPT_FILE} + +# create/populate scripts: +echo "\i create_pg.sql" >> ${SCRIPT_FILE} +for i in help*.sql ; do echo "\i ${i}" >> ${SCRIPT_FILE} ; done +for i in populate*.sql ; do echo "\i ${i}" >> ${SCRIPT_FILE} ; done +echo "\i update_all_sequences.sql" >> ${SCRIPT_FILE} + +# grant rights +echo "grant all on img_format to $3;" >> ${SCRIPT_FILE} +echo "grant all on img_layout to $3;" >> ${SCRIPT_FILE} +echo "grant all on img_type to $3;" >> ${SCRIPT_FILE} +echo "grant all on img_color to $3;" >> ${SCRIPT_FILE} +echo "grant all on language to $3;" >> ${SCRIPT_FILE} +echo "grant all on rights to $3;" >> ${SCRIPT_FILE} +echo "grant all on feature to $3;" >> ${SCRIPT_FILE} +echo "grant all on article_type to $3;" >> ${SCRIPT_FILE} +echo "grant all on media to $3;" >> ${SCRIPT_FILE} +echo "grant all on breaking to $3;" >> ${SCRIPT_FILE} +echo "grant all on messages to $3;" >> ${SCRIPT_FILE} +echo "grant all on comment_status to $3;" >> ${SCRIPT_FILE} +echo "grant all on links_imcs to $3;" >> ${SCRIPT_FILE} +echo "grant all on other_media to $3;" >> ${SCRIPT_FILE} +echo "grant all on webdb_users to $3;" >> ${SCRIPT_FILE} +echo "grant all on content_x_topic to $3;" >> ${SCRIPT_FILE} +echo "grant all on topic to $3;" >> ${SCRIPT_FILE} +echo "grant all on uploaded_media to $3;" >> ${SCRIPT_FILE} +echo "grant all on images to $3;" >> ${SCRIPT_FILE} +echo "grant all on content_x_media to $3;" >> ${SCRIPT_FILE} +echo "grant all on audio to $3;" >> ${SCRIPT_FILE} +echo "grant all on video to $3;" >> ${SCRIPT_FILE} +echo "grant all on content to $3;" >> ${SCRIPT_FILE} +echo "grant all on comment to $3;" >> ${SCRIPT_FILE} +echo "grant all on media_folder to $3;" >> ${SCRIPT_FILE} + + +# execute the script +psql -U $2 -f ${SCRIPT_FILE} -d template1 + +rm ${SCRIPT_FILE} diff --git a/dbscripts/help_arttype.sql b/dbscripts/help_arttype.sql index 02fd99d2..f4e3d869 100755 --- a/dbscripts/help_arttype.sql +++ b/dbscripts/help_arttype.sql @@ -1,12 +1,6 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; -- \connect - postgres INSERT INTO "article_type" VALUES (0,'openposting'); INSERT INTO "article_type" VALUES (1,'newswire'); INSERT INTO "article_type" VALUES (2,'feature'); INSERT INTO "article_type" VALUES (3,'topicspecial'); INSERT INTO "article_type" VALUES (4,'startspecial'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; diff --git a/dbscripts/help_imgcolor.sql b/dbscripts/help_imgcolor.sql index 1f28846c..5e04ecbe 100755 --- a/dbscripts/help_imgcolor.sql +++ b/dbscripts/help_imgcolor.sql @@ -1,12 +1,8 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; + -- \connect - postgres INSERT INTO "img_color" VALUES (0,'--'); INSERT INTO "img_color" VALUES (3,'color (16)'); INSERT INTO "img_color" VALUES (4,'color (256)'); INSERT INTO "img_color" VALUES (1,'b/w'); INSERT INTO "img_color" VALUES (2,'color'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; + diff --git a/dbscripts/help_imgform.sql b/dbscripts/help_imgform.sql index e6f4343d..f7afdd08 100755 --- a/dbscripts/help_imgform.sql +++ b/dbscripts/help_imgform.sql @@ -1,9 +1,5 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; + -- \connect - postgres INSERT INTO "img_format" VALUES (0,'jpeg','jpg','image/jpg','jpeg nur vom original bearbeiten'); INSERT INTO "img_format" VALUES (1,'gif','gif','image/gif',NULL); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; + diff --git a/dbscripts/help_imglay.sql b/dbscripts/help_imglay.sql index 7da01487..07ffd3e3 100755 --- a/dbscripts/help_imglay.sql +++ b/dbscripts/help_imglay.sql @@ -1,11 +1,7 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; + -- \connect - postgres INSERT INTO "img_layout" VALUES (0,'--'); INSERT INTO "img_layout" VALUES (1,'quer'); INSERT INTO "img_layout" VALUES (2,'hoch'); INSERT INTO "img_layout" VALUES (3,'quadrat'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; + diff --git a/dbscripts/help_imgtype.sql b/dbscripts/help_imgtype.sql index 4145c550..6f53c352 100755 --- a/dbscripts/help_imgtype.sql +++ b/dbscripts/help_imgtype.sql @@ -1,12 +1,8 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; + -- \connect - postgres INSERT INTO "img_type" VALUES (0,'--'); INSERT INTO "img_type" VALUES (1,'Plakat'); INSERT INTO "img_type" VALUES (2,'Photo'); INSERT INTO "img_type" VALUES (3,'Grafik'); INSERT INTO "img_type" VALUES (4,'Kartenmaterial'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; + diff --git a/dbscripts/help_lang.sql b/dbscripts/help_lang.sql index 3486bc04..6cf6a0b2 100755 --- a/dbscripts/help_lang.sql +++ b/dbscripts/help_lang.sql @@ -1,9 +1,4 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; + -- \connect - postgres INSERT INTO "language" VALUES (0,'deutsch','de'); INSERT INTO "language" VALUES (1,'english','en'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; diff --git a/dbscripts/help_rights.sql b/dbscripts/help_rights.sql index 851eb01f..f0667d67 100755 --- a/dbscripts/help_rights.sql +++ b/dbscripts/help_rights.sql @@ -1,11 +1,5 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; -- \connect - postgres INSERT INTO "rights" VALUES (0,'keine angabe',NULL); INSERT INTO "rights" VALUES (1,'indymedia','rechte liegen bei indymedia'); INSERT INTO "rights" VALUES (2,'rechte bei autor/innen',NULL); INSERT INTO "rights" VALUES (3,'frei ','keiner hat rechte dran'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; diff --git a/dbscripts/help_users.sql b/dbscripts/help_users.sql index c46fddfd..b3b9d0b9 100755 --- a/dbscripts/help_users.sql +++ b/dbscripts/help_users.sql @@ -1,11 +1,5 @@ -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" !~ '^pg_'; -- \connect - postgres INSERT INTO "webdb_users" VALUES (1,'open','','f'); INSERT INTO "webdb_users" VALUES (2,'redaktion','indymedia','t'); INSERT INTO "webdb_users" VALUES (3,'tollendorf','indymedia','t'); INSERT INTO "webdb_users" VALUES (4,'admin','indymedia','t'); -BEGIN TRANSACTION; -CREATE TEMP TABLE "tr" ("tmp_relname" name, "tmp_reltriggers" smallint); -INSERT INTO "tr" SELECT C."relname", count(T."oid") FROM "pg_class" C, "pg_trigger" T WHERE C."oid" = T."tgrelid" AND C."relname" !~ '^pg_' GROUP BY 1; -UPDATE "pg_class" SET "reltriggers" = TMP."tmp_reltriggers" FROM "tr" TMP WHERE "pg_class"."relname" = TMP."tmp_relname"; -COMMIT TRANSACTION; diff --git a/dbscripts/populate_mediafolder.sql b/dbscripts/populate_mediafolder.sql index 643d75ee..d02e1093 100755 --- a/dbscripts/populate_mediafolder.sql +++ b/dbscripts/populate_mediafolder.sql @@ -15,12 +15,3 @@ UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" = 'media_folder'; INSERT INTO "media_folder" VALUES (7,'openposting','20020329','','openposting','media anonymously uploaded','2002-03-29 14:45:53+01',NULL); -- Enable triggers UPDATE pg_class SET reltriggers = (SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) WHERE relname = 'media_folder'; - --- --- TOC Entry ID 1 (OID 18921) --- --- Name: media_folder_id_seq Type: SEQUENCE SET Owner: --- - -SELECT setval ('"media_folder_id_seq"', 1, 't'); - diff --git a/dbscripts/populate_mediatyp.sql b/dbscripts/populate_mediatyp.sql index 0af88b1f..cc9bc197 100755 --- a/dbscripts/populate_mediatyp.sql +++ b/dbscripts/populate_mediatyp.sql @@ -10,9 +10,6 @@ -- \connect - de_indy --- Disable triggers -UPDATE "pg_class" SET "reltriggers" = 0 WHERE "relname" = 'media_type'; - INSERT INTO "media_type" VALUES (4,'mp3','audio/mp3','Mp3','Audio',NULL); INSERT INTO "media_type" VALUES (13,'mp3','audio/x-mp3','Mp3','Audio',NULL); INSERT INTO "media_type" VALUES (14,'mp3','audio/x-mpeg','Mp3','Audio',NULL); @@ -31,14 +28,3 @@ INSERT INTO "media_type" VALUES (17,'rm','application/vnd.rn-realmedia','RealVid INSERT INTO "media_type" VALUES (18,'mp3','audio/mpeg','Mp3','Audio',NULL); INSERT INTO "media_type" VALUES (19,'png','image/gif','ImagesPng','Images',NULL); INSERT INTO "media_type" VALUES (20,'avi','video/avi','Video','Video',NULL); --- Enable triggers -UPDATE pg_class SET reltriggers = (SELECT count(*) FROM pg_trigger where pg_class.oid = tgrelid) WHERE relname = 'media_type'; - --- --- TOC Entry ID 1 (OID 46923) --- --- Name: media_type_id_seq Type: SEQUENCE SET Owner: --- - -SELECT setval ('"media_type_id_seq"', 1, 't'); - diff --git a/dbscripts/update_all_sequences.sql b/dbscripts/update_all_sequences.sql new file mode 100755 index 00000000..b7c48420 --- /dev/null +++ b/dbscripts/update_all_sequences.sql @@ -0,0 +1,19 @@ +-- This script updates all sequences in a postgres mir database + +select setval('media_id_seq', (select max(id) from media)); +select setval('media_folder_id_seq', (select max(id) from media_folder)); +select setval('feature_id_seq', (select max(id) from feature)); +select setval('topic_id_seq', (select max(id) from topic)); +select setval('webdb_users_id_seq', (select max(id) from webdb_users)); +select setval('comment_id_seq', (select max(id) from comment)); +select setval('breaking_id_seq', (select max(id) from breaking)); +select setval('messages_id_seq', (select max(id) from messages)); +select setval('media_type_id_seq', (select max(id) from media_type)); + +select setval('comment_status_id_seq',(select max(id) from comment_status)); +select setval('article_type_id_seq', (select max(id) from article_type)); +select setval('language_id_seq', (select max(id) from language)); + + + + diff --git a/dbscripts/updates/update20021213.sql b/dbscripts/updates/update20021213.sql new file mode 100755 index 00000000..ecf54a5c --- /dev/null +++ b/dbscripts/updates/update20021213.sql @@ -0,0 +1,160 @@ +-- update script 2002-12-12 by Zapata +-- * introduces sequences and primary keys for comment_status, article_type and language +-- * adds is_html to comment +-- The first operation will fail the second time this script is run, +-- so running this script when it isn't needed can't do any harm. +-- +-- IMPORTANT: after running this script, run the update_all_sequences script as well + +BEGIN TRANSACTION; + +-- task 1: add sequenced and unique id's to comment_status + + CREATE SEQUENCE "comment_status_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1; + + ALTER TABLE "comment_status" RENAME TO comment_status_old; + + CREATE TABLE "comment_status" ( + "id" integer DEFAULT nextval('comment_status_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + CONSTRAINT "comment_status_pkey" PRIMARY KEY ("id") + ); + + INSERT INTO "comment_status" ("id", "name") + SELECT "id", "name" + FROM "comment_status_old"; + + UPDATE pg_class + SET + relowner = (SELECT relowner FROM pg_class WHERE relname='comment_status_old'), + relacl = (SELECT relacl FROM pg_class WHERE relname='comment_status_old') + WHERE + relname = 'comment_status'; + + DROP TABLE "comment_status_old"; + +-- task 2: add sequenced and unique id's to article_type + + CREATE SEQUENCE "article_type_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; + + ALTER TABLE "article_type" RENAME TO "article_type_old"; + + CREATE TABLE "article_type" ( + "id" integer DEFAULT nextval('article_type_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + CONSTRAINT "article_type_pkey" PRIMARY KEY ("id") + ); + + INSERT INTO "article_type" ("id", "name") + SELECT "id", "name" + FROM "article_type_old"; + + UPDATE pg_class + SET + relowner = (SELECT relowner FROM pg_class WHERE relname='article_type_old'), + relacl = (SELECT relacl FROM pg_class WHERE relname='article_type_old') + WHERE + relname = 'article_type'; + + DROP TABLE "article_type_old"; + + +-- task 3: add sequenced and unique id's to language + + CREATE SEQUENCE "language_id_seq" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; + + ALTER TABLE "language" RENAME TO "language_old"; + DROP INDEX language_pkey; + + CREATE TABLE "language" ( + "id" integer DEFAULT nextval('language_id_seq') NOT NULL, + "name" character varying(40) NOT NULL, + "code" character varying(2) NOT NULL, + Constraint "language_pkey" Primary Key ("id") + ); + + INSERT INTO "language" ("id", "name", "code") + SELECT "id", "name", "code" + FROM "language_old"; + + UPDATE pg_class + SET + relowner = (SELECT relowner FROM pg_class WHERE relname='language_old'), + relacl = (SELECT relacl FROM pg_class WHERE relname='language_old') + WHERE + relname = 'language'; + + DROP TABLE "language_old"; + + +-- task 4: add is_html to table comment + + ALTER TABLE "comment" RENAME TO "comment_old"; + DROP INDEX comment_pkey; + + CREATE TABLE "comment" ( + "id" integer DEFAULT nextval('comment_id_seq') NOT NULL, + "title" character varying(80) NOT NULL, + "creator" character varying(80) NOT NULL, + "description" text NOT NULL, + "main_url" character varying(255), + "email" character varying(80), + "address" character varying(80), + "phone" character varying(20), + "webdb_create" timestamp with time zone NOT NULL, + "is_published" boolean DEFAULT '1' NOT NULL, + "to_language" integer DEFAULT '0' NOT NULL, + "to_media" integer NOT NULL, + "to_comment_status" smallint, + "checksum" integer, + "is_html" boolean DEFAULT '0' NOT NULL, + Constraint "comment_pkey" Primary Key ("id") + ); + + INSERT INTO "comment" ( + "id", + "title", + "creator", + "description", + "main_url", + "email", + "address", + "phone", + "webdb_create", + "is_published", + "to_language", + "to_media", + "to_comment_status", + "checksum", + "is_html" + ) + SELECT + "id", + "title", + "creator", + "description", + "main_url", + "email", + "address", + "phone", + "webdb_create", + "is_published", + "to_language", + "to_media", + "to_comment_status", + "checksum", + '0' + FROM "comment_old"; + + UPDATE pg_class + SET + relowner = (SELECT relowner FROM pg_class WHERE relname='comment_old'), + relacl = (SELECT relacl FROM pg_class WHERE relname='comment_old') + WHERE + relname = 'comment'; + + DROP TABLE "comment_old"; + +-- that's it! + +COMMIT TRANSACTION; \ No newline at end of file