레거시 Redshift 데이터베이스에서 작업하면서 자동 증가 열의 기본 ID 값에 대해 익숙하지 않은 패턴을 발견했습니다. 예 :Redshift 내부 "ID"기능의 서명
create table sometable (row_id bigint default "identity"(24078855, 0, '1,1'::text), ...
놀랍게도 해당 ID 기능에 대한 문서를 찾을 수 없습니다. 그래서 내부 될 그 기능을 발견했습니다
select * from pg_proc proc
join pg_language lang on proc.prolang = lang.oid
where proc.proname = 'identity';
, 그리고 prosrc 열 (googleable하지 불행하게도) 단지 ff_identity_int64
입니다입니다 : 내가 발굴 할 수 있었던 유일한 것은 다음과 같다.
누가 첫 번째 및 두 번째 인수에 대한 정보를 제게 제공해 주시겠습니까? 그 예인 "identity"(24078855, 0, '1,1'::text)
에서 24078855와 0을 의미합니다. ('1,1':: text - 여기에서 처음에는 1이 시작 값이고 두 번째 1은 증가 단계입니다. 그러나 24078855와 0은 여전히 나를 위해 신비한 것입니다.
무언가가 최대 값과 최소값 (시드)이라는 것을 알려주는 것이 무엇입니까? – AlexYes
@AlexYes 나는 "identity"(5, 0, '1,2':: text)'를 사용하여 실험을했다. 테이블에 행을 추가하고이를 삭제하고 다시 추가하는 동안 계정에서 5를 사용할 수 없었습니다. '1,2':: text 만 고려하여 자동 증가가 계속 증가하는 것처럼 보입니다. –