PostgreSQL:phpでデータベースの接続と切断「PostgreSQL」

PostgreSQLデータベースphp接続する方法と切断する方法をメモします。

いつも忘れてしまうので。

phpでPostgreSQLに接続する場合、pg_connect()を使用すればデータベースに接続することができます。
また、PostgreSQLを切断する場合は、pg_close()を使用します。

下記にPostgreSQLphp接続切断をした時の方法を記述します。


phpでPostgreSQLへの接続と切断をする方法

・PostgreSQLに接続「pg_connect()」

ホスト名、データベース名、ユーザー名、パスワードを記述します。

$conn = pg_connect('host=localhost dbname=dbname user=username password=password');

・PostgreSQLを切断「pg_close()」

接続情報を引数に渡します。

$close = pg_close($conn);

接続・切断に失敗した場合は戻り値でFALSEが返ります。


PostgreSQL:pg_dumpでデータベースをバックアップ

PostgreSQLデータベースバックアップする時に「pg_dump」を使用すればデータをバックアップすることができます。

データのバックアップやサーバ移行などをする時に便利だと思います。

下記にPostgreSQLデータベースpg_dumpを使用してバックアップした時の方法をメモします。


pg_dumpを使用したデータベースのバックアップ

SSHでサーバにログインし、postgresユーザに変更します。

# su - postgres

「dbname」というデータベースをバックアップする場合、下記のように記述します。
「dbname.sql」にデータベースの情報を出力します。
オプションで「-d」を指定し、INSERT文で出力するように設定しています。

pg_dump -d dbname > dbname.sql

出力したファイルの場所は設定によって違いますが、設定ファイルで指定している場所に出力されます。

/var/lib/pgsql/dbname.sql

他にもテーブルの指定やデータのみ出力するなど、色々オプションがあります。
全データベースのバックアップをする場合は、「pg_dumpall」を使用すると全てのデータベースをバックアップすることが可能です。

pg_dumpall > dball.sql

PostgreSQL:vacuumdbでデータベース不要領域の掃除

サーバに接続し、コマンドからvacuumdbを実行し、不要領域の掃除を行う。
※cronで定期的にvacuumdbを実行できるようにすることも有。

■ vacuumdb
PostgreSQL データベースの不要領域の掃除を行う。

■ 書式

vacuumdb [オプション] [データベース名]

■ 使用例
1.hogeというデータベースをバキュームする。

$ vacuumdb hoge

2.バキュームが正常に完了した場合、下記の様に出力される。

VACUUM