group postgres を 作成する、あまり 明確には 読み取れないが 作成してお いても 良いと 考える。
# cat /etc/group | grep postgres # groupadd postgres # cat /etc/group | grep postgres postgres:x:201:
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
ここで 取り敢えず ユーザー グループ の 作成は 完了
インストールを 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 $ 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 作成
✈