small note on postgresql

|**|

postgresql postgres 002

groupadd postgres

group

group postgres を 作成する、あまり 明確には 読み取れないが 作成してお いても 良いと 考える。

# cat /etc/group | grep postgres
# groupadd postgres
# cat /etc/group | grep postgres
postgres:x:201:

adduser postgres

user

user postgres を 作成する 標準の adduser にて 作成 この場合 user postgres の home ディレクトリ は /home/postgres で 良いのか どうかは 判然としないが 取り敢えずは 標準的な 方法で 作成しておく。

# adduser 
Can you read Japanese chars on this term ? [y/N]
n
No Japanese mode

Login name for new user (8 characters or less) []: postgres
User id for postgres [ defaults to next available]: 
Initial group for postgres [users]: postgres
postgres's home directory [/home/postgres]: 
postgres's shell [/bin/tcsh]: /bin/bash

Window Manager setting
1 : AfterStep(recommended)
2 : qvwm(Windows95 like)
3 : twm(most simple)
4 : KDE desktop(need KDE)
postgres's WM ? [1]: 

Input method of kinput2(Canna only)
1 : Roma
2 : Kana(Japanese keyboard only)
Which is postgres's method, roma or kana ? [1]: 

KDE fonts setting
1 : Disable antialiasing(clear and lightweight)
2 : Enable antialiasing, gothic-based(beautiful; suitable for high-resolution)
3 : Enabel antialiasing, Mikachan
postgres's fonts setting ? [1]: 

postgres's account expiry date (MM/DD/YY) []: 

OK, I'm about to make a new account. Here's what you entered so far:

New login name: postgres
New UID: [Next available]
Initial group: postgres
Additional groups: [none]
Home directory: /home/postgres
Shell: /bin/bash
Expiry date: [no expiration]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.
ENTER to go ahead and make the account.


Making new account...

Changing the user information for postgres
Enter the new value, or press return for the default
        Full Name []: 
        Room Number []: 
        Work Phone []: 
        Home Phone []: 
        Other []: 

Changing password for postgres
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password: 
Re-enter new password: 
Password changed.

Done...
# cat /etc/passwd | grep postgres
postgres:x:1006:201:,,,:/home/postgres:/bin/bash

ここで 取り敢えず ユーザー グループ の 作成は 完了

owner group

インストールを postgres に なって する 場合も 見受けられるので 一応 /usr/local/ の pgsql/ を postgres に 変更しておく

# cd /usr/local/
# chown postgres.postgres -R pgsql/
# cd pgsql/
# ls -l | sed -e 1d
drwxr-xr-x    2 postgres postgres     4096 Dec 19 13:30 bin/
drwxr-xr-x    3 postgres postgres     4096 Dec 19 13:30 doc/
drwxr-xr-x    6 postgres postgres     4096 Dec 19 13:30 include/
drwxr-xr-x    3 postgres postgres     4096 Dec 19 13:30 lib/
drwxr-xr-x    4 postgres postgres     4096 Dec 19 13:30 man/
drwxr-xr-x    3 postgres postgres     4096 Dec 19 13:30 share/
# cd

さて ここで postgres に なってみよう この場合 プロンプトが

nyanta:~# cd /usr/local/pgsql/
nyanta:/usr/local/pgsql# pwd
/usr/local/pgsql
nyanta:/usr/local/pgsql# su postgres
postgres@nyanta:/usr/local/pgsql$

の 様に 変化 する これを 一々 表示していると 長く なるので ”$”と し て 表すが 通常の ”$”と 紛らわしい事は 事実である 取り敢えずは 赤色で 表示 してみよう

su postgres

# su postgres

$ pwd
/usr/local/pgsql

$ mkdir data

$ ls -l | sed -e 1d
drwxr-xr-x    2 postgres postgres     4096 12月 19日  13:30 bin/
drwxr-xr-x    2 postgres postgres     4096 12月 20日  10:08 data/
drwxr-xr-x    3 postgres postgres     4096 12月 19日  13:30 doc/
drwxr-xr-x    6 postgres postgres     4096 12月 19日  13:30 include/
drwxr-xr-x    3 postgres postgres     4096 12月 19日  13:30 lib/
drwxr-xr-x    4 postgres postgres     4096 12月 19日  13:30 man/
drwxr-xr-x    3 postgres postgres     4096 12月 19日  13:30 share/

データーベースクラスタの作成

データーベース の 初期化(?)”データーベースクラスタの作成”を 行う これは root では 駄目との事であるので、 以下の 様にして 行った

$ /usr/local/pgsql/bin/initdb --encoding=EUC_JP --no-locale -D/usr/local/pgsql/data 

ここで 以下の 様な 参考資料に 依って インストールした 元のデーター領 域 今回の場合は ”/usr/local/src/postgresql/postgresql-8.1.1/doc/” の ”README.mb.jp”に 記載されている

/usr/local/src/postgresql/postgresql-8.1.1/doc/README.mb.jp
initdb/createdb/create database におけるエンコーディングの指定について
initdb では以下のオプションでエンコーディングが指定できます.
-E エンコーディング
--encoding=エンコーディング
ここで指定したエンコーディングは,以後 createdb/create database でエ ンコーディングを省略した場合に設定されるエンコーディングになります. -E または --encoding オプションを省略した場合は,エンコーディングと してSQL_ASCIIが採用されてしまうので,日本語をデフォルトで使用する場 合は,
-E EUC_JP
あるいは
--encoding=EUC_JP
として必ず明示的にエンコーディングを指定してください.
なお,PostgreSQL 7.3以降ロケールサポートが必ず有効になっていますが, これは日本語などを使用する際には何のメッリトもないばかりでなく,障害 の原因になったり,LIKE検索や正規表現検索でインデックスが有効にならな いなどの問題を引き起こすので,無効にしておくことをおすすめします.ロ ケールサポートを無効にするためには,
--no-locale
オプションを指定します.
$ /usr/local/pgsql/bin/initdb --encoding=EUC_JP --no-locale -D/usr/local/pgsql/data 
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale C.

fixing permissions on existing directory /usr/local/pgsql/data ... ok
creating directory /usr/local/pgsql/data/global ... ok
creating directory /usr/local/pgsql/data/pg_xlog ... ok
creating directory /usr/local/pgsql/data/pg_xlog/archive_status ... ok
creating directory /usr/local/pgsql/data/pg_clog ... ok
creating directory /usr/local/pgsql/data/pg_subtrans ... ok
creating directory /usr/local/pgsql/data/pg_twophase ... ok
creating directory /usr/local/pgsql/data/pg_multixact/members ... ok
creating directory /usr/local/pgsql/data/pg_multixact/offsets ... ok
creating directory /usr/local/pgsql/data/base ... ok
creating directory /usr/local/pgsql/data/base/1 ... ok
creating directory /usr/local/pgsql/data/pg_tblspc ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 1000
creating configuration files ... ok
creating template1 database in /usr/local/pgsql/data/base/1 ... ok
initializing pg_authid ... ok
enabling unlimited row size for system tables ... ok
initializing dependencies ... ok
creating system views ... ok
loading pg_description ... ok
creating conversions ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

    /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
or
    /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

この場合 postgres で ”data ”ディレクトリを 作成したが ”root”で 作 成して 行った場合

# mkdir /usr/local/pgsql/data
# chown postgres /usr/local/pgsql/data
# su postgres

$ /usr/local/pgsql/bin/initdb --encoding=EUC_JP --no-locale -D/usr/local/pgsql/data 
could not change directory to "/root" /*  この様な 物が 余分に 出力される  */
The files belonging to this database system will be owned by user "postgres".

# chown postgres.postgres /usr/local/pgsql/data とすれば 良いのでせう が

./configure
gmake
su
gmake install
adduser postgres
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data   /* ここまで完了 */
/usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data >logfile 2>&1 &
/usr/local/pgsql/bin/createdb test
/usr/local/pgsql/bin/psql test

これで サーバーの 起動準備が 一つ用意出来た事に なります

にゃんたろう 拝!

2005年12月21日 (水) 23:05:18 JST 作成

|**|


small note on postgresql

Copyright © 2004.-2007. nyantarou All Rights Reserved.