PostgreSQL

🎯 Goals 트랜잭션의 사용 방법을 알아본다. 트랜잭션이 동작 원리를 그림으로 정리한다. 동작원리 이해를 위해 WAL, CDC가 무엇인지 알아본다. 1. 트랜잭션 사용 방법 BEGIN 트랜잭션 블록 초기화 키워드로 모든 문장을 하나의 트랜잭션으로 묶는다. `COMMIT` `ROLLBACK` 연산을 만나기 전까지 Automacity 를 보장하는 대 신 CPU/Disk activity 가 있기 때문에 속도는 더 느리다. WITHOUT BEGIN 기본적으로 BEGIN 이 없으면 각각의 statement (쿼리문)이 독립된 트랜잭션이 된다. 속도는 더 빠르다. 📝 이럴 때 트랜잭션을 써라 All or Nothing 여러 쿼리가 하나의 작업 단위로 묶여야 할 때 다 실행되거나 다 안되거나 2. 트랜잭션의 동작 ..
nextval(regclass) 시퀀스의 다음 값을 리턴하는 함수로 thread-safe 하다. 👉🏻 여러 세션에서 이 함수를 동시에 실행하면 각각 다른 값을 갖게한다. 💡 nextval() 을 호출하면 가리키고 있던 시퀀스는 반환하고 곧바로 다음 시퀀스를 가리킨다. ex) nextval(table_name_pkpk:regclass) => 1000 // 리턴은 1000을 받아왔지만 이미 테이블은 다음 시퀀스로 '1001'을 가리키고 있다. 다른 세션에서 INSERT 쿼리 -> 1001 입력 regclass regclass? 시퀀스의 Object ID (OID) 를 의미. 이게 왜 필요할까? OID는 여러 시스템 테이블에 쓰이는 기본키다. OID 는 자체적인 동작이 없다. 그저 의미있는 이름을 시스템 오브..
M_Falcon
'PostgreSQL' 태그의 글 목록 (2 Page)