¾�ΥС�������ʸ�� �� 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

13.3. ����Ū���å�

PostgreSQL�ϡ��ơ��֥���Υǡ������Ф���Ʊ���������������椹�뤿����͡��ʼ���Υ��å��⡼�ɤ������Ƥ��ޤ��� �����Υ⡼�ɤϡ�MVCC�Ǥ�ɬ�פ�ư��������ʤ���硢���ץꥱ�����������Υ��å��˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� �ޤ����ۤȤ�ɤ�PostgreSQL���ޥ�ɤǤϡ����Ȥ����ơ��֥뤬���Υ��ޥ�ɤμ¹�����̤���ˡ�Ǻ���⤷�����ѹ�����Ƥ��ʤ����Ȥ�μ¤ˤ��뤿��ˡ�Ŭ�ڤʥ⡼�ɤΥ��å���ưŪ�˳������ޤ��� ���㤨�С�TRUNCATE���ޥ�ɤϡ�Ʊ���ơ��֥���Ф���¾�����Ȥ�Ʊ���˼¹Ԥ��뤳�Ȥϴ����Ǥ��� ���Τ��ᡢ���Υơ��֥�ؤ���¾���å�����Ū�˳������ޤ�����

���ߤΥǡ����١��������Фǽ��פʥ��å��ΰ������ǧ����ˤϡ�pg_locks�����ƥ�ӥ塼����Ѥ��Ƥ��������� ���å��������֥����ƥ�ξ����ƻ�ˤĤ��Ƥξܺ٤���27���򻲾Ȥ��Ƥ���������

13.3.1. �ơ��֥��٥���å�

�ʲ��Υꥹ�Ȥˡ�PostgreSQL�Ǽ�ưŪ�˻��Ѥ���롢���Ѳ�ǽ�ʥ��å��⡼�ɤȤ���ʸ̮�򼨤��ޤ��� �ޤ���LOCK���ޥ�ɤ���Ѥ��ơ������������å�������Ū�˳������뤳�Ȥ�Ǥ��ޤ��� �����Υ��å��⡼�ɤϡ����Ȥ�����̾����"row�ʹԡ�"�Ȥ������դ��դ��Ƥ��Ƥ⡢���ƥơ��֥��٥�Υ��å��Ǥ��뤳�Ȥ����դ��Ƥ��������� ���å��⡼�ɤ�̾�������Ū�ʤ�ΤǤ��� ������̾���ϡ��ƥ��å��⡼�ɤ���ɽŪ�ʻ�����ˡ�򤢤�����ɽ���Ƥ��ޤ��� ����������̣Ū�ˤ�����Ʊ���Ǥ��� ���å��⡼�ɴ֤ˤ�����ͣ��μ¼�Ū�ʺ��ۤϡ��ɤΥ⡼�ɤ��ɤΥ⡼�ɤȶ��礹�뤫�Ȥ������å��⡼�ɤ��Ȥ߹�碌�Ǥ�(ɽ13-2�򻲾Ȥ��Ƥ�������)�� 2�ĤΥȥ�󥶥������ǡ����礹��⡼�ɤΥ��å���Ʊ����Ʊ��ơ��֥����ݻ����뤳�ȤϤǤ��ޤ��� �ʤ��������ȥ�󥶥������ϼ�ʬ���ȤȤϷ褷�ƶ��礷�ޤ��� �㤨�С�ACCESS EXCLUSIVE���å�������������θ�Ʊ���ơ��֥��ACCESS SHARE���å�������Ǥ����ǽ��������ޤ��ˡ� ���礷�ʤ����å��⡼�ɤϡ�¿���Υȥ�󥶥�������Ʊ�����ݻ����뤳�Ȥ���ǽ�Ǥ��� �äˡ����å��⡼�ɤˤϡ����ʶ��礹���Ρ��㤨�С�ACCESS EXCLUSIVE��Ʊ����ʣ���Υȥ�󥶥��������ݻ����뤳�Ȥ��Բ�ǽ�ˤȡ����ʶ��礷�ʤ���Ρ��㤨�С�ACCESS SHARE��ʣ���Υȥ�󥶥��������ݻ���ǽ�ˤ����뤳�Ȥ����դ��Ƥ���������

�ơ��֥��٥���å��⡼��

ACCESS SHARE

ACCESS EXCLUSIVE���å��⡼�ɤȤΤ߶��礷�ޤ���

SELECT���ޥ�ɤˤ�ꡢ���Ȥ����ơ��֥���Ф��Ƥ��Υ⡼�ɤΥ��å�����������ޤ��� �̾�ơ��֥���ɤ߼���Τߤ��ѹ���Ԥ�ʤ��䤤��碌�Ǥ�������ơ����Υ��å��⡼�ɤ�������ޤ���

ROW SHARE

EXCLUSIVE�����ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ���

SELECT FOR UPDATE�����SELECT FOR SHARE���ޥ�ɤϡ��ʻ��ȤϤ���Ƥ��뤬��FOR UPDATE/FOR SHARE�Ȥ�������Ϥ���Ƥ��ʤ�¾�Υơ��֥���Ф���ACCESS SHARE���å��˲ä��ơ��оݤȤʤ�ơ��֥��ˤ��Υ⡼�ɤΥ��å���������ޤ���

ROW EXCLUSIVE

SHARE��SHARE ROW EXCLUSIVE��EXCLUSIVE�������ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ���

UPDATE��DELETE�������INSERT���ޥ�ɤϡ��ʻ��Ȥ����¾�����ƤΥơ��֥���Ф���ACCESS SHARE���å��˲ä��ơ��оݤȤʤ�ơ��֥��ˤ��Υ⡼�ɤΥ��å���������ޤ��� �̾���Υ��å��⡼�ɤϡ��ơ��֥���ǡ������ѹ������䤤��碌�ˤ���������ޤ���

SHARE UPDATE EXCLUSIVE

SHARE UPDATE EXCLUSIVE��SHARE��SHARE ROW EXCLUSIVE��EXCLUSIVE�������ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ��� ���Υ⡼�ɤˤ�ꡢƱ���¹Ԥ���륹�����ޤ��ѹ������VACUUM���ޥ�ɤμ¹Ԥ��顢�ơ��֥���ݸ�ޤ���

��FULL�ʤ��Ρ�VACUUM���ޥ�ɡ�ANALYZE���ޥ�ɡ�CREATE INDEX CONCURRENTLY������ӡ�ALTER TABLE�Τ����Ĥ��η����ˤ�äƳ�������ޤ���

SHARE

ROW EXCLUSIVE��SHARE UPDATE EXCLUSIVE��SHARE ROW EXCLUSIVE��EXCLUSIVE�������ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ��� ���Υ⡼�ɤϡ�Ʊ���¹Ԥ����ǡ����ѹ�����ơ��֥���ݸ�ޤ���

��CONCURRENTLY�ʤ��Ρ�CREATE INDEX�ˤ�äƳ�������ޤ���

SHARE ROW EXCLUSIVE

ROW EXCLUSIVE��SHARE UPDATE EXCLUSIVE�� SHARE��SHARE ROW EXCLUSIVE��EXCLUSIVE�������ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ��� ���Υ⡼�ɤϡ�1�ĤΥ��å������������٤ˤ�����ݻ����뤳�Ȥ��Ǥ���褦��������¾Ū��Ʊ���Υǡ����ѹ�����ơ��֥���ݸ�ޤ���

���Υ��å��⡼�ɤ�ưŪ�˳�������PostgreSQL���ޥ�ɤϤ���ޤ���

EXCLUSIVE

ROW SHARE��ROW EXCLUSIVE�� SHARE UPDATE EXCLUSIVE��SHARE�� SHARE ROW EXCLUSIVE��EXCLUSIVE�������ACCESS EXCLUSIVE���å��⡼�ɤȶ��礷�ޤ��� ���Υ⡼�ɤϡ�Ʊ���¹Ԥ����ACCESS SHARE�Τߤ���Ĥ��ޤ��� �Ĥޤꡢ���Υ��å��⡼�ɤ��ݻ�����ȥ�󥶥��������¹Ԥ��Ƽ¹ԤǤ�������ϡ��ơ��֥���ɤ߼������Ǥ���

�桼���ơ��֥���Ф��Ƥ��Υ��å��⡼�ɤ�ưŪ�˳�������PostgreSQL���ޥ�ɤϤ���ޤ���

ACCESS EXCLUSIVE

���ƤΥ⡼�ɤΥ��å���ACCESS SHARE��ROW SHARE��ROW EXCLUSIVE��SHARE UPDATE EXCLUSIVE��SHARE��SHARE ROW EXCLUSIVE��EXCLUSIVE������� ACCESS EXCLUSIVE�ˤȶ��礷�ޤ��� ���Υ⡼�ɤˤ�ꡢ�����ݻ��԰ʳ��˥ơ��֥�˥�����������ȥ�󥶥�����󤬤ʤ����Ȥ��ݾڤ���ޤ���

ALTER TABLE��DROP TABLE��TRUNCATE��REINDEX��CLUSTER��VACUUM FULL���ޥ�ɤˤ�äƳ�������ޤ��� �ޤ�������Ū�˥⡼�ɤ���ꤷ�ʤ���С����줬LOCK TABLEʸ����Ѥ���ݤΥǥե���ȤΥ��å��⡼�ɤǤ���

�ƥ��å�: ACCESS EXCLUSIVE���å��Τߤ���SELECT��FOR UPDATE/SHARE�ʤ���ʸ��֥��å����ޤ���

�̾���å��ϳ��������塢�ȥ�󥶥������ν����ޤ��ݻ�����ޤ��� �����������å��������֥ݥ���Ȥγ�Ω��˳������줿��硢�����֥ݥ���Ȥ�������Хå������ȡ����å���¨�¤˲�������ޤ��� ����ϡ�ROLLBACK�������֥ݥ���Ȱʹߤ˹Ԥ�줿���٤ƤΥ��ޥ�ɤθ��̤��ä��Ȥ�����§�������������Ƥ��ޤ��� PL/pgSQL�㳰�֥��å���dz������줿���å����Ф��Ƥ�Ʊ�ͤǤ��� PL/pgSQL�㳰�֥��å���dz������줿���å����Ф��Ƥ�ƻ���Ǥ��� ���Υ֥��å����饨�顼��ȴ�����塢�������줿���å��ϲ�������ޤ���

ɽ 13-2. ���å��⡼�ɤζ���

�׵᤹����å��⡼�����ߤΥ��å��⡼��
ACCESS SHAREROW SHAREROW EXCLUSIVESHARE UPDATE EXCLUSIVESHARESHARE ROW EXCLUSIVEEXCLUSIVEACCESS EXCLUSIVE
ACCESS SHARE       X
ROW SHARE      XX
ROW EXCLUSIVE    XXXX
SHARE UPDATE EXCLUSIVE   XXXXX
SHARE  XX XXX
SHARE ROW EXCLUSIVE  XXXXXX
EXCLUSIVE XXXXXXX
ACCESS EXCLUSIVEXXXXXXXX

13.3.2. �ԥ�٥���å�

�ơ��֥��٥���å��˲ä��ơ���¾���å��ޤ��϶�ͭ���å���Ԥ����Ȥ��Ǥ��롢�ԥ�٥���å�������ޤ��� ����ιԤ��Ф���ԥ�٥����¾���å��ϡ��Ԥ������ޤ��Ϻ���������˼�ưŪ�˳�������ޤ��� �ȥ�󥶥�����󤬥��ߥåȤޤ��ϥ�����Хå������ޤǡ�ñ�˥ơ��֥��٥���å��Τ褦�ˡ����Υ��å����ݻ�����ޤ��� �ԥ�٥���å��ϡ��ǡ������䤤��碌�ˤϱƶ���Ϳ���ޤ��� �ԥ�٥���å��ϡ�Ʊ���Ԥ��Ф���񤭹����������֥��å����ޤ���

�ºݤ˹Ԥ��ѹ������˹Ԥ��Ф��ƹԥ�٥���å����������ˤϡ���������Ԥ�SELECT FOR UPDATE�����򤷤Ƥ��������� ���ä���ԥ�٥���å������������ȡ�������ۤ��ʤ��ǡ����Υȥ�󥶥��������Ǥϲ���Ǥ�Ԥ��ѹ�����ǽ�Ǥ���Ȥ������Ȥ�Ф��Ƥ����Ƥ���������

����Ԥ��Ф���ԥ�٥�ζ�ͭ���å����������ˤϡ�SELECT FOR SHARE����Ѥ��Ƥ��ιԤ����򤷤Ƥ��������� ��ͭ���å��ϡ�¾�Υȥ�󥶥������ˤ��Ʊ����ͭ���å��γ������˳����ޤ��� ��������¾�Υȥ�󥶥�����󤬶�ͭ���å����ݻ����Ƥ���Ԥ��Ф��ơ��������������¾���å��γ�����Ԥ����Ȥ��Ǥ���ȥ�󥶥������Ϥ���ޤ��� �������ȡ���ͭ���å������������ޤǥ֥��å�����ޤ���

PostgreSQL�Ǥϡ��������ѹ����줿�Ԥξ���򵭲����ʤ����ᡢƱ���˥��å��Ǥ���Կ��ξ�¤Ϥ���ޤ��� ���������Ԥ���å�����ݤˡ��ǥ������˽񤭹����Ȥ�ȯ�����뤫�⤷��ޤ��� �㤨��SELECT FOR UPDATE�ϡ����򤵤줿�Ԥ���å�������ΤȰ����դ��뤿����ѹ���Ԥ��ޤ��Τǡ��ǥ������ˤ��η�̤�񤭹��ळ�Ȥˤʤ�ޤ���

�ơ��֥�ȹԥ��å��˲ä����ڡ�����٥�ζ�ͭ/��¾���å������ꡢ�����϶�ͭ�Хåե��ס���ˤ���ơ��֥�ڡ����ؤ��ɤ߽񤭤Υ���������������뤿��˻��Ѥ���ޤ��� �����Υ��å��ϡ��Ԥ��������줿��乹�����줿���¨�¤˲������ޤ��� ���ץꥱ�������ȯ�Ԥ��̾�ڡ�����٥���å����θ����ɬ�פϤ���ޤ��󤬡����å��ˤĤ������Ƥ������������ä����ᤳ���Ǽ��夲�ޤ�����

13.3.3. �ǥåɥ��å�

����Ū�ʥ��å��λ��Ѥϡ��ǥåɥ��å��θ����Ȥʤ��ǽ��������ޤ��� �ǥåɥ��å��Ȥϡ�2�ġʤ⤷���Ϥ���ʾ�ˤΥȥ�󥶥������ˤ����ơ����줾�줬��¾���Υȥ�󥶥������ɬ�פȤ�����å��������Ƥ��ޤ����ȤǤ��� �㤨�С��ȥ�󥶥������1���ơ��֥�A����¾���å���������Ƥ��ơ����˥ơ��֥�B����¾���å���������褦�Ȥ���ݤˡ��ȥ�󥶥������2�����˥ơ��֥�B����¾���å�������ѤߤǤ��äơ�������ơ��֥�A����¾���å���������褦�Ȼ�ߤ��硢�ɤ���Υȥ�󥶥������������ʤ���ޤ��� PostgreSQL�Ǥϡ���ưŪ�˥ǥåɥ��å��������Τ����ط�����ȥ�󥶥������ΰ����򥢥ܡ��Ȥ��뤳�Ȥˤ�ꡢ���ξ������褷���⤦�����Υȥ�󥶥������ν�����λ�����ޤ� �ʤɤ���Υȥ�󥶥������򥢥ܡ��Ȥ��뤫�����Τ�ͽ������Τ��񤷤�������˰�¸���٤��ǤϤ���ޤ���ˡ�

�ǥåɥ��å��Ϲԥ�٥���å��η�̤Ȥ���ȯ�������ǽ��������ޤ� �ʤ������äơ�����Ū�ʥ��å���������Ѥ��Ƥ��ʤ��Ƥ�ȯ�������ǽ��������ޤ��ˡ� 2�Ĥ�Ʊ���¹ԥȥ�󥶥�����󤬤���ơ��֥���ѹ����������ͤ��Ƥߤޤ��� 1���ܤΥȥ�󥶥������ϰʲ���¹Ԥ��ޤ���

UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 11111;

����ϡ����ꤷ�������ֹ�ιԤ��Ф��ԥ�٥���å���������ޤ��� ����2���ܤΥȥ�󥶥�����󤬰ʲ���¹Ԥ��ޤ���

UPDATE accounts SET balance = balance + 100.00 WHERE acctnum = 22222;
UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 11111;

1���ܤ�UPDATEʸ�ϻ��ꤵ�줿�Ԥ��Ф���ԥ�٥���å��γ����������������ιԤι������������ޤ��� ��������2���ܤ�UPDATEʸ�ϡ������оݤιԤ����å�����Ƥ��뤳�Ȥ��Τ������å�����������ȥ�󥶥�����󤬴�λ����ޤ��Ե����ޤ��� �ȥ�󥶥������2�ϡ������ǡ�³����¹Ԥ������˥ȥ�󥶥������1����λ����Τ��Ե����Ƥ��ޤ��� ���ơ��ȥ�󥶥������1�������ǰʲ���¹Ԥ��ޤ���

UPDATE accounts SET balance = balance - 100.00 WHERE acctnum = 22222;

�ȥ�󥶥������1�ϻ��ꤷ���Ԥιԥ�٥���å���������褦�Ȥ��ޤ�����������Բ�ǽ�Ǥ��� �ȥ�󥶥������2�����Υ��å�����˳������Ƥ��뤫��Ǥ��� ���Τ��ᡢ�ȥ�󥶥������2����λ����Τ��Ե����뤳�Ȥˤʤ�ޤ��� �������ơ��ȥ�󥶥������1�ϥȥ�󥶥������2�ǥ֥��å����졢�ȥ�󥶥������2�ϥȥ�󥶥������1�ǥ֥��å�����롢�Ĥޤꡢ�ǥåɥ��å����֤Ǥ��� PostgreSQL�ϥǥåɥ��å����֤��Τ��������Υȥ�󥶥����������Ǥ����ޤ���

�ǥåɥ��å����ɤ��Ǥ��ɤ���ˡ�ϡ��ǡ����١�������Ѥ������ƤΥ��ץꥱ������󤬡��������Τ�������ʣ���Υ��֥������Ȥ��Ф�����å���������뤳�ȤǤ��� ���˼������ǥåɥ��å�����ǡ��⤷ξ���Υȥ�󥶥�������Ʊ������ǹԤ򹹿����Ƥ�����ǥåɥ��å��ϵ�����ޤ��� �ޤ����ȥ�󥶥��������Υ��֥������Ȥ��Ф��Ƴ��������ǽ�Υ��å��������Υ��֥������Ȥ�ɬ�פȤ���Ǥ�����Ū�ʥ⡼�ɤǤ��뤳�Ȥ�μ¤��ݾڤ��٤��Ǥ��� ���Τ��Ȥ������˸��ڤǤ��ʤ���硢�ǥåɥ��å��ˤ�ꥢ�ܡ��Ȥ���ȥ�󥶥�������ƻ�Ԥ���С��ǥåɥ��å���ǡ����١������Ư�����ʤ���Ǥ�������뤳�Ȥ��Ǥ��ޤ���

�ǥåɥ��å����������Ф���ʤ���С��ơ��֥��٥���å��⤷���Ϲԥ�٥���å����׵᤹��ȥ�󥶥������ϡ����礹����å������������ޤǡ�̵���¤��Ե����ޤ��� �������äơ����ץꥱ��������Ĺ���֡��㤨�С��桼���������Ԥ��˥ȥ�󥶥������򳫤����ޤ��ݻ����Ƥ����Τϡ��侩����ޤ���

13.3.4. ����Ū���å�

PostgreSQL�ϡ����ץꥱ��������ȼ��ΰ�̣����ĥ��å������������ˡ���󶡤��ޤ��� ����ϡ����λ��Ѥ˴ؤ��ƥ����ƥ�ˤ�����¤��ʤ����ȡ��Ĥޤꡢ���������Ѥ˴ؤ��Ƥϥ��ץꥱ���������Ǥ����Ĥ��Ȥ�������Ū���å��ȸƤФ�ޤ��� ����Ū���å��ϡ�MVCC�����˹�碌�Ť餤���å���ά��ͭ�Ѥ˻��Ѥ��뤳�Ȥ��Ǥ��ޤ��� �㤨�С�����Ū���å��Τ褯�������ѤȤ��ơ��褯"�ե�åȥե�����"�ǡ������������ƥ�ȸƤФ�롢���Ū�ʥ��å���ά���ϵ����뤳�ȤǤ��� �������ӤΤ���˥ơ��֥���˥ե饰���Ǽ���뤳�Ȥ�Ǥ��ޤ���������Ū���å���������®�ǡ��ơ��֥����ĥ���ɤ����Ȥ��Ǥ��ޤ��� �ޤ������å����λ���˥����Фˤ�뼫ư������Ԥ����Ȥ�Ǥ���褦�ˤʤ�ޤ���

PostgreSQL�ˤϡ����å�����٥�ȥȥ�󥶥�������٥�Ȥ������Ĥδ���Ū���å��γ�����ˡ������ޤ��� ���å�����٥�dz�������ȡ�����Ū���å�������Ū�˲�������뤫�����å���󤬽�λ����ޤ��ݻ�����ޤ��� ɸ��Υ��å��׵�Ȱۤʤꡢ���å�����٥봫��Ū���å��ϥȥ�󥶥������Ȥ�����̣�ˤϽ����ޤ��� ���å����ȥ�󥶥�����������˳������졢���Υȥ�󥶥��������ǥ�����Хå������Ȥ��Ƥ⡢������Хå�����ݻ�����ޤ��� �����ơ��ƤӽФ����Υȥ�󥶥�����󤬸�Ǽ��Ԥ����Ȥ��Ƥ���å������ͭ���Ǥ��� ��ͭ����ץ���������ǡ�Ʊ��Υ��å�����٥�Υ��å���ʣ����������뤳�Ȥ�Ǥ��ޤ��� ���ξ�硢�ġ��Υ��å��׵���Ф��ơ����å���ºݤ˲������������б�������å�����׵᤬�ʤ���Фʤ�ޤ��� �����ȥ�󥶥�������٥�Υ��å��Ϥ���̾�Υ��å��˻����褦��ư��ޤ��� �����ϡ������ν����˼�ưŪ�˲�������ޤ��Τǡ�����Ū�ʥ��å��������Ϥ���ޤ��� û���֤δ���Ū���å������Ѥ�����ϡ����å�����٥��ư����⤳��ư������������ʤ��Ȥ�¿������ޤ��� Ʊ������Ū���å����̻Ҥ��Ф��륻�å�����٥�Υ��å��ȥȥ�󥶥�������٥�Υ��å��׵�ϡ������̤�ߤ���֥��å����ޤ��� ���å���󤬤��Ǥ˻��ꤵ�줿����Ū���å����ݻ����Ƥ����硢¾�Υ��å���󤬤��Υ��å����Ե����Ƥ����Ȥ��Ƥ⡢�ɲä��׵�Ͼ���������ޤ��� ������ݻ�����Ƥ�����å��ȿ������׵᤬���å�����٥뤫�ȥ�󥶥�������٥뤫�ɤ����˴ؤ�餺������ʸ�����ƤϤޤ�ޤ���

PostgreSQL�ˤ����뤹�٤ƤΥ��å���Ʊ�ͤˡ��������Ǥ��٤ƤΥ��å������ݻ�����Ƥ��봫��Ū���å�����������pg_locks�����ƥ�ӥ塼�ˤ���ޤ���

����Ū���å����̾�Υ��å��϶�ͭ����ס���˳�����Ƥ�졢�������̤�max_locks_per_transaction��max_connections�����ѿ��ˤ����ꤵ��ޤ��� ���Υ����ϲ�񤷤ʤ��褦�����դ�ɬ�פǤ��� ����ʤ��ȡ������Фϥ��å�������ޤä������Ĥ��뤳�Ȥ��Ǥ��ʤ��ʤ�ޤ��� ����ϡ������Фǵ��ĤǤ��봫��Ū���å����˾�¤����뤳�Ȥ��̣���ޤ��� �����Ф�����ˤ��ޤ������̾1������10�����٤ˤʤ�ޤ���

�ä�����Ū�ʽ���դ���LIMIT�������䤤��碌�Ǥϡ����δ�����å��⡼�ɤ���Ѥ�����Ĥ��ξ��ˤ����ơ�SQL����ɾ������������θ���������줿���å������椹�뤳�Ȥ˵����ۤ�ʤ���Фʤ�ޤ��� �ʲ�����򼨤��ޤ���

SELECT pg_advisory_lock(id) FROM foo WHERE id = 12345; -- ����ʤ�
SELECT pg_advisory_lock(id) FROM foo WHERE id > 12345 LIMIT 100; -- ������
SELECT pg_advisory_lock(q.id) FROM
(
  SELECT id FROM foo WHERE id > 12345 LIMIT 100
) q; -- ����ʤ�

�����Ǥϡ����å������ؿ����¹Ԥ��������LIMIT ��Ŭ�Ѥ���뤳�Ȥ��ݾ�Ǥ��ʤ����ᡢ2���ܤη����ϴ����Ǥ��� ����ˤ�ꡢ���ץꥱ����������ꤷ�Ƥ��ʤ��ʤ󤫤�Υ��å�������������ǽ��������ޤ��� ���Τ��ᡢ�ʥ��å���󤬽�λ����ޤǡ˲����˼��Ԥ��뤳�Ȥˤʤ�ޤ��� ���ץꥱ������󤫤鸫��ȡ������������å��Ϥ����ξ���Ǥ�����pg_locks����ϻ��Ȥ���³���ޤ���

����Ū���å��򰷤�����δؿ��ˤĤ��Ƥϡ���9.26.8���������ޤ���