pgAdmin에서 열이 자동 증가하도록 지정하려면 어떻게해야합니까?


14

PostgreSQL 데이터베이스를 관리하기 위해 pgAdmin III을 배우기 시작했습니다. 그러나 사용하기 쉽지 않았습니다.

pgAdmin III을 사용하여 테이블을 만들거나 생성 한 경우 정수 유형의 열 ID에 "자동 증가"기능을 추가하려면 어떻게해야합니까?

답변:


17

두 가지 옵션 : "datatype" SERIAL을 사용 하거나 순서를 만들고이 순서를 정수의 기본값으로 사용하십시오.

CREATE SEQUENCE your_seq;
CREATE TABLE foo(
  id int default nextval('your_seq'::regclass),
  other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;

1
이 답변은 GENERATED BY DEFAULT AS IDENTITYPostgres> = 10으로 도입 되도록 업데이트 될 수 있습니다 .
Madbreaks

15

PGAdmin에서이를 수행하려면 명령 행을 사용하는 것보다 훨씬 쉽습니다. PostgreSQL에서 자동 증분을 열에 추가하려면 먼저 자동 증분 시퀀스를 생성하여 필요한 열에 추가해야합니다. 나는 이것을 좋아했다.

1) 먼저 테이블의 기본 키가 있는지 확인해야합니다. 또한 기본 키의 데이터 유형을 bigint 또는 smallint로 유지하십시오. (나는 bigint를 사용했고 다른 곳에서 언급 한 것처럼 serial이라는 데이터 유형을 찾을 수 없었습니다)

2) 그런 다음 sequence-> 새 시퀀스 추가를 마우스 오른쪽 버튼으로 클릭하여 시퀀스를 추가하십시오 . 테이블에 데이터가없는 경우 순서대로 그대로두고 변경하지 마십시오. 그냥 저장하십시오. 기존 데이터가있는 경우 기본 키 열의 마지막 또는 가장 높은 값을 아래 표시된대로 정의 탭의 현재 값에 추가하십시오. 여기에 이미지 설명을 입력하십시오

3) 마지막으로 nextval('your_sequence_name'::regclass)아래 표시된 것처럼 기본 키의 기본값에 줄 을 추가하십시오 .

여기에 이미지 설명을 입력하십시오 여기에서 시퀀스 이름이 올바른지 확인하십시오. 이것이 전부이며 자동 증분이 작동해야합니다.


4
"PgAdmin의 쉬운"에 대해 동의하지 않습니다. 클릭 만하는 것이 단순히 열을 만드는 것보다 쉽다고 생각 SERIAL하십니까?
ypercubeᵀᴹ

1
GUI에 익숙하고 명령 줄에 익숙하지 않은 사람들에게는 더 쉽게 말할 것입니다. :)
toing_toing
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.