[�ۡ���] -> [Aache + PHP + PostgreSQL �¸���] |
�ǡ����١����ˤϡ��ӥ塼�ȸƤФ���Τ�¸�ߤ��ޤ������̡��ơ��֥뤫��ǡ�����ɽ������Ȥ��ˤϡ�select
ʸ��Ȥ��ޤ����������ӥ塼�Ȥ�����Ͽ���Ƥ������Ȥ�����ޤ����������Ѥ��� meibo
�ơ��֥�򸵤ˡ�ǯ�� 23
�ͤΥǡ����������򤹤� select
ʸ�����ä��Ȥ��ޤ���
=> insert into meibo values ('Jangon Source', 23, 'Public'); INSERT 16607 1 => insert into meibo values ('Splint Coocer', 23, 'Onittor'); INSERT 16608 1 => select * from meibo; name | age | address -----------------+-----+-------------------- Atsuzaki Hizuya | 23 | Tokyo dokoka 1-2-3 Ryouma Sakamoto | 31 | Kouchi Tosa Jangon Source | 23 | Public Splint Coocer | 23 | Onittor (4 rows) => select * from meibo where age = 23; name | age | address -----------------+-----+-------------------- Atsuzaki Hizuya | 23 | Tokyo dokoka 1-2-3 Jangon Source | 23 | Public Splint Coocer | 23 | Onittor (3 rows)
�����Ƥ��� select
ʸ�� age23
�Ȥ���̾���Υӥ塼�ˤ��ޤ���
=> create view age23 as select * from meibo where age = 23; CREATE
�ӥ塼�ϡ��ơ��֥��Ʊ���褦��������ޤ���
=> select * from age23; name | age | address -----------------+-----+-------------------- Atsuzaki Hizuya | 23 | Tokyo dokoka 1-2-3 Jangon Source | 23 | Public Splint Coocer | 23 | Onittor (3 rows) => select * from age23 where name like '%o%'; name | age | address -----------------+-----+-------------------- Jangon Source | 23 | Public Splint Coocer | 23 | Onittor (2 rows)
���Τ褦�ˡ��������ξ����դ��� SQL ʸ�򡢥ӥ塼�Ȥ�����Ͽ���Ƥ��������Υӥ塼�� select
���뤳�Ȥˤ�ꡢ��������ꤷ�ʤ��Ƥ⤹��褦�ˤʤ�ޤ�����ηи��Ǥ������������Τ褦�ʡ�where
����դ����ӥ塼��ꡢ���䤤��碌�䡢�������ʸ���������ޤ��ˤʤɤ�Ȥä� select
ʸ��ӥ塼�Ȥ�����Ͽ���륱������¿���褦�Ǥ���
���ơ�PostgreSQL ��ǡ����١����Ǥ����顢��������Υǡ�������Ͽ�����礬����Ȼפ��ޤ����ǡ����١��������ϳ�줺���������ä���祤��ǥå�����ĥ��ɬ�פ��ФƤ��ޤ������Ȥ��С�where
��� code = 1
�ȸ��ä������򤹤�Ȥ���code
�Υ���ǥå������äƤ����С�����ǥå����򸵤˸����򤷤ޤ����⤷����ǥå������ʤ����ϡ����Υơ��֥�γ����������ƤΥ�����õ��ɬ�פ��ФƤ��ޤ�������Ͽ�ɴ��Ȥ����ǡ����̤ʤ���Ф��Ƶ��ˤʤ�ޤ��󤬡�������Ȥ���ñ�̤ˤʤ�ȡ����ʤ��äƤ��ޤ����������äơ������˻Ȥ��Ƥ��륫���ˤϡ�����ǥå�������Τ����ܤǤ����㳰�ˤĤ��Ƥϸ�Ҥ��ޤ��ˡ��Ǥϡ��ºݤ˥���ǥå������äƤߤޤ��礦��
=> create index profile_code on profile (code);
������Ǥϡ�profile
�Ȥ����ơ��֥�� code
�Ȥ��������˥���ǥå������äƤ��ޤ���profile_code
�ȸ����Τϡ�����ǥå���̾�Ǥ����ºݤˤϲ��Ǥ⤫�ޤ��ޤ��󡣤����������ˡ�����ǥå������äƤ����ȡ�where
��Ǥθ����κݤˡ�����ǥå�����ȤäƸ����򤷤Ƥ���ޤ���
����ǥå����ˤϡ���ˡ�������ǥå����ȸƤФ���Τ�����ޤ�������ϡ�����ǥå����˳�Ǽ�����ͤ���ʣ���ʤ��Τ��ݾڤ��ޤ������Τ褦�˥���ǥå������ä���硢��ˡ�������ǥå����ˤʤ�ޤ���
=> create unique index profile_code on profile (code);
����������ϡ��ǡ�����������insert
�ˤ���Ȥ��ˡ�code
��Ʊ���ͤ����äƤ�����硢���顼�Ȥʤä���Ͽ�Ǥ��ʤ��ʤ�ޤ���Ʊ���ǡ�������Ͽ�������ʤ��Ȥ��ϡ����Υ�ˡ�������ǥå�������������Ǥ����ޤ���®���̤Ǥ⡢�����Υ���ǥå�����ꡢ����®��������Ԥ����Ȥ��Ǥ��ޤ���
�ǡ����̤�¿���ʤäƤ���ȡ�SQL �μ¹�®�٤�����ȤʤäƤ����礬����ޤ�������β����ˡ�Ȥ��ơ�����ǥå������뤳�Ȥ��������ޤ����������������դ��ʤ���Ф����ʤ��Τϡ�ɬ�����⥤��ǥå��������®���ʤ�櫓�ǤϤʤ��Ȥ������ȤǤ����ɤ������뤳�ȤǤ������ͤ�ʬ�ۤ��������Ȥ��ˤϥ���ǥå�������٤��ǤϤ���ޤ����㤨�С����̤Υե�����ɤ����ä��Ȥ��ޤ������Υ����ˤϡ�����
�פȡ���
�פȤ�����������ͤ������äƤ��ʤ��ä��Ȥ��ޤ����������ä��þ��ϡ��ְ㤤�ʤ�����ǥå���������٤��ʤäƤ��ޤ��ޤ����դˡ���ˡ�������ǥå����Τ褦���ͤν�ʣ���ʤ��������Ф��ƤϤ�äȤ���̤��⤤�ΤǤ���
����ǥå�����Í���˻Ȥ��ˤϡ����Ū�� vacuumdb
���ޥ�ɤ�¹Ԥ���ɬ�פ�����ޤ�������ϡ�Oracle �ʤɤǤϤʤ��ߤο������׾�����������륢�ʥ饤���Ǥ��ʤ���ʳ��ˡ��������Ѥ���ơ����϶����Ƥ�����¸�ΰ������ѤǤ���褦�ˤ⤷�ޤ��ˡ��ä˥��ץ�������ꤷ�ʤ��ȡ��ơ��֥뤴�Ȥ˥ǡ�������ʤɴ�ñ�����׾�����������ޤ�����-z
���ץ�������ꤹ��ȡ����󤴤Ȥ˥ǡ���ʬ�ۤ����׾�����������褦�ˤʤ�ޤ����������-z
���դ��Ƽ¹Ԥ����ۤ��������Ȼפ��ΤǤ������ǡ��������¿������ vacuumdb
���ޥ�ɤμ¹ԤˤȤƤ���֤������äƤ��ޤ��ޤ���vacuumdb
���ޥ�ɤ�Ȥ����ɤ�����-z
���ץ������դ��뤫�ɤ������Ȥ����Τϡ��¹Ի��Υѥե����ޥ󥹤ȥǡ����١����α�����ˡ������Ǥ��Τǡ��褯��Ƥ���Ƥ���������
vacuumdb
���ޥ�ɤϡ��ºݤˤ� vacuum
�Ȥ��� SQL ʸ��¹Ԥ��Ƥ��ޤ����¹ԴĶ��ˤ�äơ�vacuumdb
���ޥ�ɤ� vacuum
SQL ʸ�ι����ʤۤ���Ȥ����Ȥ�����ޤ���PostgreSQL 7.2 ���顢vacuum
ʸ�� analyze
ʸ��ʬΥ����Ƥ��ޤ���vacuum analyze
ʸ�� analyze
ʸ�������Τ褦�Ǥ����ޤ��������� vacuum
ʸ�μ¹���ϡ��ơ��֥���å���ȯ�����ޤ�������7.2 ����ϥ��å�����ޤ��󡣤��Τ���ꡢ�ơ��֥륵�����⾮�����ʤ�ʤ��ʤä��Τǡ�������Ʊ���褦�˥ơ��֥륵������̤᤿�����ϡ�vacuum full
ʸ��vacuumdb -f
���ޥ�ɡˤ�Ȥ�ɬ�פ�����ޤ��ʤ��ξ�硢�ơ��֥���å���ȯ�����ޤ��ˡ�
���� vacuumdb
�ˤ�ä��������׾���ϡ������κݤ����Ѥ���ޤ������׾���ϡ��ǡ������ɲá�������������Ƥ��������˸Ť��ʤäƤ��ޤ��Τǡ�vacuum
�ʳ��Ǥ����׾��󤬹�������ʤ����ᡢ�ºݤΥǡ��������׾��󤬰�äƤ���ˡ����˰��٤䡢���˰��٤ʤɡ����Ū�˼¹Ԥ���褦�ˤ��ޤ��礦��cron
�ˤʤ���Ͽ���Ƥ������ɤ����⤷��ޤ����cron
�ˤĤ��Ƥϡ�man 5 crontab
�ʤɤȤ��ơ��ޥ˥奢����ɤ�Ǥ��������ˡ�
> crontab -l 00 04 * * * /usr/local/pgsql/bin/vacuumdb -t �ơ��֥�̾ �ǡ����١���̾
vacuumdb
�ϡ�-t
���ץ�������ꤷ�ơ��ơ��֥�̾��Ĥ��ʤ���С����ơ��֥���Ф��Ƽ¹Ԥ�Ԥ��ޤ���
������Ρ�SQL ���塼�˥��Ǥ⤦�����ܤ����������Ƥ��ޤ���
PostgreSQL �������Τ��Ȥʤ��顢¿���Υ����ƥ५������������ޤ���¾�� RDBMS �ʤɤǤϡ������ƥ�ǥ�������ʥ�ȸ��äƤ��뤫���Τ�ޤ��󡣥����ƥ५�������Ȥϡ��ǡ����١���������Ū�ʾ�����Ǽ���Ƥ����ü�ʥơ��֥�ʥӥ塼�ξ��⤢��ˤǡ��ǡ����١�����ɬ��¸�ߤ����ΤǤ����ǡ����١����ξ��֤��Ѥ��ȡ���ưŪ�ˤ�����˳�Ǽ����Ƥ����ͤ��ѹ�����ޤ����������äơ����Υ����ƥ५�������򸫤뤳�Ȥˤ�ꡢ�ǡ����١�������������򻲾Ȥ��뤳�Ȥ������ΤǤ���
PostgreSQL �Ǥϡ������ƥ५�������� ��pg_
�פǻϤޤꡢ���Τ褦�ʤ�Τ�����ޤ���
�ơ��֥�̾ | ���� |
---|---|
pg_database | ¸�ߤ������ƤΥǡ����١��� |
pg_class | ���ƤΥ��饹�ʥơ��֥롦�������󥹡�����ǥå������ӥ塼�ˤ˴ؤ������ |
pg_type | ���ƤΥǡ������˴ؤ������ |
pg_proc | ���Ƥδؿ��˴ؤ������ |
pg_user | ��Ͽ����Ƥ�桼������ |
pg_tables | ���ƤΥơ��֥�˴ؤ����ñ�ʾ��� |
pg_indexes | ���ƤΥ���ǥå����˴ؤ������ |
pg_views | ���ƤΥӥ塼�˴ؤ������ |
����ʳ��ˤ⥷���ƥ५�������Ϥ���ޤ�����pg_class
�򸫤�С��ɤ�ʤ�Τ����뤫�狼��ޤ����ơ��֥�Υ����ʤ䡢�ؿ��ΰ����Υǡ������ʤɤ�Ĵ�٤뤳�Ȥ��Ǥ��ޤ�������Ǥ���Ф����ɡ������ˡ��ɥ�����Ȥ�õ���Ƥ⡢���פʥ����ƥ५���������Ф������������ʤ��褦�ǡ�����äȤ狼��ʤ���ʬ�⤢��ޤ�������ɬ�פˤʤäƤ���ΤdzФ��Ƥ�����»�Ϥʤ��Ǥ��礦��pg_proc
�� pg_type
�ʤ󤫤ϡ����������ʤ�Τ����äơ��ȤäƤߤ����ʤ�ޤ��͡��Ǥ⡢�ɥ�����Ȥ����Ĥ���ʤ��ΤǤ����ɡ�������
�ؤ�ɤΥǡ����١����ϡ��������ƥ��γ�ǰ����äƤ��ޤ����������PostgreSQL ���㳰�ǤϤʤ����������������¡����ݡ���������Ԥ����Ȥ��Ǥ��ޤ��������������������դ��ʤ���Фʤ�ʤ��Τϡ��ǥե���Ȥ�����Ǥϡ�PostgreSQL ���Ȥ��ä˥桼��������ԤäƤ��ʤ����Ǥ�����createuser
���ޥ�ɤǥ桼�����ä����פȡ����������⤤�뤫���Τ�ޤ��󡣤������������ UNIX ��Ρ֤��Υ桼�������ѵ��Ĥ�Ϳ����פȸ��ä����٤Τ�ΤǤ���PostgreSQL ���Ȥ��ѥ���ɤ���������������������ԤäƤ���櫓�ǤϤ���ޤ��󡣥�����������ϡ�OS ��Ǥ����OS �˥������󤷤��桼���ǡ�PostgreSQL ����Ͽ���줿�桼���Ǥ���С����ѤǤ��ޤ����������ä���̣�Ǥϡ�PostgreSQL ���桼��������ԤäƤ���Ȥϸ����ʤ��Ǥ��礦���Ǥϡ�����ʳ��Υ������ƥ��Ȥϲ�����äƤ���ΤǤ��礦��
PostgreSQL �ξ�硢���ƤΥ��饹�ʥơ��֥�ˤ˥����������¤�����ޤ�������ϡ�SQL ʸ�� grant
ʸ�ȡ�revoke
ʸ�ˤ�äƴ������뤳�Ȥ��Ǥ��ޤ������饹�ϡ�����Ū�ˡ���ä��ͤ�������ˤʤꡢ�����ơ����Υ��饹�δ����Ԥˤʤ�ޤ�����ä��ͤϡ����Υ��饹�κǹ⸢�¤���äƤ��ơ����Υ��饹�˥ǡ�������Ͽ�����ꡢ����������ѹ�������Ǥ��ޤ����Ȥ�������¾�Υ桼���ϡ����Υ��饹����Ͽ����Ƥ���ǡ������Τ򸫤뤳�Ȥ��Ǥ��ޤ��󡣤�������ѹ�������Ԥ����ȤϤǤ��ޤ��󡣤Ǥϡ��ɤ������顢¾�Υ桼���˥ǡ���������������ɤ��ΤǤ��礦�����λ�����ۤ�̾����Ф�����grant
ʸ��Ȥ��ޤ���grant
ʸ�ι�ʸ�ϡ���ñ�˽񤯤ȼ��Τ褦�ˤʤ�ޤ���
=> grant ��� on ���饹 to �桼��;
���פ���������ȡ��֥��饹�פ��Ф�������פ�֥桼���פ˵��Ĥ��롣�ȡ�������̣�ˤʤ�ޤ��������פ���ʬ�ˤϡ���all, select, insert, update, delete, rule, references, trigger
�פΤ����줫�����뤤�ϡ�����ޡ�,
�פǶ��ڤä�ʣ������Ǥ��ޤ�������ϡ��ޤ��狼���̤ꡢ�¹Ԥ���Ĥ��� SQL ʸ�Ǥ���all
�����Ƶ��Ĥ��ޤ����֥��饹�פˤϡ�������󥯥饹����ꤷ�ޤ�������ϡ�����ޤǶ��ڤä�ʣ������Ǥ��ޤ����Ǹ�Ρ֥桼���פϡ�public
�פ����桼��̾���ޤ��ϡ�group ���롼��̾
�ʸ���������ޤ��ˡפ����Ǥ��ޤ���public
�ϡ����桼�����оݤˤʤ�ޤ����桼��̾�ϡ�������󡢥ǡ����١�������Ͽ���Ƥ���桼��̾�Ǥ��������ƥ५�������� pg_user
�ˤϡ���Ͽ����Ƥ���桼���ΰ�������Ǽ����Ƥ��ޤ���psql
�ʤɤǡ�select * from pg_user;
�Ȥ���ȡ������ޤ����ˡ�