PostgreSQL �̓���
PostgreSQL �Ƃ́A�{�i�I�� RDBMS �i�܂�̓f�[�^�x�[�X�j�̎��ł��B�I�[�v���\�[�X�Ŗ����ŗ��p���鎖���\�ł��B
���̏����Ƃ��܂��ẮA�u���S�҂ł������₷���v�Ƃ�����ۂ��܂����B
���Ȃ݂ɁA�u PostgreSQL �v�́A�u�|�X�g�O���X�v�u�|�X�g�O���G�X�L���[�G���v�u�|�X�g�O���X�L���[�G���v�ȂǂƔ�������i�Ă�Ă���j�炵���ł��B
���́u�|�X�g�O���X�L���[�G���v�����C�ɓ���ł��B
Vine Linux �ɂ͌��X PostgreSQL ���C���X�g�[������Ă��܂��B
���́A�G���Ă�����ɉ����Ȃ����P������Ȃ��Ȃ�A���X�� PostgreSQL ���폜���܂����B
�ł��̂ŁA�V�K�ŃC���X�g�[�����鎖�ɂȂ�܂����B
�u���� PostgreSQL �ɂ��ĐG���ĂȂ���v�ƌ������́A������ PHP �Ɋւ���L�q���炨�ǂ݉������B
���� PostgreSQL �̓����Ɋւ��ẮAWeb ��ŃA�N�Z�X���鎖��O��ɐݒ��i�߂čs���܂��B
�܂��f�[�^�x�[�X�ɃA�N�Z�X���� Web �T�[�o�� Apache�A�v���O��������� PHP ��O��Ƃ��Ă��܂��̂ł����Ӊ������B
�S�̂̃C���[�W�͈ȉ��̒ʂ�ł��B
���p�ҁi�u���E�U�j <-- --> PHP / Apache <-- --> PostgreSQL
�y�[�W���R���e���c�ꗗ
PostgreSQL �� web ��Ŏg�p����ׂɍŒ���K�v�ȃp�b�P�[�W���C���X�g�[�����܂��B
�����ŃC���X�g�[�����鑼�ɂ� PostgreSQL �Ɋւ���p�b�P�[�W�͑�R����܂��̂ŁA�p�r�ɉ����ăC���X�g�[�����ĉ������B
Linux WORLD 5 �����i IDG�W���p�� �j�ɂ��ƁA�Œ���K�v�ȃp�b�P�[�W�͉��L�� 3 �ł����B
�����V�K�� rpm �R�}���h���g���C���X�g�[�����悤�Ƃ��Ă��A
�ˑ��W�ŃS�`���S�`������ꂽ�̂ŁA apt-get �R�}���h�ŃC���X�g�[�����܂����B
# apt-get update <-- APT �p�̃f�[�^�x�[�X���X�V
# apt-get install postgresql <-- �u postgresql �v�Ɋւ���p�b�P�[�W���ˑ��W���܂߃C���X�g�[�����Ă����
�ꉞ�A�����C���X�g�[�����ꂽ�����m�F���܂��B
# rpm -qa | grep postgresql <-- �u postgresql �v�Ƃ����������܂ރp�b�P�[�W��S�ĕ\��
postgresql-libs-7.2.3-0vl1
postgresql-7.2.3-0vl1
postgresql-server �̃p�b�P�[�W���C���X�g�[������Ȃ������̂ŁA�C���^�[�l�b�g��ŒT���o���A�ʂŃC���X�g�[�����܂��B
# rpm -ivh postgresql-server-7.2.3-0vl1.i386.rpm
�O�ׂ̈�����x�m�F���Ă����܂��B
# rpm -qa | grep postgresql
postgresql-libs-7.2.3-0vl1
postgresql-server-7.2.3-0vl1
postgresql-7.2.3-0vl1
����ŁAPostgreSQL �̕K�v�Œ���̓�����͑��������ɂȂ�܂��B
���̕K�v�Œ���̓�����́APostgreSQL �� PHP �ŃA�N�Z�X���鎖��O��ɂ����ꍇ�̏����ł��B
���ɁA PHP ���C���X�g�[�����܂��B
�ȑO�A�\�[�X����R���p�C�����ăC���X�g�[�����Ă��܂������A��������P��������Ȃ��Ȃ�A�폜���A�V�K�� RPM �ŃC���X�g�[�����܂����B
$ su
# rpm -ivh php-4.2.3-0vl1.i386.rpm
���� PHP �� RPM �ŃC���X�g�[������ɂ́A�ˑ��W���ǂ��̂����̂ƌ�����Ǝv���܂��B
����Ȏ��́A�ˑ�����p�b�P�[�W���C���^�[�l�b�g��ŒT���o���A�C���X�g�[�����܂��B
���� PHP ���C���X�g�[�����鎞�ɁA�O�����ăC���X�g�[������ RPM �͈ȉ��̒ʂ�ł��B
�������C���X�g�[�������� PHP �Ɋւ���p�b�P�[�W������ƃC���X�g�[���o���܂����B
# rpm -ivh php-4.2.3-0vl1.i386.rpm <-- PHP ���̂���
# rpm -ivh php-pgsql-4.2.3-0vl1.i386.rpm <-- PHP ���� PostgreSQL �𑀍삷��ׂ̃p�b�P�[�W
Apache ���̐ݒ�́A���T�C�g�́u PHP �̓��� > PHP �̐ݒ� �v�́u���� Apache �̐ݒ�ł��B�v�̂����肩�炲���������B
PostgreSQL ���N�����Ă݂܂��B
���̋N���ɂ��A�f�[�^�x�[�X�̏������A�K�v�ȃt�@�C���̐�����e��ݒ�������I�ɍs���Ă�����l�ł��B
# /etc/rc.d/init.d/postgresql start �f�[�^�x�[�X����������: [ OK ] Postmaster�͊��Ɏ��s���ł� ���ƕ\�����ꂽ
PostgreSQL �̍ō������������u postgres �v���[�U�Ƀp�X���[�h��ݒ肵�܂��B
$ su <-- root �ɂȂ�܂�
# passwd postgres
Changing password for user postgres
New UNIX password:***************** <-- ���ۂɂ͉����\������܂���
Retype new UNIX password:***************** <-- ���ۂɂ͉����\������܂���
passwd: all authentication tokens updated successfully
�l�b�g���[�N�o�R�Ńf�[�^�x�[�X�ɃA�N�Z�X����̂ŁA
TCP/IP �ʐM�̋���ݒ肵�܂��B
/var/lib/pgsql/data/postgresql.conf ��ҏW���܂��B
�ҏW���� 26 �s���ł��B
#tcpip_socket = false
��
tcpip_socket = true
�ɕύX���܂��B
�ҏW�o������ۑ����܂��B
�����ē����K�w�ɂ��� pg_hba.conf ��ҏW���܂��B#host all 127.0.0.1 255.255.255.255 trust �� host all 127.0.0.1 255.255.255.255 trust �ɕύX���܂��B�i�R�����g����邾���ł��j
�ҏW�o������ۑ����܂��B
��L 2 �̃t�@�C�����ҏW�ł�����APostgreSQL ���ċN�����܂��B
# /etc/rc.d/init.d/postgresql restart
�����āALinux�̈�ʃ��[�U�i ��Ƃ��� hoge ���� �j�� PostgreSQL �̎��s������^���܂��B
# su postgres
$ createuser hoge
Shall the new user be allowed to create databases? (y/n) y <-- �V�����f�[�^�x�[�X�̍쐬������^����
Shall the new user be allowed to create more new user? (y/n) n <-- ���[�U�̒lj������͗^���Ȃ�
CREATE USER <-- ����Ƀ��[�U�[���쐬�����B���̕\���������ƃ��[�U�̍쐬�͎��s���Ă��܂��B
�f�[�^�x�[�X���쐬���܂��B
# su - hoge
$ createdb sampledb
CREATE DATABASE <-- ����Ƀf�[�^�x�[�X���쐬������
���Ƀe�[�u�����쐬���܂��B
�e�[�u���̍쐬���@�́Apsql �R�}���h��p���Ă��쐬�ł��܂����A
�ʓ|�������̂ł��炩���߃e�[�u�����쐬���� SQL ���L�q�����t�@�C����ǂݍ��܂��A�e�[�u�����쐬������@����鎖�ɂ��܂����B
�V�K�� SampleTable.sql �Ƃ����t�@�C�����쐬����B
���g�͈ȉ��̒ʂ�B
drop table SampleTable;
CREATE TABLE SampleTable (
No integer,
Name varchar(20)
);
�e�[�u�����쐬����B
$ psql -f SampleTable.sql sampledb
CREATE <-- ����Ƀe�[�u�����쐬������
����ŁA�G���[���o�Ȃ�������A�����ł��B
�m�F���Ă݂܂��傤�B
$ psql -n sampledb PostgreSQL �̉�b�^�^�[�~�i���Apsql �ւ悤���� \copyright �ƃ^�C�v����ƁA�z�z������\�����܂� \h �ƃ^�C�v����ƁASQL �R�}���h�̃w���v��\�����܂� \? �ƃ^�C�v����ƁA�����X���b�V���R�}���h�̃w���v��\�����܂� \g �Ƒł��Z�~�R�����ŕ���ƁA�N�G���[�����s���܂� \q �ŏI�����܂� SampleDB=> \d SampleTable <-- �쐬�����e�[�u���̊m�F �e�[�u�� "sampletable" �J���� | �^ | �C���� ----------+-----------------------+-------- no | integer | name | character varying(20) | �����_�Ń��R�[�h�� 1 ��������܂���̂ŁA���R�[�h���e�X�g�p�ɐ����lj����܂� SampleDB=> INSERT INTO sampleTable(no,name) VALUES(1,'GODZILLA'); INSERT 16582 1 <-- ����ɒlj������� SampleDB=> INSERT INTO sampleTable(no,name) VALUES(2,'MOTHRA'); INSERT 16582 1 <-- ����ɒlj������� SampleDB=> INSERT INTO sampleTable(no,name) VALUES(3,'KING-GHIDORAH'); INSERT 16582 1 <-- ����ɒlj������� �e�[�u���̒��g���m�F���܂��B SampleDB=> SELECT * FROM SampleTable; no | name ----+--------------- 1 | GODZILLA 2 | MOTHRA 3 | KING-GHIDORAH (3 �s) SampleDB=> \q <-- psql �R�}���h�̏I��
�����܂ŗ�����APostgreSQL�͐���ɓ��삵�Ă��܂��B
�����āA Apache ����A�N�Z�X�\�ɂ��܂��B
�����_�ŁA��قǍ쐬�����e�[�u���i SampleTable �j�ɃA�N�Z�X�ł���̂́A�쐬�҂ł��� hoge �݂̂Ȃ̂ŁAApache ������A�N�Z�X�\�ɂ��Ă��Ȃ�������܂����B
Apache �p�̃��[�U�ł��� apache �� PostgreSQL ���g����l�ɂ��܂��B
Apache �p�̃��[�U���̊m�F�́A/etc/httpd/httpd.conf ������ 380 �s���� �u User �v�̋L�q�����ĉ������B
# su - postgres
$ createuser apache
Shall the new user be allowed to create databases? (y/n) n <-- �V�����f�[�^�x�[�X�̍쐬������^���Ȃ�
Shall the new user be allowed to create more new user? (y/n) n <-- ���[�U�̒lj������͗^���Ȃ�
CREATE USER
# su - hoge <-- hoge ���[�U�i�e�[�u���쐬�ҁj�ɂȂ�
$ psql -n SampleDB <-- �쐬�����f�[�^�x�[�X�ɃA�N�Z�X����
SampleDB=> grant all on SampleTable to apache; <-- ���[�U�� apache �ɁASampleTable �ւ̃A�N�Z�X��S�ʓI�ɋ����Ă��܂�
����ŁA Apache ���� SampleTable �ւ̃A�N�Z�X���\�ɂȂ�܂����B