database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 4966 게시물 읽기
No. 4966
pgsql 의 lock 모드에 대해 궁금합니다.
작성자
pg
작성일
2003-09-23 00:08
조회수
1,947

pgsql 에서 사용하는 (7.3.x) lock 모드들이 여러종류가 있던데

이에 대한 설명을 찾아봤는데 잘 보이질 않더군요..

영어가 좀 짧아서 그러는데..

table lock 모드 중 각각의 lock 모드에 대한 설명을 부탁드리며,

주로 사용되는 모드는 어떤모드인지 알고 싶습니다.

 

또한 lock 모드는 transaction 안에서 해야하고 트랜잭션이 끝나는 순간에 자동 락이 풀리는거 같은데..

이 트랜잭션을 사용하기 위해서(좀더 정확한 표현으로 lock 모드를 사용하기 위해서) php 에서

pg_pconnect 를 이용해야 하나요?

pconnect 와 connect 의 차이는 영구적이냐 일시적이냐의 차이인데..

mysql 질문에서 보니 connect 로 잘 안되고 pconnect 를 써야 한다는 것 같았습니다.(사실과 다를수 있음)

pg 에서도 lock 모드를 사용하기 위해서 pconnect 를 해야하는지요..

 

또한 트랜잭션 사용에 있어서

set transaction 이 있던데 이것도 퍼미션 비슷한거 같던데 이 transaction 의 set 과 lock 모드의 차이는 무엇인지요..

 

 

락과 트랜잭션에 대한 내용들은

명령어 래퍼런스에 보니,  LOCK 설명인가에 lock 모드가 나오고(튜토리얼에도 나옴)

SET TRANSACTION 에도 나와 있씁니다만..

앞에서도 말씀 드렸듯이

영어가 좀 짧아서 이해가 조금 어려워서 질문 드리는 것입니다.

 

부탁드립니다.

 

이 글에 대한 댓글이 총 5건 있습니다.

현재 이부분에 대한 한글 문서가 아주 오래된 맨페이지 문서 뿐이네요.

누군가가 이부분을 체계적으로 정리를 했으면하는데, 그 누군가가 아무도 없나 봅니다.

저도 지금 다른 일이 바빠서, 언젠가는 써야지 하면서 계속 미루고 있습니다.

 

차라리, 무슨 작업을 하고자 하는데, lock을 생각하게 되었는지요?

그 실무 사항을 알려주시면, '그때는 이런 방식으로 lock을 사용하세요'라고 알려드릴게요. :) 그게 더 빠를 듯.

 

김상기(ioseph)님이 2003-09-23 00:32에 작성한 댓글입니다.
http://database.sarang.net/database/postgres/tutorial/nogadox/psql07.html

 

문서가 있었군요.

멋있는 주효식님 :)

 

김상기(ioseph)님이 2003-09-23 00:43에 작성한 댓글입니다.

답변에 대해 감사드립니다.

대부분의 사용자층이 mysql 이라 그런지

이런 내용을 주로 mysql 에서 다루는것을 많이 보아왔고

그래서 pg 도 mysql 과 같은 생각을 가지게 되었습니다.

(사실 Mysql 에 대해 아는것이 거의 없습니다.)

mysql 과는 달리(맞나..?) pgsql 에서는 대부분의 Lock mode 와

transaction 이 자동으로 이루어지더군요..

특별한 경우가 아닌 이상 이런 문제에 대해 별로 신경을 안 써도 될듯합니다(바로 이해했는지 모르겠네요.. 자동으로 이루어져서인지 pgsql 에서 이 transaction 과 lock mode 에 대한 언급을 찾아보기 힘들었나 봅니다 ^^:)

번역해주신 분과 뎃글 달아주신분 감사드립니다.

덕분에 몇가지 배우고 갑니다.

 

pg님이 2003-09-23 07:42에 작성한 댓글입니다. Edit

자동으로 이루워지는 자료의 직렬성(순차적 접근에 따른 그 우선순위) 문제하고, lock이 필요한 병렬성(동시에 접근했을때의 자료를 해당 트랜잭션에 대해서 독립적이어야하는것)하고는 별개의 문제입니다. 작업을 하면서, 꼭 하나의 프로젝트에서 1~2개의 사용자 정의 lock이 필요하더군요.

 

그냥 단순히 서버가 알아서 처리하겠지 하면 원치 않는 결과가 나오기도 합니다. 그래서, 제가 물었던 것입니다. 어떤 작업을 원하는데, lock을 생각하고 계시는 건지.

 

특별히 신경 써야할 lock도 있습니다. 그 대표적인 예가 은행통장의 잔고 맞추는 경우입니다. - 쇼핑몰의 마일리지 잔고 맞추는 것하고 같지요, 경리의 시제 맞추는 것 하고 같고 ....

 

김상기(ioseph)님이 2003-09-23 09:28에 작성한 댓글입니다.

쇼핑몰의 마일리지, 은행의 잔고.. 등은 특별히 사용자의 lock 이 필요하다고 하셨는데..

이에 대한 조금 상세한 설명을 부탁드립니다.

프로그래밍이 그러하듯이 병렬처리보다는 직선적 우선수위에 익숙한

저에게는 병렬처리에 대하여 조금은 낮설고 어려워질것도 같습니다.

 

은행의 잔고, 마일리지잔고 등을 예를 들어서 설명을 부탁드립니다.

잔고의 처리과정(?)과 lock 이 필요한 부분, 또한 어떤모드의 lock 이 필요하게 되는지..

암튼 어떤 문제로 인하여 lock 이 필요한지를 알고 싶습니다.

귀찮으시더라도..이런쪽으로 부족한 저에게 도움을 주시면 감사하겠습니다.

또한,

sequence 컬럼(고유번호) 와 idx 번호(게시물갱신시 항상 업데이트하여 번호순으로 정렬)가 포함된 혀태의 테이블구조를 이용하는 게시판일 경우 lock 모드가 필요한지도 알고 싶습니다.

이럴테면

idx 번호가 1,2,3,4,5,6 이 있을 경우

2 번을 삭제함과 동시에

3->2, 4->3, 5->4, 6->5 등과 같이

idx 를 제정렬(?) 하는 업데이트 과정이 있을 경우입니다.

 

 

pg님이 2003-09-23 10:59에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
4972설치 에러 도와주세요! [3]
김남헌
2003-09-25
1174
4971like 문이 index를 사용하도록 하기 위해? [2]
박근준
2003-09-23
1941
4970프로시져 사용과 일반 쿼리에 관한 질문입니다. [1]
성치훈
2003-09-23
1278
4966pgsql 의 lock 모드에 대해 궁금합니다. [5]
pg
2003-09-23
1947
4965델파이에서 포스트그레스 프로시져를 호출하고 싶습니다. [1]
독고보더
2003-09-22
1231
4964성능모니터링 관련 질문입니다. [3]
성치훈
2003-09-20
1454
4963PostgreSQL -> MySQL [2]
대훈
2003-09-19
1557
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다