aboutsummaryrefslogtreecommitdiff
path: root/contrib/pgrowlocks/README.pgrowlocks.euc_jp
blob: de7a7c51661f7e69600242ee41eb856e883ff129 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
$PostgreSQL: pgsql/contrib/pgrowlocks/README.pgrowlocks.euc_jp,v 1.1 2006/04/23 01:12:58 ishii Exp $

pgrowlocks README		�а�ã��

1. pgrowlocks�Ȥ�

   pgrowlocks�ϡ����ꤵ�줿�ơ��֥�ιԥ��å��˴ؤ�������ɽ�����ޤ���

   pgrowlocks���֤����ϡ��ʲ��Τ褦�ˤʤ�ޤ���

CREATE TYPE pgrowlocks_type AS (
	locked_row TID,		-- row TID
	lock_type TEXT,		-- lock type
	locker XID,		-- locking XID
	multi bool,		-- multi XID?
	xids xid[],		-- multi XIDs
	pids INTEGER[]		-- locker's process id
);

  �¹���򼨤��ޤ���

test=# SELECT * FROM pgrowlocks('t1');
 locked_row | lock_type | locker | multi |   xids    |     pids      
------------+-----------+--------+-------+-----------+---------------
      (0,1) | Shared    |     19 | t     | {804,805} | {29066,29068}
      (0,2) | Shared    |     19 | t     | {804,805} | {29066,29068}
      (0,3) | Exclusive |    804 | f     | {804}     | {29066}
      (0,4) | Exclusive |    804 | f     | {804}     | {29066}
(4 rows)

  �ƹ��ܤ������Ǥ���

  locked_row		-- ���å����줿�ԤΥ��ץ�ID(TID)
  lock_type		-- ��ͭ���å��ʤ�"Shared"����¾���å��ʤ�"Exclusive"
  locker		-- ���å��򤫤��Ƥ���ȥ�󥶥������ID[��1]
  multi			-- locker���ޥ���ȥ�󥶥������ʤ�t�����Ǥʤ����f
  xids			-- ���å��򤫤��Ƥ���ȥ�󥶥������ID[��2]
  pids			-- ���å��򤫤��Ƥ���Хå�����ɥץ������Υץ�����ID[��2]

  [��1: locker���ޥ���ʤ顤�ȥ�󥶥������ID�ǤϤʤ��ƥޥ��ID�ˤʤ�
  �ޤ���]

  [��2: locker���ޥ���ξ�硤ʣ���Υǡ�����ɽ������ޤ���]

2. pgrowlocks�Υ��󥹥ȡ���

   pgrowlocks�Υ��󥹥ȡ���ˤϡ�PostgreSQL�򥤥󥹥ȡ��뤷���Ȥ��Υ���
   ���ĥ꡼��ɬ�פǤ������ΤȤ����б����Ƥ���С�������PostgreSQL
   8.0�ʹߤǤ���

   �����Ǥ�PostgreSQL�Υ�������/usr/local/src/postgresql-8.1/��Ÿ����
   ��Ƥ����ΤȤ��ޤ���

   1) pgrowlocks�Υ�������Ÿ�����ޤ����������ե������
      /tmp/pgrowlocks-1.0.tar.gz���֤��Ƥ����ΤȤ��ޤ���

      $ cd /usr/local/src/postgresql-8.1/contrib
      $ tar xfz pgrowlocks-1.0.tar.gz

   2) PostgreSQL 8.0�ξ��ϡ��������ΰ����˽�����ɬ�פǤ���
      pgrowlocks.c��61�����դ��

      #undef MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS

      �Ȥ����Τ�����Τǡ������

      #define MAKERANGEVARFROMNAMELIST_HAS_TWO_ARGS

      �˽񤭴����ޤ�(undef->define�ˤ��ޤ�)��

   3) ����ѥ��뤷�ƴؿ��ζ�ͭ�饤�֥��򥤥󥹥ȡ��뤷�ޤ���

      $ make
      $ make install

   4) �桼������ؿ�����Ͽ���ޤ���

      $ psql -e -f /usr/local/pgsql/share/contrib/pgrowlocks.sql test

      ������Ǥ�"test"�Ȥ����ǡ����١�������Ͽ���Ƥ��ޤ������⤷¾�Υǡ�
      ���١�������Ͽ������Ϥ������ɤ��ؤ��Ƥ���������

3. pgrowlocks�λȤ���

   pgrowlocks�θƤӽФ������ϰʲ��Ǥ���

   CREATE OR REPLACE FUNCTION pgrowlocks(text) RETURNS pgrowlocks_type
     AS 'MODULE_PATHNAME', 'pgrowlocks'
     LANGUAGE 'c' WITH (isstrict);

   ������: �ơ��֥�̾

   �ؿ�������pgrowlocks_type���Ǥ���

   pgrowlocks�ϥơ��֥��AccessShareLock���å��򤫤���1�Ԥ����ɤ߽Ф�
   �ƤϹԥ��å��������äƤ��뤫�ɤ��������å����ޤ����ʲ����������դ�
   �Ƥ���������

   1) �����ơ��֥����¾���å��������äƤ���ȡ�pgrowlocks�μ¹Ԥϥ֥���
      ������ޤ���

   2) pgrowlocks�μ¹���˿����ˤ����ä��ꡤ������줿�ԥ��å��˴ؤ���
      �����pgrowlocks�μ¹Է�̤�ȿ�Ǥ���Ƥ��ʤ���ǽ��������ޤ���


   pgrowlocks�ϥ��å����줿�Ԥ����Ƥ�ɽ�����ޤ��󡥹����Ƥ򸫤������
   �ϡ��ơ��֥��pgrowlocks��locked_rows��Ƿ�礷�ޤ�����򼨤��ޤ���

   SELECT * FROM accounts AS a, pgrowlocks('accounts') AS p WHERE p.locked_ row = a.ctid;


4. pgrowlocks�Υ饤���󥹾��ˤĤ���

   pgrowlocks.c����Ƭ�˽񤤤Ƥ����̤�Ǥ�(����BSD�饤���󥹤˽स�Ƥ�
   �ޤ�)���ޤ���pgrowlocks �ϴ�����̵�ݾڤǤ���pgrowlocks ����Ѥ�����
   �Ȥˤ�ä������뤤���ʤ��̤˴ؤ��Ƥ���Ǥ���餤�ޤ���

5. ��������

   2006/03/21 pgrowlocks �С������ 1.1��꡼��(8.2 current�ǥƥ���)
   2005/08/22 pgrowlocks �С������ 1.0��꡼��