メインコンテンツに移動
ホーム
Let's POSTGRES

メインナビゲーション

  • ホーム
  • 目的別ガイド
  • 読み物
  • 動画で学ぶ

パンくず

  1. ホーム
  2. 読み物
  3. 入門向けの記事
  4. CentOS で PostgreSQL を使ってみよう!

CentOS で PostgreSQL を使ってみよう!(2)

(3) インストールの確認

インストールしてどんなファイルができたのか?などを確認します。

 

  1. 『postgres』というアカウント が作成されていることを、「id」コマンドや「finger」コマンドで確認します。(各種 ID やホームディレクトリは、以下の例と異なる可能性があります。)
    [root @server1 ~]# id postgres
    uid=26(postgres) gid=26(postgres) 所属グループ=26(postgres)
    
    [root @server1 ~]# finger postgres
    Login: postgres                         Name: PostgreSQL Server
    Directory: /var/lib/pgsql               Shell: /bin/bash
    Never logged in.
    No mail.
    No Plan.
    
  2. 「/usr/」にインストールされ、さまざまなファイルができていることを確認します。たとえば、以下のようにコマンドが存在するかを見てみます。
    [root @server1 ~]# which psql
    /usr/bin/psql
    
  3. サービスに登録されていることを確認します。「/etc/init.d/」に「postgresql」という PostgreSQL の起動・停止を行なうスクリプトが追加されています。
    [root @server1 ~]# ls /etc/init.d/
    pand        pcscd       portmap     postfix     postgresql  proftpd     psacct
    
  4. OS を起動したときに PostgreSQL も起動するように設定します。設定は「chkconfig」コマンド で行ないます。「on」で OS 起動時に起動するようにし、「--list」で状態を確認します。
    [root @server1 ~]# chkconfig postgresql on
    [root @server1 ~]# chkconfig --list postgresql
    postgresql      0:off   1:off   2:on    3:on    4:on    5:on    6:off
    

 

3. PostgreSQL を使ってみる

 

では、いよいよ実際に PostgreSQL を使ってみます。

使ってみる前に、PostgreSQL を使うためのアカウントを、自動的に作成された『postgres』以外にも作成しておきます。 Linux 上のアカウントを作成するには、「useradd」コマンドを実行します。

例では、『anzai』というアカウントを作成してこれを使っていきます。

[root @server1 ~]# useradd anzai

 

  1. 「service」コマンド で postgresql サービスを起動します。「/etc/init.d/postgresql start」と実行するのと同じです。
    [root @server1 ~]# service postgresql start
    postgresql サービスを開始中:                              [  OK  ]

    初めて起動したときは、「データベースクラスタの初期化(initdb)」 が行なわれます。これは、データベースを使うために必要なディレクトリ構成を作る処理で、「/var/lib/pgsql/data/」に作成されます。

    [root @server1 ~]# service postgresql start
    データベースを初期化中:                                    [  OK  ]
    postgresql サービスを開始中:                              [  OK  ]
    
  2. 以降は「postgres」アカウントで操作するため、「su」コマンドでユーザを変えます。
    [root @server1 ~]# su - postgres
  3. PostgreSQL に接続する「psql」コマンド を使って、データベースの一覧を表示してみます。一覧は「-l」オプションで表示することができます。

     

    ※ 「-U」オプション で、コマンドを実行する PostgreSQL 上のユーザを指定できます。(省略すると、ログインしているアカウントと同じ名前のユーザで接続して実行しようとします。)
    -bash-3.1$ psql -l
          List of databases
       Name    |  Owner  | Encoding 
    -----------+---------+----------
     postgres  | posgres | UTF8
     template0 | posgres | UTF8
     template1 | posgres | UTF8
    (3 rows)

    なお、初期化直後でまだ何も使っていない状態でも、上の実行例のとおり 3 つのデータベースが存在します。ただし 8.0 以前のバージョンの PostgreSQL では、「postgres」データベースがありません。

  4. 「createuser」コマンド で、ユーザ(ロール)を作成します。ここでは、データベースを作成できるような権限を与えています。
    -bash-3.1$ createuser anzai
    Shall the new role be a superuser? (y/n) n
    Shall the new role be allowed to create databases? (y/n) y 
    Shall the new role be allowed to create more new roles? (y/n) n
    
  5. 「createdb」コマンド で、データベースを作成します。ここでは、上で追加したユーザ(ロール)でデータベースを作成します。(チュートリアル 1.3 「データベースの作成」 )
    -bash-3.1$ createdb mydb -U anzai
    createdb: could not connect to database postgres: 
    FATAL:  Ident authentication failed for user "anzai"

    ところが、コマンドを実行すると、"FATAL" というレベルのエラー になってしまい、データベースが作成できません。

    メッセージには「Ident 認証に失敗した」と、原因が書いてあります。この Ident 認証とは、Linux 上のアカウントと PostgreSQL のアカウントが一致しないとエラーにする、という設定で、あらかじめ設定されているものです。

    ということで、「su - postgres」を終わって root に戻るため「exit」コマンドを実行し、root で「su」コマンドを実行して、先ほど作成したアカウントになります。

    -bash-3.1$ exit
    [root @server1 ~]# su - anzai

    そして、そのアカウントで「createdb」コマンドを実行します。

    ※ 今度は、Linux 上のアカウントと PostgreSQL 上のユーザが一致しているにので、「-U」オプション はつけなくても構いません。
    [anzai @server1 ~]$ createdb mydb
    CREATE DATABASE

    今度は作成できました。また「psql -l」コマンドでデータベースの一覧を見てみると、「mydb」という新しいデータベースが作成できていることが確認できます。

    [anzai @server1 ~]$ psql -l
          List of databases
       Name    |  Owner  | Encoding 
    -----------+---------+----------
     mydb      | anzai   | UTF8
     postgres  | posgres | UTF8
     template0 | posgres | UTF8
     template1 | posgres | UTF8
    (4 rows)
  6. 「psql」コマンド で、作成したデータベースに接続します。(チュートリアル 1.4 「データベースへのアクセス」 )
    [anzai @server1 ~]$ psql mydb
    Welcome to psql 8.1.4, 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=>

これにて、チュートリアル を実施できる環境がととのいました。ここまでがチュートリアルの第 1 章ですので、第 2 章以降にお進みいただけます。


(2009年5月11日公開)

(3) では、ログなどの高度な設定や、CentOS で使うにあたっての注意点をご紹介します!

ブック横断リンク: CentOS で PostgreSQL を使ってみよう!(2)

  • CentOS で PostgreSQL を使ってみよう!
  • 上へ
  • CentOS で PostgreSQL を使ってみよう!(3)

フッター

  • ホーム
  • 目的別ガイド
    • 導入検討
    • インストール
    • 運用管理
    • チューニング
    • サポート
    • 内部解析
  • 読み物
    • 入門記事
    • 技術的記事
    • 事例紹介
    • イベントレポート
    • リンク集
    • インタビュー
  • 動画で学ぶ
  • コンタクト

ブックナビゲーション

  • 入門向けの記事
    • OSS の開発コミュニティってどんなところ?
    • PostgreSQL が私に与えてくれたもの
    • PostgreSQL 超入門 第1回
    • これを読めば PostgreSQL の全てが分かる!PostgreSQL ガイドブック
    • サンフランシスコのPostgreSQL事情
    • PostgreSQL上にMediaWiki環境を構築
    • キャストを追加してバージョン互換性を保つには
    • HOTの活用
    • PostgreSQLでXMLを処理してみよう!
    • CentOS で PostgreSQL を使ってみよう!
      • CentOS で PostgreSQL を使ってみよう!(2)
      • CentOS で PostgreSQL を使ってみよう!(3)
    • Mac OS X で PostgreSQL を使ってみよう
    • RPMで複数バージョンのPostgreSQLをインストールしてみよう
    • UbuntuでPostgreSQLを使ってみよう
    • WindowsでPostgreSQLを使ってみよう
    • yumでPostgreSQLをインストールしてみよう
    • PostgreSQLの機能と他のRDBMSの比較
    • psqlを使ってみよう
    • PostgreSQLのトラブルシュートとチューニング
    • PostgreSQLの導入と初期設定
    • PostgreSQLの利用動向レポート
    • PHPでPostgreSQLを使ってみよう
    • PostGISを使ってみよう
    • PostgreSQLの開発プロセス
    • 現場で役立つ実践ノウハウWeb開発の「べし」「べからず」
    • gihyo.jp & Let's Postgres 連動企画 今こそ!PostgreSQL
    • PostgreSQL日本語マニュアルについて
  • 技術的な記事
  • 事例紹介
  • イベントレポート
  • リンク集
  • インタビュー
RSS feed

最近追加されたページ

  • PostgreSQL17の新機能
  • PostgreSQL16の新機能
  • PostgreSQL15の新機能
  • PostgreSQL14の新機能
  • 外部データとの連携 ~FDWで様々なデータソースとつなぐ~

ページ送り

  • 1
  • 次ページ