잠시만 기다려 주세요

     '대한민국이 더이상 발전하지 못하는 것은 부패한 언론들의 쓰레기짓 때문이다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (16)  |  여러가지 팁 (1059)  |  추천 및 재미 (156)  |  자료실 (22)  |  
시사, 이슈, 칼럼, 평론, 비평 (613)  |  끄적거림 (136)  |  문예 창작 (716)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    postgresql

postgresql - PostgreSQL 테이블 복사 방법 (CREATE, LIKE, SELECT INTO)
이 름 : 바다아이   |   조회수 : 9584         짧은 주소 : https://www.bada-ie.com/su/?971591781188

PostgreSQL에서 테이블 구조를 그대로 복사하는 방법에 대해서 알아보겠습니다.

복사 후에는 시퀀스하고 인덱스, 프라이머리는 꼭 확인 하셔야 합니다.
조건에 맞게 다시 잡아주는 게 속 편합니다. 인덱스 잡기 전에 프라이머리 먼저 잡는 센스.. ^^;
시퀀스 값 데이타 마지막 번호에 맞게 고쳐주고 auto_increment 부분 프라이머리 값에 시퀀스 자동 조건 추가 하셔야 겠죠..

 

1. 복사할 테이블 구조 생성

test=> CREATE TABLE tb1(no serial primary key, name varchar(16));

NOTICE:  CREATE TABLE will create implicit sequence "tb1_no_seq" for serial column "tb1.no"

NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "tb1_pkey" for table "tb1"

CREATE TABLE

 

"\d 테이블_명" 명령으로 테이블 구조를 확인합니다.

 

2. 테스를 위한 데이터 입력 후 확인

test=> INSERT INTO tb1(name) VALUES('최진범');

INSERT 0 1

test=> SELECT * FROM tb1;

 no|  name

---+--------

  1 | 최진범

 

3. 테이블 복사

test=> CREATE TABLE copy_tb1(LIKE tb1);

CREATE TABLE

 

MySQL에서는 테이블을 복사할 때 "CREATE TABLE 테이블명 LIKE 복사할_테이블명;" 형태지만

PostgreSQL에서는 "CREATE TABLE 테이블명 (LIKE 복사할_테이블명);" 으로 괄호 차이가 있습니다.

 

4. 복사한 테이블의 데이터 확인

test=> SELECT * FROM copy_tb1;

 no| name

---+------

(0 rows) 

 

위에서 실행한 테이블 복사 쿼리는 테이블의 구조만 복사하기 때문에 tb1에 들어가 있던 값은 복사 되지 않습니다.

 

5. 기존 테이블 값 복사하고 확인

test=> INSERT INTO copy_tb1 SELECT * FROM tb1;

INSERT 0 1

test=> SELECT * FROM copy_tb1;

 no |  name

----+--------

  1 | 최진범

(1 row)

 

위의 쿼리를 사용하면 기존에 있던 테이블의 값들을 불러올 수 있습니다.

 

6. 테이블 전체 복사 후 확인

test=> SELECT * INTO copy_tb2 FROM tb1;

SELECT 1

test=> SELECT * FROM copy_tb2;

 no |  name

----+--------

  1 | 최진범

(1 row) 

 

위의 쿼리 명령어를 실행하면 tb1의 테이블 구조와 데이터를 동시에 복사합니다.


출처 :
http://kb.globalsoft.co.kr/web/web_view.php?notice_no=295
 

| |





      1 page / 2 page
번 호 카테고리 제 목 이름 조회수
45 postgresql postgresql ... postgresql 14 .. postgresql.conf port 5432 .. 바다아이 1135
44 postgresql , count(*) .... 바다아이 7480
43 postgresql How to do an update + join in PostgreSQL?, 바다아이 6633
42 postgresql sequence(퀀) 바다아이 8663
41 postgresql , , , index create, , 바다아이 8864
40 postgresql postgresql log_timezone .... 바다아이 7147
39 postgresql postgresql SEQUENCE reset .... 바다아이 8968
38 postgresql [PostgreSql] WITH , , Operator 바다아이 8309
37 postgresql postgresql for, foreach , 바다아이 9955
36 postgresql postgresql , , into ... 바다아이 9993
35 postgresql postgresql PL/pgSQL - SQL Procedural Language, , 바다아이 11416
34 postgresql postgresql ... .. , , 바다아이 12667
33 postgresql postgresql CSV export/import 바다아이 9103
32 postgresql postgresql tablespace , .... 바다아이 13834
31 postgresql postgresql 10 partitioning, ... , ... 바다아이 9851
30 postgresql Using PostgreSQL Arrays, ... ... 바다아이 9849
29 postgresql PostgreSQL (TRIGGER) (function) 바다아이 9577
28 postgresql Optimize and Improve PostgreSQL Performance with VACUUM, ANALYZE, and REINDEX 바다아이 10249
27 postgresql postgresql tuple . vacuumdb .. , . 바다아이 9643
26 postgresql postgresql , .. 바다아이 9866
25 postgresql postgresql , size, 바다아이 11966
24 postgresql postgresql , , .... 바다아이 8857
23 postgresql PostgreSQL Replication, , , master, slave 바다아이 11675
22 postgresql postgresql case 바다아이 8717
21 postgresql postgresql with 바다아이 9169
20 postgresql postgresql , , string 바다아이 12489
19 postgresql Postgresql partitioning table , , , 바다아이 9693
18 postgresql PostgreSQL 바다아이 11171
17 postgresql postgresql vacuumdb, psql, pg_dump password crontab , pgpass 바다아이 11020
16 postgresql postgresql sequence 퀀 auto_increment . 바다아이 10278
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Ubuntu + GoLang + PostgreSQL + Mariadb ]
서버위치 : 오라클 클라우드 춘천  실행시간 : 0.08029
to webmaster... gogo sea. gogo sea.