目次

PostreSQL関連

リポジトリ

PostgreSQL関連のリポジトリがある!

リポジトリHP

  1. 該当OSで該当PostgreSQLバージョンのリポジトリパッケージをダウンロード
  2. /etc/yum.repos.dにリポジトリデータがインストールされる

phpPgAdminをリポジトリからインストールすると管理が…

SLでPostgreSQL91をインスト

Scientifix Linuxで標準リポジトリからPostgreSQL Serverをインストールした状態から
Postgresql.orgが提供している最新版PostgreSQL Serverをインストールする方法

wget http://yum.postgresql.org/9.1/redhat/rhel-6-x86_64/pgdg-sl91-9.1-6.noarch.rpm
rpm -ihv pgdg-sl91-9.1-6.noarch.rpm
vi /etc/yum.repos.d/sl.repo
[sl]セクションの最後に下記追記
exclude=postgresql*
 
 
service postgresql stop
rpm -e postgresql postgresql-devel postgresql-server postgresql-contrib \
 postgresql-libs php-pgsql
全て削除される、dataディレクトリは残ったまま
yum install postgresql91 postgresql91-devel postgresql91-server \
 postgresql91-contrib postgresql91-libs
yum install php-pgsql
service postgresql-9.1 initdb
service postgresql-9.1 start
chkconfig postgresql-9.1 on

この状態だと、Postgresql9.1のデータベースディレクトリは
/var/lib/pgsql/9.1/dataとなるので、既存情報は引き継がない

元々の8.4.xがインストールされていたdataディレクトリを指定すると

古いバージョンのデータベースフォーマットが見付かりました。
PostgreSQL を使う前にデータのフォーマットをアップグレードする必要があります。
より詳細な情報は (Your System's documentation directory)/postgresql-9.1.3/README.rpm-dist を見てください。
とか怒られて、アップグレード処理が必要となる。

DBの利用容量を確認する

# su - postgres
$ oid2name

$ du -h /var/lib/pgsql/data/base

8.4系だとテーブル作成するだけで、5.4MByte(5520Byte)利用中とかなります。

これをchk_pgdisk.shとファイルに保存して
du /var/lib/pgsql/data/base | \
grep \/`oid2name -q | grep " $1 " | awk '{print $1}'`$ | \
awk '{print $1}'
 
sh chk_pgdisk.sh <DB名>
とかするとパスワードを聞かれた後、使用量がバイト表記で表示されます。

権限

ロールの権限

権限を与える

ロール「joe」にaccountsテーブルに対してUPDATE権限を与える
GRANT UPDATE ON accounts TO joe;

権限を取り上げる

REVOKE INSERT ON accounts FROM joe;