PostgreSQL(2)-役割と認証-

前回、PostgreSQLのインストールを実施しました。

では、早速、データベースに接続してみようと思います。

sudo psql

と接続を試みたところ、

psql: FATAL: password authentication failed for user "root"

と表示されました。

権限が無い様なので、ユーザーを変更します。

su – postgres

postgresユーザーに変更されました。

それでは、もう一度、

sudo psql

psql (9.3.11)

と接続できたようです。

下記コマンドを実行すると、

\du

役割一覧が表示されます。

現在は、postgresのみ割り当てられているので、新規に追加してみます。

CREATE ROLE samplesql LOGIN CREATEDB PASSWORD '******';

もう一度、役割一覧を見てみると、samplesqlが追加されています。

posgresと違い、samplesqlはCreate DBの役割属性のみ割り当てられています。

データベースを作成してみます。

CREATE DATABASE samplesql OWNER samplesql;

CREATE DATABASE

下記コマンドでデータベースを一覧を表示します。

\l

新規にデータベースが作成された事が確認できます。

作成したDBに接続してみます。

psql --username=samplesql --password --dbname=******

psql: FATAL: Peer authentication failed for user "samplesql"

Peer認証である為、接続できません。

下記のファイルを編集して認証の設定を変更します。

/etc/postgresql/9.3/main/pg_hba.conf

参考書籍

SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)