新規ユーザーおよびデータベースの登録
PostgreSQLインストール直後は、スーパーユーザーである「postgres」のみが登録されています。psql
コマンドでは、ログインしているLinuxユーザーと同じ名前のユーザー名でPostgreSQLデータベースに接続しようと試みます。
今までの説明では、PostgreSQLのスーパーユーザーであるpostgresにsu
コマンドでログインし、psql
コマンドを実行していました。スーパーユーザーであるpostgresはLinuxのrootと同様で日常的に使用しないようすることをお勧めいたします。
ここでは、通常ログインするlinuxユーザーと同名のユーザーを新規に登録してみます。また、登録したユーザーにdatabase作成権限をつけ、データベースを新規に作成してみます。
1.新規ユーザーを登録する
- ターミナルより、
su - postgres
コマンドを実行してpostgresユーザーにアクセスします psql
コマンドを実行します
[root@albatross ~]# su - postgres -bash-3.1$ psql Welcome to psql 8.1.9, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit postgres=#
私の場合、通常ログインするLinuxユーザーは「e-fuse」ですので、「e-fuse」をPostgresSQLのユーザーとして登録してみます。
postgres=# CREATE USER "e-fuse" CREATEDB PASSWORD 'e-fuse' LOGIN; CREATE ROLE postgres=#
ユーザー「e-fuse」が登録されました。上記実行コマンドの意味は、「e-fuse」のユーザーを作成し、databaseの作成権限をつけ、passwordを「e-fuse」にするというものです。
drop user
コマンドで行うことができます。e-fuseを削除する場合は、drop user "e-fuse";
2.新規データベースを作成する
前項で作成した「e-fuse」をオーナーとしたデータベース「fusekako」を作成してみましょう。Linuxユーザー「e-fuse」でログインしたあと、コマンドラインからcreatedb
を実行します。
[e-fuse@albatross ~]$ createdb fusekako CREATE DATABASE [e-fuse@albatross ~]$
これで、「e-fuse」をオーナーとした「fusekako」データベースが作成されました。
dropdb
コマンドで行うことができます。fusekakoを削除する場合は、e-fuseでLinuxにログインし、コマンドラインから、dropdb fusekako
3.作成したデータベースに接続する
Linuxユーザー「e-fuse」で「fusekako」データベースに接続して動作を確認してみましょう。「e-fuse」でログイン後、psql
コマンドを実行します(psql fusekako)。
[e-fuse@albatross ~]$ psql fusekako Welcome to psql 8.1.9, the PostgreSQL interactive terminal. Type: \copyright for distribution terms \h for help with SQL commands \? for help with psql commands \g or terminate with semicolon to execute query \q to quit fusekako=>
「fusekako」データベースに接続されたことが確認できます。
まとめ
Windows版のセットアップと違い、Linux版では、ターミナルでの作業が中心でしたので、勝手が違うと思われた読者は多いのではないでしょうか。次回は、前稿のWindows版でセットアップ済みのPgAdminを使って、今回インストールしたデータベースの操作を行えるようにします。お楽しみに。