postgres-old の変更点   

  • 追加された行はこの色です。
  • 削除された行はこの色です。
  • postgres-old へ行く。

* 移植前準備 [#q71a103c]
 旧バージョン postgres が立ち上がっている状態で
 pg_dump 【dbname】 > dbname.dump

* install [#nb7e7697]
 yum install postgresql postgresql-server postgresql-devel

** 自動起動設定 [#id80f275]
 chkconfig --level 345 postgresql on

//*** ver7 自動起動設定 (ver8 では不要)[#ac4e21a7]
// emacs /etc/rc.d/init.d/postgres
// # TCP アクセス用オプション -i を追加
// su -l postgres -s /bin/sh -c "/usr/bin/pg_ctl  -D $PGDATA -p /usr/bin/postmaste//r -o '-i -p ${PGPORT}' start  > /dev/null 2>&1" < /dev/null

** 初期設定 [#mb897a6a]
 いったんデータベースの初期化のために起動してすぐとめる
 /etc/rc.d/init.d/postgres start
 /etc/rc.d/init.d/postgres stop

8では
 /etc/rc.d/init.d/postgresql initdb


*** ver7用 TCPアクセス用コンフィグ [#v4661d40]
 emacs /var/lib/pgsql/data/pg_hba.conf
 host  all 127.0.0.1 255.255.255.255 trust

*** ver8用 TCPアクセス用コンフィグ [#n3b5532b]
 emacs /var/lib/pgsql/data/pg_hba.conf
 host  all 127.0.0.1/32 trust

''/var/lib/pgsql/data/postgresql.conf''
 listen_addresses = '*'
 port = 5432

再起動 
 /etc/rc.d/init.d/postgresql start

 su postgres

 ユーザ作成(不要の場合あり)
 createdb postgres 

psql コマンドを使いたいユーザ分の回数実行~
 $ psql
 postgres=# create user 【username】 createdb;
 
*** 自分ユーザ [#wbc28894]
 createdb -E EUC-JP【dbname】
 psql -d 【dbname】-f dbname.dump
 
 新旧両方を別サーバや別ポートで立ち上げてパイプで繋ぐのもアリらしい

*** php モジュール [#k12c3527]
 # apt-get install php-pgsql

*** perl モジュール [#p6831ff8]
 yum install perl-DBI-Pg

*** pgcommand [#ab882926]
> pg_dump -Fc -b データベース名 > db_archive.dump
これで、db_archive.dump にデータが出力されます。このファイルはバイナリですが、圧縮されているので、大きなデータベースをバックアップするときには効率的です。また、このデータから復元させるには、次のように行います。 

> createdb -T template0 データベース名
> pg_restore -d データベース名 db_archive.dump
これで、データベースが復元されます。-T template0 は必ず指定してください(理由を知りたい場合は、マニュアルを参照してください)。また pg_dumpall は、全てのデータベースのバックアップを行います。したがって、データベース名を指定する必要はありません。これらのコマンドは、データベースのバージョンアップを行うときにも使用できます。PostgreSQL の場合、バージョンアップを行うと、データベースファイルの互換性がなくなる場合があります。その場合は、これらのコマンドを使ってデータを移行する必要があります。 

場合によっては、テーブル単位でバックアップとを取り、テーブル単位でデータを復元したい場合もあるかと思います。テストしてるときとかは、重宝します。それには次のようにします。 

バックアップ
> pg_dump -t テーブル データベース名 > dump.out
復元
> psql データベース名 < dump.out


* windows 版 [#r0698710]
export PGHOST=localhost

*** pg_hba [#t9a0d1f9]
windows
 /cygdrive/c/Program Files/PostgreSQL/9.4/data