アフィリエイト広告を利用しています


スキル無しのシステムインストラクターから、システムエンジニアへの転身日記。
◇◆◇ 2013年取得資格
LPICレベル1
LPICレベル2
LPICレベル3 Core
LPICレベル3 Speciality 302
LPICレベル3 Speciality 303
LPICレベル3 Speciality 304

Cisco CCENT
Cisco CCNA

Java SE 7 Silver
Java SE 7 GOLD

OSS-DB Silver

◇◆◇ 2014年取得資格
HTML5 Professional レベル1

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

【OSS-DB試験対策】Silver PostgreSQLインストールしちゃいますか

さて、 LPICも全制覇 しましたし、違う資格の勉強しましょう。

Xenの構築、ホームページの作成、LPICレベル3の技術解説などの
課題を背負いながら、OSS-DBを受験しようと思います。

目標は長めにとって、今月末くらいまでですかね。
SQL自体は勉強が初めてではありません。
PostgreSQL を一度ソースインストールし、下記の本を一冊読んでます。




どれだけ翔泳社好きなんだと・・・
この本は、OSS-DBのPostgreSQL以外のSQL言語でも使える本で、
言語ごとに特殊な記述が必要なときには、別で解説してくれます。
とーっても読みやすいです。

今の仕事に就く前は、Oracleを組み込んだソフトウェアを保守してましたが、
俺はSQL覚えられない。と思い込んだほど、 SQL嫌いでしたが、すんなり読めました。
でも、相関サブクエリの概念がいまいち飲み込めないんだよな・・・

さて、雑談はさておきまして、CentOS6.3にPostgreSQLをインストールしていきます。
PostgreSQL自体は、ソースインストールしますが、
その他必要ファイルはyumでインストールしてしまいます。

作業前に



インストール&設定には、たびたびroot権が必要になるため、
suしてからvisudoコマンドで作業アカウントに対してsudoの権限を与えておく。
su
visudo

%user ALL=(ALL) ALL
↑作業者のアカウント

必要なファイルを用意



postgresql 9.2.4
wget http://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.bz2


readline-devel 6.0.4
yum -y readline-devel


zlib-devel 1.2.3
yum -y zlib-devel


gcc 4.4.7
yum -y gcc

↑これがないと、configure: error: no acceptable C compiler found in $PATH


解凍&インストール



解凍して、作業ディレクトリへ
tar jxvf postgresql-9.2.4.tar.bz
cd postgresql-9.2.4


Postgresのインストールディレクトリを作成
(インストール先は任意)
sudo mkdir -m 775 /usr/local/pgsql


configureにてmakeファイルを生成 --prefixにてインストール先を指定
(インストール先は任意)
./configure --prefix=/usr/local/pgsql


ソースファイルのコンパイル。
成功すると「All of PostgreSQL successfully made. Ready to install.」

make


root権を持ってインストール。root権が無いとエラーになります
成功すると「PostgreSQL installation complete.」
sudo make install


ユーザー作成 & 所有権変更



現状、データベースの権限はrootにある事を確認。
sudo ls -la /usr/local/pgsql/

drw-r--r--. 6 root root 4096 7月 31 02:26 2013 .
drwxr-xr-x. 13 root root 4096 7月 31 02:13 2013 ..
drwxr-xr-x. 2 root root 4096 7月 31 02:26 2013 bin
drwxr-xr-x. 6 root root 4096 7月 31 02:26 2013 include
drwxr-xr-x. 3 root root 4096 7月 31 02:26 2013 lib
drwxr-xr-x. 6 root root 4096 7月 31 02:26 2013 share

データベース管理用のユーザーを作成(ユーザー名は任意)
sudo useradd dba
sudo passwd dba


/usr/local/pgsql配下のファイルのオーナー権をdbaに変更
sudo chown -R dba /usr/local/pgsql/
sudo chgrp -R dba /usr/local/pgsql


dbaにもsudoの権限を与えておく
su
visudo

%dba ALL=(ALL) ALL

PostgreSQLの起動



dbaユーザにスイッチしてから、ホームディレクトリへ移動
su dba
cd ~


.bashrcにてPATHにPostgreSQLの実行コマンドのディレクトリを登録しておく
(次回ログイン時に有効)
vi .bashrc

# User specific aliases and functions
export PATH=$PATH:/usr/local/pgsql/bin
export MANPATH=$MANPATH:/usr/local/pgsql/man
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib
export PGDATA=/usr/local/pgsql/data

一度suしてdbaにて入り直すとPATHが通ったことが確認できる
echo $PATH


/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/hiroki/bin:/usr/local/pgsql

データベース格納領域の初期化、オプションとして、文字コードを指定し、
ロケール(言語などによる処理)を無効化しています。
initdbコマンドを実行したユーザーがPostgreSQLのスーパーユーザーとして認識されます。
成功するとSuccess. You can now start the database server usingの文字列が返ってきます
initdb --encoding=UTF8 --no-locale


PostgresSQLのプロセスを起動させます
成功すると、server startedの文字列が返ってきます
pg_ctl -w start


もし、操作が終わりプロセスを停止する場合は、
pg_ctl stop

プロセスを終了します。


データベースに接続



「psql データベース名 ユーザー名」で接続します。
初めからあるデータベースは、「postgres」です。
psql postgres dba

[dba@localhost ~]$ psql postgres dba
psql (9.2.4)
Type "help" for help.

データベースから抜けるときはメタコマンドの「\q」コマンドで抜けます
\q


データベースに接続した状態であれば、新たなデータベースを作成できます
CREATE DATABASE test1;

CREATE DATABASE

次回ログイン時にtest1を指定して起動すれば、test1にテーブルを作成したりできます。


ここまでです。簡潔に細やかに記載しました。
2度目のインストールなので、ざっと1時間くらいですかね。
PostgreSQLは、結構すんなりソースインストールできる方だと思います。
initdbのあたりがちょっと特殊ですかね。

次回からはコマンドなどのお勉強。しばらくSQL続きます。
    >> 次へ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。

Build a Mobile Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: