PostgresSQLインストール †ユーザ設定 †# groupadd postgres # useradd -g postgres postgres # mkdir /usr/local/pgsql # chown postgres:postgres /usr/local/pgsql/ インストール †# wget ftp://ftp.jp.postgresql.org/source/v8.2.4/postgresql-8.2.4.tar.gz # tar zvxf postgresql-8.2.4.tar.gz # chown -R postgres:postgres postgresql-8.2.4 $ su - postgres $ cd /usr/local/src/postgresql-8.2.4 $ ./configure $ make $ make install Postgresユーザ環境変数設定 †$ vi .bash_profile 設定 export PATH=$PATH:/usr/local/pgsql/bin export POSTGRES_HOME=/usr/local/pgsql export PGLIB=$POSTGRES_HOME/lib export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"$PGLIB" export MANPATH="$MANPATH":$POSTGRES_HOME/man export PGDATA=/usr/local/pgsql/data 初期化 †新しいPostgreSQL データベースクラスタ(またはデータベースシステム)を作成する。 no-localeは日本語を使うときに必ずつける。 $ initdb --encoding=UTF8 --no-locale -D /usr/local/pgsql/data $ exit パスが通ってない場合 $ /usr/local/pgsql/bin/initdb --encoding=UTF8 --no-locale -D /usr/local/pgsql/data 自動起動 †# su - root # cd /etc/rc.d/init.d/ # cp -p /usr/local/src/postgresql-8.2.4/contrib/start-scripts/linux /etc/init.d/postgresql # chown root:root /etc/init.d/postgresql # chmod 755 /etc/init.d/postgresql # chkconfig --level 2345 postgresql on Debianには"update-rc.d"というコマンドが用意されている。 "update-rc.d"を使い、80ポートで起動するように起動スクリプトを作成する。 # update-rc.d postgresql defaults 80 設定ファイルの修正 †postmasterはデフォルトではUNIXドメインソケット接続しか受け付けない。 そのため、TCP/IPソケットでの他ホストからの接続を許可する。 # vi /usr/local/pgsql/data/postgresql.conf 設定 listen_addresses = '*' デフォルトでは自ホストからの接続のみ許可になっているので、 PostgreSQLへのクライアントの接続許可の設定を行う。 # vi /usr/local/pgsql/data/pg_hba.conf 設定 host all all 192.168.0.0/24 起動 †# su - postgres $ pg_ctl start -l /usr/local/pgsql/postgresql.log -D /usr/local/pgsql/data 起動確認 †$ psql -l 停止 †$ pg_ctl stop ユーザの追加 †$ su - postgres $ createuser ユーザ名 ユーザの削除 †$ su - postgres $ dropuser ユーザ名 DB作成 †$ su - postgres $ createdb データベース名 DB削除 †$ su - postgres $ dropdb データベース名 DBに接続 †$ su - postgres $ psql データベース名 -U ユーザー名 -W ユーザとDB作成 †DBとDBユーザ作成権限をもつユーザを作成し、DBを作成する。 ユーザの追加(権限あり) †※-a -d オプションはDB作成の権限を与えます。 $ su - postgres $ createuser -a -d -U postgres -P ユーザー名 Enter password for new role: 作成するユーザのパスワードを入力 Enter it again: 作成するユーザのパスワードを再入力 Password: postgres(スーパーユーザ)のパスワードを入力 CREATE ROLE
ユーザの追加(権限なし) †※-a -d オプションは任意。権限を与えたくない場合は、以下のようにするほうがいいかもです。 ただし、DBの所有者をPostgresにするなどPHPからアクセスできるようにしないといけないです。 $ createuser -U postgres -P ユーザー名 Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n $ psql -U postgres -W postgres> SELECT * FROM pg_shadow; -----------------+----------+-------------+----------+-----------+-------------------------------------+----------+----------- usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig -----------------+----------+-------------+----------+-----------+-------------------------------------+----------+----------- postgres | 0 | t | t | t | | | test | 0 | f | f | f | | | -----------------+----------+-------------+----------+-----------+-------------------------------------+----------+----------- DB作成(DB所有者をPostgresユーザで作成する) †$ createdb -E UTF-8 データベース名 Password: -Oで指定したオーナのパスワードを入力 CREATE DATABASE
DB作成(DB所有者を指定する) †$ createdb -E UTF-8 -O ユーザ名 -U ユーザ名 データベース名 Password: -Oで指定したオーナのパスワードを入力 CREATE DATABASE
Counter: 13221,
today: 1,
yesterday: 4
|