Top / PostgreSQL / TIPS集

シェルからのTIPS

pg_ctlの引数とか

pg_ctl -o "-i"  start

のように-o "hoge" でpostmasterのオプションを指定できる。たとえば

postmaster -i -S

とするには

pg_ctl -o "-i -S"  start

とすればよい。

デーモンのリスタート方法

> pg_ctl restart

ところでpg_ctlってなんなの

PostgreSQL 7.1.3 ドキュメント(日本語版 1.6):pg_ctlの説明

pg_ctlの説明の引用
pg_ctlはPostgreSQL バックエンドサーバである postmaster を起動、 停止、再起動、あるいは起動中の postmaster の 状態を表示するためのユーティリティです。postmasterは手動で起動することも可能 ですが、pg_ctl はログ出力のリダイレクト などの作業を、的確にターミナルとプロセスグループから分離しながら カプセル化し、更にどのように停止するかを管理するオプションも提供します。

データベースのリストを表示する

> psql -l

ユーザの作成

ユーザ作成は以下のコマンドです。

> createuser mt <- ユーザID

作成したユーザでログインしようとしたら

> psql -Umt
psql: FATAL 1:  IDENT authentication failed for user "mt"

ってなっちゃっいました。他のUNIXユーザでログインすると怒られる設定(?) だったのでしょうか、Unixユーザを作成してそのユーザにsuしてからpsqlをやるとOKでした。*1

DBの作成

データベースの作成は以下のコマンドです。

> createdb mt <-データベース名

なんですが、文字エンコーディングの指定をしなかったため、DBのエンコーディングがSQL_ASCIIってなってました。これだとJDBC接続をしたときに文字化けが発生してしまいました。結局、DBの作成時のエンコーディングを変更することで対処しました。

> createdb -E EUC-JP mt

データベースの削除

dropdb mt <- DB名

データベースごとのバックアップをとる

postgresにsuして

pg_dump [DB名] > [バックアップファイル名]
pg_dump mt > mt.20031231.out

バックアップファイルから戻す

postgresにsuして

psql -e [importしたいDB名] < [バックアップファイル名]
psql -e mt < mt.20031231.out

もとからDBは作っておこう。

psql プロンプト上のTIPS

テーブルの作成

test=# create table test (shainno int,shimei text);

テーブルの確認

test=# \d
    List of relations
 Name | Type  |  Owner
------+-------+----------
 test | table | postgres
(1 row)

test=#

更に詳細を確認

test=# \d test

その他

Javaから使う。

//  ドライバクラスをロード
Class.forName("org.postgresql.Driver");
// データベースへ接続
Connection connection =
 DriverManager.getConnection(
  "jdbc:postgresql://[IPAddress]:[port]/[DB名]","[ID]","");

でコネクション取得OK.

WebSphere Studioから接続

設定はこんな感じ。

MovableType.png

この記事は

選択肢 投票
おもしろかった 3  
そうでもない 1  
Top / PostgreSQL / TIPS集

現在のアクセス:14532


*1 ${PGDATA}/data/pg_hba.confでセキュリティの設定を変えればよかったんだけど。詳しくはこちら

添付ファイル: fileMovableType.png 1165件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2009-04-07 (火) 18:16:10 (5721d)