UbuntuへのPostgreSQLのインストール・設定
前回はMySQLをUbuntuにインストールしましたが、
今回はPostgreSQLをインストールしてみます。
PostgreSQLのインストール・接続
Ubuntuでは以下のコマンドを実行すると、PostgreSQLをインストールできます。
インストールできるバージョンはPostgreSQL9.3です。
sudo apt-get update
sudo apt-get install postgresql
インストール後は、以下のコマンドでデータベースに接続します。
以下の例では、ユーザー"postgres"として、データベース"postgres"に接続します。
sudo su postgres psql -d postgres -U postgres
ユーザーの作成
以下のSQLでユーザーを作成します。
ユーザー"app_user"を作成し、パスワードを"myPassword"に設定します。
CREATE USER app_user WITH PASSWORD 'myPassword';
作ったユーザーのパスワードを変更する場合はALTERを使います。
ALTER USER app_user WITH PASSWORD 'myNewPassword';
データベース・テーブルの作成
最初に、データベース"test"をつくってみます。
CREATE DATABASE test;
コマンドはとてもシンプルですね。
つくったデータベース"test"に以下のコマンドで接続してみます。
\c test
データベースにテーブルを作成します。
今回は、2カラムで構成されている、シンプルなテーブルを作成します。
カラム名はid、nameです。
CREATE TABLE test_table(id serial, name varchar(30));
接続しているデータベースのテーブル一覧を表示して確認してみましょう。
\z
データベース"test"の初期化
新規に作成したデータベースの権限を明示的に初期化します。
REVOKE ALL ON DATABASE test FROM PUBLIC; REVOKE ALL ON SCHEMA public FROM PUBLIC;
これで、スーパーユーザーpostgres以外のユーザーがデータベース"test"に接続
できなくなります。
権限の追加
データベースの権限を初期化したあと、他のユーザーに接続権限を与えていきます。
GRANT CONNECT ON DATABASE test TO app_user;
接続権限を与えた前後で、以下のコマンドを実行すると、権限変更の差分が見て取れます。
以下はデータベースユーザの一覧を表示するコマンドです。
\du
接続権限に加えて、SELECT、UPDATE、INSERT、DELETEの権限も与えてみます。
GRANT SELECT, UPDATE, INSERT, DELETE ON ALL TABLES IN SCHEMA public TO app_user; GRANT USAGE ON SCHEMA public TO app_user; GRANT SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO app_user;
とりあえず、今日はここまで。