반응형
테이블 구조를 새 테이블로 복사
모든 키 및 제약 조건을 포함하여 데이터없이 테이블 구조를 새 테이블로 복사하는 방법이 있습니까?
간단한 스키마 복사의 경우 like 절을 사용하십시오.
CREATE TABLE new_table_name ( like old_table_name including all)
음, SQL로 얻을 수있는 가장 가까운 것은 다음과 같습니다.
create table new (
like old
including defaults
including constraints
including indexes
);
그러나 모든 것을 복사하지는 않습니다. 누락 된 가장 중요한 것은 FOREIGN KEY입니다. 또한-트리거도 복사되지 않습니다. 다른 것들에 대해서는 확실하지 않습니다.
또 다른 방법은 테이블 구조를 덤프하고 덤프에서 이름을 변경 한 다음 다시로드하는 것입니다.
pg_dump -s -t old databases | sed 's/old/new/g' | psql
그러나 이러한 단순한 sed는 다른 위치에서도 이전 버전으로 변경된다는 점에 유의하십시오 (예를 들어 "is_scolded"라는 테이블 열에있는 경우 "is_scnewed"가됩니다).
질문은 오히려 이것이 왜 필요한가요? 다양한 목적을 위해 다른 기술을 사용하기 때문입니다.
pgAdmin을 살펴보십시오 -원하는 작업을 수행하는 가장 쉬운 방법입니다.
테이블, Scripts-Create를 마우스 오른쪽 버튼으로 클릭합니다.
테이블을 완전히 복사하려면 TABLE 명령을 사용하는 짧은 형식을 사용할 수도 있습니다.
CREATE TABLE films2 AS
TABLE films
WITH NO DATA;
자세한 내용은 여기
어때
CREATE TABLE sample_table_copy AS (SELECT * FROM sample_table WHERE 1 = 2)
참고 URL : https://stackoverflow.com/questions/1220453/copy-table-structure-into-new-table
반응형
'IT박스' 카테고리의 다른 글
preg_replace를 사용하여 영숫자가 아닌 모든 문자 제거 (0) | 2020.11.23 |
---|---|
Django 템플릿에 이미지 파일을 어떻게 포함하나요? (0) | 2020.11.23 |
Rails, Ruby, 배열 정렬 방법? (0) | 2020.11.23 |
Google 차트 (JS)-차트에 투명한 배경을 사용하는 방법이 있습니까? (0) | 2020.11.23 |
왜 컴파일 오류 "org / codehaus / groovy / control / CompilationFailedException"이 발생합니까? (0) | 2020.11.23 |