PostgreSQL導入から接続まで:使えば分かるPostgreSQL運用&チューニング(1)(3/3 ページ)
本連載では、さまざまな分野で幅広く利用されているオープンソースのデータベースソフトウェアPostgreSQLについて解説していきます。第1回目の本稿では、前提環境を構築するためにPostgreSQLをLinuxにインストールします。今後は、特に運用面やチューニングに重点をおいて話を進めていく予定です。PostgreSQLの概要については、「PostgreSQLで作るLinuxデータベース」を参照ください。
データベースに接続する
PostgreSQLには、専用のターミナルとしてpsqlが付属しています。psqlを利用すると手軽にデータベースへ接続し、SQLを実行することができます。
psqlでデータベースに接続する最も単純なコマンドは次のとおりです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
PostgreSQLは独自のユーザー管理機構を持っています。そのため、OSのユーザーとPostgreSQLのユーザー間に直接的な関連はありません。
ただし、一般的なPostgreSQLのコマンドは、データベースに接続するユーザーの指定を省略した場合、そのコマンドを実行したOSのユーザーの名前を使用して接続する仕組みになっています。上記のコマンドの場合もユーザー名を省略すると、postgresユーザーでデータベースに接続します。
ユーザーの作成
いまのところ、PostgreSQLのユーザーはスーパーユーザーのpostgresしか存在していないので、一般ユーザーを作成します。
例えば、user1という名前の一般ユーザーを作成するには、postgresユーザーでcreateuserコマンドを実行します。このとき、PostgreSQLは起動している必要があります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
createuserコマンド実行時の質問は、それぞれ以下のことを確認しています。
- 新しいロールをスーパーユーザーとするか
- 新しいロールに対してデータベース作成を許可するか
- 新しいロールに対してロール作成を許可するか
ここでの「ロール」とは、ユーザーとグループの両方を含む概念です。本連載では、ロールについては複雑な使い方をしませんので、ユーザーと同じと思っていただいて構いません。
psqlでデータベースに接続
PostgreSQLでは、initdbコマンドでデータベースクラスタを初期化した時点で、template0、template1、postgresという3つのデータベースが自動的に作成されます。
template0とtemplate1データベースはユーザーがデータベースを作る際にひな型として使用されるデータベースです。
また、postgresデータベースはPostgreSQL 8.1以降に用意されているデータベースで、主にPostgreSQLのコマンドによって使用されます。どれも必要なデータベースなので削除してはいけません。なお、template1とpostgresデータベースには接続することができます。
例えば、user1ユーザーでpostgresデータベースに接続する場合、psqlコマンドで次のように接続します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
一般ユーザーでデータベースに接続した場合、プロンプトは 「=>」になり、スーパーユーザーの場合は「=#」になります。
終了するには、\qコマンドを実行します。
psqlのコマンドはこのようにすべて「\」で始まります。psqlのコマンド一覧は\?コマンドで見ることができます。
以上が、インストールからデータベースへ接続するまでの流れです。本連載ではここで導入したPostgreSQLをもとに、調査からチューニングまでのひととおりの流れを紹介していきます。
次回は、PostgreSQLの運用やチューニングについて解説するうえで用いるベンチマークソフトウェアについて見ていきます。
Copyright © ITmedia, Inc. All Rights Reserved.