PostgreSQL関連のリポジトリがある!
/etc/yum.repos.d/CentOS-Base.repoの[base]と[updates]セクション exclude=postgresql* ← 最終行に追加
phpPgAdminをリポジトリからインストールすると管理が…
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 を見てください。とか怒られて、アップグレード処理が必要となる。
# su - postgres $ oid2name
$ du -h /var/lib/pgsql/data/base
SQL> SELECT oid, datname from pg_database;
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;