백업방법
1. cmd 창에 포스트그레 설치 경로에서 bin 폴더로 접속하기
cd C:\Program Files\PostgreSQL\17\bin
2. 명령어입력
pg_restore -U 유저이름 -d 데이터베이스이름 -F c "C:\Program Files\PostgreSQL\17\backUp\bsHive.dump"
혹은
pg_dump -U postgres -F c -d bsHive -f "C:\Program Files\PostgreSQL\17\backUp\bsHive.dump"
ALTER TABLE "SYLLABUS_UNIT"
ADD CONSTRAINT "SYLLABUS_UNIT_composite_pk" PRIMARY KEY ("LCTR_NUM", "CONTS_ID", "UNIT_NUM");
SELECT constraint_name
FROM information_schema.table_constraints
WHERE table_name = 'SYLLABUS_UNIT' AND constraint_type = 'PRIMARY KEY';
ALTER TABLE "SYLLABUS_UNIT" DROP CONSTRAINT "SYLLABUS_UNIT_composite_pk";
SELECT
kcu.column_name
FROM
information_schema.table_constraints AS tc
JOIN
information_schema.key_column_usage AS kcu
ON
tc.constraint_name = kcu.constraint_name
WHERE
tc.table_name = 'SYLLABUS_UNIT'
AND tc.constraint_name = 'SYLLABUS_UNIT_composite_pk';
ALTER TABLE "LCTR_VIEW" DROP CONSTRAINT "LCTR_VIEW_CONTS_ID_fkey";
ALTER TABLE "SYLLABUS_UNIT" DROP CONSTRAINT "LCTR_VIEW_CONTS_ID_fkey";
ALTER TABLE "ONLN_CONTS" DROP CONSTRAINT "ONLN_CONTS_SYLLABUS_UNIT_fkey";
ALTER TABLE "ONLN_LCTR"
ADD CONSTRAINT "ONLN_LCTR_SYLLABUS_UNIT_fkey"
FOREIGN KEY ("CONTS_ID") REFERENCES "SYLLABUS_UNIT" ("CONTS_ID");
ALTER TABLE "ONLN_CONTS"
ADD CONSTRAINT "ONLN_CONTS_SYLLABUS_UNIT_fkey"
FOREIGN KEY ("CONTS_ID") REFERENCES "SYLLABUS_UNIT" ("CONTS_ID");
SELECT constraint_name, constraint_type
FROM information_schema.table_constraints
WHERE table_name = 'SYLLABUS_UNIT' AND (constraint_type = 'PRIMARY KEY' OR constraint_type = 'UNIQUE');
SELECT
conname AS constraint_name,
conrelid::regclass AS table_name,
a.attname AS foreign_column,
ccu.table_name AS referenced_table,
ccu.column_name AS referenced_column
FROM
pg_constraint AS c
JOIN pg_attribute AS a ON a.attnum = ANY(c.conkey)
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = c.conname
WHERE
c.confrelid = '"SYLLABUS_UNIT"'::regclass -- 대소문자 구분을 위해 큰따옴표 사용
AND conrelid = '"ONLN_LCTR"'::regclass;
SELECT
conname AS constraint_name,
conrelid::regclass AS table_name,
a.attname AS foreign_column,
ccu.table_name AS referenced_table,
ccu.column_name AS referenced_column
FROM
pg_constraint AS c
JOIN pg_attribute AS a ON a.attnum = ANY(c.conkey)
JOIN information_schema.constraint_column_usage AS ccu
ON ccu.constraint_name = c.conname
WHERE
c.confrelid = '"SYLLABUS_UNIT"'::regclass
AND conrelid = '"ONLN_CONTS"'::regclass;
ALTER TABLE "LCTR_VIEW"
ALTER COLUMN "LAST_DTL" TYPE INTEGER USING "LAST_DTL"::INTEGER;
DROP TABLE "ONLN_CONTS" CASCADE;
SELECT constraint_name
FROM information_schema.table_constraints
WHERE table_name = 'SYLLABUS_UNIT' AND constraint_type = 'PRIMARY KEY';
ALTER TABLE "SYLLABUS_UNIT" DROP CONSTRAINT "SYLLABUS_UNIT_composite_pk";
ALTER TABLE "SYLLABUS_UNIT" ALTER COLUMN "VDO_ID" TYPE VARCHAR;
ALTER TABLE "SYLLABUS_UNIT"
ADD COLUMN "CONTS_NM" VARCHAR(50), -- CONTS_NM: 문자열, 최대 255자
ADD COLUMN "PLAY_HR" VARCHAR(50);
SELECT o."LCTR_NUM"
FROM "ONLN_LCTR" o
LEFT JOIN "SYLLABUS_UNIT" s ON o."LCTR_NUM" = s."LCTR_NUM"
WHERE s."LCTR_NUM" IS NULL;
ALTER TABLE "LCTR_VIEW"
RENAME COLUMN "CONTS_ID" TO "VDO_ID";
SELECT constraint_name
FROM information_schema.table_constraints
WHERE table_name = 'LCTR_VIEW' AND constraint_type = 'FOREIGN KEY';
ALTER TABLE "LCTR_VIEW"
DROP CONSTRAINT "LCTR_VIEW_SYLLABUS_UNIT_fkey";
CREATE SEQUENCE syllabus_unit_unit_num_seq
START WITH 1 -- 시퀀스 시작 값
INCREMENT BY 1;
ALTER TABLE "SYLLABUS_UNIT"
ALTER COLUMN "UNIT_NUM" SET DEFAULT nextval('syllabus_unit_unit_num_seq');