[PostgreSQL] ์ํ์ค
์ํ์ค๋ postgres์ ํ์๊ธฐ๋ฅ ์ค ํ๋๋ค.
serial ํ์ ์ผ๋ก ์ปฌ๋ผ์ ์์ฑํ๋ฉด ๋ํดํธ๊ฐ์ด ๋ค์๊ณผ ๊ฐ์ด ๊น๋ฆฐ ๊ฒ์ ๋ณด์์ ๊ฒ์ด๋ค.
์ ๊ธฐ์ Foos_id_seq๊ฐ ๋ฐ๋ก ์ํ์ค๋ค.
๊ฐ์ ์ฆ๊ฐ์ํค๋ฉด์ ๊ทธ๊ฒ์ ์๋์ผ๋ก ํ ๋นํ ์ ์๊ฒ ํด๋ ๊ฒ์ด๋ค.
์ฌ๊ธฐ์ ์๋ฆฌ์ผ์ ์ฌ์ฉํ์ง ์๊ณ ๋๊ฐ ์ํ์ค๋ฅผ ๋ค๋ฃจ๋ ๋ฒ์ ์ ๋ฆฌํ๋ค.
์ํ์ค๋ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ ์ ์๋ค.

๊ทธ๋ฆฌ๊ณ nextval์ด๋ผ๋ ํจ์์ ์ํ์ค์ ์ด๋ฆ์ ๋ฃ์ผ๋ฉด ์ํ์ค์ ๊ฐ์ ์ฆ๊ฐ์ํค๋ฉด์ ์์๋๋ก ๊ฐ์ ธ์ฌ ์ ์๋ค.
1, 2, 3, ... ์์๋๋ก ๋ง์ด๋ค.

currval์ ์ฌ์ฉํ๋ฉด ๊ฐ์ ์ฆ๊ฐ์ํค์ง ์๊ณ ํ์ฌ ๊ฐ๋ง ๊ฐ์ ธ์ฌ ์ ์๋ค.

๊ทธ๋ฆฌ๊ณ setval์ ์ฌ์ฉํ๋ฉด ์ธ์์ ์ผ๋ก ์ํ์ค์ ๊ฐ์ ์ง์ ํ ์ ์๋ค.

๋ ์ธ์์ ์ผ๋ก ์ต์๊ฐ๊ณผ ์ต๋๊ฐ ๋ฒ์๋ฅผ ์ง์ ํ ์๋ ์๋ค.
์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธ ๋ฒ์๋ 1..9223372036854775807๋ค.

๊ทธ๋ฆฌ๊ณ ๋ฒ์๋ฅผ ๋ฒ์ด๋ฌ์ ๊ฒฝ์ฐ, ๋ค์ ํ ๋ฐํด๋ฅผ ๋๊ฒ ํ ์๋ ์๋ค.
cycle ์ต์
์ ์ฃผ๋ฉด ๋๋ค.

start๋ก ์์๊ฐ์ ์ค ์๋ ์๊ณ

์ฆ๊ฐ์น๋ฅผ ๋ณ๊ฒฝํ ์๋ ์๋ค.

์ฆ๊ฐ์น๋ฅผ ์์๋ก ์ฃผ๋ฉด ์์ ์ํ์ค๊ฐ ๋๋ค.

๊ทธ๋ ๋ค.
์ํ์ค๋ฅผ ๋ ๋ฆฌ๋ ค๋ฉด ์ญ์ drop์ ์ฌ์ฉํ๋ฉด ๋๋ค.

์ฐธ์กฐ
https://www.postgresql.org/docs/9.5/sql-createsequence.html