スポンサーサイト
投稿日時 : -------- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
-------- --:-- | スポンサー広告
[Ubuntu] PostgreSQLのインストール・初期設定・使い方メモ
投稿日時 : 2007-12-18 06:19
PostgreSQLの基本的な使い方と初期設定メモ。
 
■PostgreSQLのインストール
Ubuntu7.10にインストールする。
$ sudo apt-get install postgresql
だけで以下のように依存パッケージを自動でインストールしてくれます。
postgresqlのインストール
$ sudo apt-get install postgresql
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
Reading state information... 完了            
以下の特別パッケージがインストールされます:
  libpq5 postgresql-8.2 postgresql-client-8.2 postgresql-client-common
  postgresql-common

■PostgreSQLのユーザ管理
 PostgreSQLはLinuxのアカウントとは別にデータベースユーザを管理している。デフォルトでpostgresというユーザのみが登録されている。とりあえずpasswdコマンドでパスワードを設定する。
$ sudo passwd postgres
新たなデータベースユーザを追加する場合はsuで、データベースの管理ユーザであるpostgresになってから行う。
itmst@mv1c3e:~$ su - postgres
パスワード: 
postgres@mv1c3e:~$ createuser -P itmst
Enter password for new role: 
Enter it again: 
Shall the new role be a superuser? (y/n) y
CREATE ROLE

■新規にデータベースを作成する
 以下のようにcreatedbコマンドでmydbというデータベースを作成。引数にデータベース名を指定。もし指定がなければcreatedbコマンドを実行したユーザ名と同名のデータベースが作成される。先ほどユーザitmstをデータベースの管理ユーザとして登録したのでこのcreatedbコマンドが実行可能になっている。
itmst@mv1c3e:~$ createdb mydb
CREATE DATABASE

 
■psqlコマンドでデータベースに接続する
 psqlはPostgreSQLの最も基本的なデータベースクライアント。引数に接続するデータベース名を指定する。ここではさっき作成したmydbを指定している。接続できると対話モードに移行する。
itmst@mv1c3e:~$ psql mydb
Welcome to psql 8.2.5, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

mydb=# 
 プロンプトが「mydb=#」となり、データベース「mydb」に正常に接続できていることが分かる。ここからはpsqlの内部コマンドとSQLコマンドを使ってデータベースを操作していく。psqlの内部コマンドは「\」で始まり、大文字・小文字を区別する。SQLコマンドは「\」は不要で、大文字・小文字の区別もない。実行可能なSQLコマンドはpsql内部コマンドの「\h」を使う。
mydb=# \h
Available help:
  ABORT                     CREATE OPERATOR CLASS     END                       

  ALTER AGGREGATE           CREATE OPERATOR           EXECUTE                   

  ALTER CONVERSION          CREATE ROLE               EXPLAIN                   

  ALTER DATABASE            CREATE RULE               FETCH
(省略)  
引数にコマンド名を指定すると個別のヘルプを参照できる。psqlの内部コマンドを確認するには以下のように「\?」を実行。
mydb=# \?
General
  \c[onnect] [DBNAME|- USER|- HOST|- PORT|-]
                 connect to new database (currently "mydb")
  \cd [DIR]      change the current working directory
  \copyright     show PostgreSQL usage and distribution terms
  \encoding [ENCODING]
                 show or set client encoding
  \h [NAME]      help on syntax of SQL commands, * for all commands
  \q             quit psql
  \set [NAME [VALUE]]
                 set internal variable, or list all if no parameters
  \timing        toggle timing of commands (currently off)
  \unset NAME    unset (delete) internal variable
  \! [COMMAND]   execute command in shell or start interactive shell
(省略)  

終了するときは上記ヘルプにある通り、psqlの内部コマンドである「\q」を実行する。
mydb-# \q
itmst@mv1c3e:~$
データベースから切断し、プロンプトが通常に戻った。
 
■ネットワーク経由の接続を許可する設定
 デフォルトではlocalhost(127.0.0.1)からの接続しか許可しない設定になっている。これをLAN(192.168.0.0/24)からのTCP/IP接続を許可するように設定を変更する。
/etc/pstgresql/8.2/main/postgresql.conf
# listen_addresses = 'localhost'
この行を以下のように書き換える。
/etc/pstgresql/8.2/main/postgresql.conf
listen_addresses = '*'
さらにもうひとファイル修正する。
/etc/pstgresql/8.2/main/pg_hba.conf
host  all  all  192.168.0.0/24  md5
という記述を追加する。設定反映を反映させるにはpostgresqlサービスに設定をリロードさせる。サービス名はバージョン番号がついた「postgresql-8.2」になっている。
$ sudo service postgresql-8.2 relaod

 
正しく設定できているか192.168.0.0/24内の別ホストから接続する。
$ psql -h <ホスト名 | IPアドレス> -U <データベースユーザ名> -d <データベース名>

192.168.0.4/24 から192.168.0.3/24のデータベース「mydb」に接続
itmst@vt550:~$ psql -h 192.168.0.3 -U itmst -d mydb
Password for user itmst: 
Welcome to psql 8.2.5, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)

mydb=# 
プロンプトが「mydb=#」になりネットワーク越しに接続できることが確認できた。
 
■サービスの自動起動設定
 Ubuntuではインストール後自動的にシステム起動時にサービスが起動するように設定される。この設定を変更するにはsysv-rc-confコマンドを使う。以下のようにランレベルごとの自動起動のON/OFFを切り替えることができる。
初期状態確認→OFF→変更確認→ON→変更確認
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:on    3:on    4:on    5:on    6:off
itmst@mv1c3e:~$ sudo sysv-rc-conf postgresql-8.2 off
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:off   3:off   4:off   5:off   6:off
itmst@mv1c3e:~$ sudo sysv-rc-conf postgresql-8.2 on
itmst@mv1c3e:~$ sysv-rc-conf --list | grep postgresql
postgresql-8 0:off      1:off   2:on    3:on    4:on    5:on    6:off

 
この後のSQLコマンドによるデータベースの構築は以下を参照。
PostgreSQL 入門第2回:PostgreSQL 有効活用術
 
スポンサーサイト
2007-12-18 06:19 | Linux | Comment(2) | Trackback(1)
Comment
ubuntuにて「onedepo」というツールインストール時に参考にさせていただきました。
ありがとうございます。
athran 2010/05/24(月) 15:55:45) 編集

お役に立ててよかったです!
itmst 2010/05/24(月) 16:03:06) 編集

コメントを書く
#

管理者にだけ表示
Trackback
Trackbak URL:http://itmst.blog71.fc2.com/tb.php/45-bff2d8e1
[postgresql][sql]phpPgAdminのインストールと設定
Ubuntu Server 8.04でPostgreSQLを使う。 すいませんPostgreSQL自体のインストールはログを取っていなかったので他のサイトを参照してください。 PostgreSQLのインストール・初期設定・使い方メモ ちなみにUbuntu ServerではtaskselコマンドでPostgreSQLその他のサーバのイ
  • 2009/04/09(木) 23:17:05 |
  • ubuntu日記
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。