PostgreSQL
Mac にインストールした PHP で PostgreSQL が使えなかったので再インストールした
1Mac に PostgreSQL をインストール して、さあ PHP から PostgreSQL を使おうとしたら、PHP で PostgreSQL が使えなかった。pg_connect 関数が未定義と怒られた。
改めて PHP を入れた時のエントリを見直してみると
$ sudo port install php5 +apache2 +mysql5 +pear
確かに入れていない。
(続きを読む…)
Mac に PostgreSQL をインストール
1Mac に MacPorts で PostgreSQL をインストールしてみました。
まず PostgreSQL があるか調べてみる。PostgreSQL8.3 が最新のようです。
$ port search postgresql postgresql7 databases/postgresql7 7.4.21 The most advanced open-source database available anywhere postgresql80 databases/postgresql80 8.0.17 The most advanced open-source database available anywhere postgresql80-doc databases/postgresql80-doc 8.0.17 Documentation for the postgresql database postgresql80-server databases/postgresql80-server 8.0.17 run postgresql80 as server postgresql81 databases/postgresql81 8.1.13 The most advanced open-source database available anywhere postgresql81-doc databases/postgresql81-doc 8.1.13 Documentation for the postgresql database postgresql81-server databases/postgresql81-server 8.1.13 run postgresql81 as server postgresql82 databases/postgresql82 8.2.9 The most advanced open-source database available anywhere postgresql82-doc databases/postgresql82-doc 8.2.9 Documentation for the postgresql database postgresql82-server databases/postgresql82-server 8.2.9 run postgresql82 as server postgresql83 databases/postgresql83 8.3.3 The most advanced open-source database available anywhere. postgresql83-doc databases/postgresql83-doc 8.3.3 Documentation for the postgresql database postgresql83-server databases/postgresql83-server 8.3.3 run postgresql83 as server postgresql_autodoc databases/postgresql_autodoc 1.25 Automatic documentation generator for postgresql databases caml-postgresql devel/caml-postgresql 1.8.2 OCaml-interface to the PostgreSQL-database postgresql-jdbc java/postgresql-jdbc 8.0-311 PostgreSQL JDBC driver py-postgresql-exception python/py-postgresql-exception 0.2 exceptions for the py-postgresql modules py-postgresql-greentrunk python/py-postgresql-greentrunk 0.1 greentrunk interface to postgresql py-postgresql-layout python/py-postgresql-layout 0.3 layout for the py-postgresql modules py-postgresql-pqueue python/py-postgresql-pqueue 0.1 pure python implementation of the pq protocol py-postgresql-proboscis python/py-postgresql-proboscis 0.1 postgresql database connector in pure python
PostgreSQL のバックアップとリストア
1PostgreSQL のバックアップとリストア方法のメモ
postgres ユーザになる
$ su - postgres
パスワードを設定していれば聞かれるので入力する。(当然ですが)
データのバックアップ
$ pg_dump DATABASE_NAME > BACKUP_FILENAME
データのリストア
$ psql -e DATABASE_NAME < BACKUP_FILENAME
データベースの作成
$ createdb DATABASE_NAME
データベースの削除
$ dropdb DATABASE_NAME
phpPgAdmin でログインできない
0普段は MySQL ばかり使用しているのですが、PostgreSQL を使用する必要があり、phpPgAdmin を使うことにした。
開発用のサーバには phpPgAdmin がインストールされているが、ブラウザで閲覧できるようにはまだしていなかった。
Open Tech Press | phpPgAdmin:Web開発者向けのPostgresクライアントツール を参考に /usr/share/phpPgAdmin にインストールされている phpPgAdmin をブラウザでアクセス可能にした。
/etc/http/conf/httpd.conf に下記を追加
Alias /phppgadmin /usr/share/phppgadmin/ <DirectoryMatch /usr/share/phppgadmin/> Options +FollowSymLinks AllowOverride None order deny,allow deny from all allow from localhost </DirectoryMatch>
これでブラウザから http://example.com/phpPgAdmin/ でアクセスできるようになった。
しかし、PostgreSQL のユーザでログインしようとするとエラーになる。
これは シン石丸の電脳芸事ニッキ: debian 3.1へのphppgadminのインストール後の設定 を参考にして解決。
/etc/postgresql/pg_hba.conf に下記を追加
host all all 127.0.0.1 255.255.255.255 trust
これで無事 phpPgAdmin にログインできました。