PostgreSQLの基本的な使い方
6307 ワード
前言
PostgreSQLは、オープンソースのオブジェクトリレーションシップ型データベース管理システム(ORDBMS)です.この文書は、初心者の参考と閲覧のためにPostgreSQL(以下pgと略称する)の基本的な操作を紹介することを目的としています.なお、以下のすべての操作はUbuntu 16.04で行われ、使用されるpgバージョンは9.6である.オペレーティング・システムとバージョンによっては、後述するリファレンス・ドキュメントの内容を参照してください.
インストール
Ubuntuはデフォルトでpgを統合しており、コマンドラインで直接インストールできます
以下のコマンドはpgのクライアントとサービス側をそれぞれインストールします.
インストールが完了したら、以下のコマンドでpgを起動します.
従って、ここのstartをstopとrestartに変更すれば、サービスの停止と再起動が可能となる
データベースの作成
最初のインストールが完了すると、pgのデフォルトではpostgresというデータベース・ユーザーとpostgresというデータベースが作成され、postgresというLinuxシステム・ユーザーも作成されます.実際、ここで作成したpostgresデータベースのユーザーはスーパー管理者として、私たちが後で作成したすべてのデータベースにアクセスし、新しいデータベースのユーザーの作成やユーザーパスワードの変更などの操作を行うことができます.
データベースを操作するには、通常コンソールにログインする必要があります.
このコマンドはLinuxユーザーpostgresがスーパーユーザーpostgresとしてpostgresというデータベースにログインしていることを示しています.Ubuntuシステムなので、デフォルトではこの時点でパスワードを入力する必要はなく、pgのコンソールに直接アクセスします
通常はログイン後にpostgresユーザーにパスワードを設定します
同じパスワードを2回入力すると修正に成功します
postgersユーザーは高い権限を持っているため、通常は直接この身分でログインするのではなく、現在のシステムユーザーと同じ名前のデータベースユーザーを作成するなど、新しいユーザーを作成します.
新しいユーザーのデータベースを作成できます
次に、作成したユーザーを使用してコンソールにログインし、作成したデータベースに接続して一連の操作を行うことができます.
共通のコンソールコマンド
よく使うSQL文
バックアップとリカバリ
参考資料 PostgreSQL公式文書 チェン一峰のネットログ
PostgreSQLは、オープンソースのオブジェクトリレーションシップ型データベース管理システム(ORDBMS)です.この文書は、初心者の参考と閲覧のためにPostgreSQL(以下pgと略称する)の基本的な操作を紹介することを目的としています.なお、以下のすべての操作はUbuntu 16.04で行われ、使用されるpgバージョンは9.6である.オペレーティング・システムとバージョンによっては、後述するリファレンス・ドキュメントの内容を参照してください.
インストール
Ubuntuはデフォルトでpgを統合しており、コマンドラインで直接インストールできます
以下のコマンドはpgのクライアントとサービス側をそれぞれインストールします.
$ sudo apt-get install postgresql-client
$ sudo apt-get install postgresql
インストールが完了したら、以下のコマンドでpgを起動します.
$ sudo service postgresql start
従って、ここのstartをstopとrestartに変更すれば、サービスの停止と再起動が可能となる
データベースの作成
最初のインストールが完了すると、pgのデフォルトではpostgresというデータベース・ユーザーとpostgresというデータベースが作成され、postgresというLinuxシステム・ユーザーも作成されます.実際、ここで作成したpostgresデータベースのユーザーはスーパー管理者として、私たちが後で作成したすべてのデータベースにアクセスし、新しいデータベースのユーザーの作成やユーザーパスワードの変更などの操作を行うことができます.
データベースを操作するには、通常コンソールにログインする必要があります.
$ sudo -u postgres psql
このコマンドはLinuxユーザーpostgresがスーパーユーザーpostgresとしてpostgresというデータベースにログインしていることを示しています.Ubuntuシステムなので、デフォルトではこの時点でパスワードを入力する必要はなく、pgのコンソールに直接アクセスします
postgres=#
通常はログイン後にpostgresユーザーにパスワードを設定します
postgres=# \password postgres
同じパスワードを2回入力すると修正に成功します
postgersユーザーは高い権限を持っているため、通常は直接この身分でログインするのではなく、現在のシステムユーザーと同じ名前のデータベースユーザーを作成するなど、新しいユーザーを作成します.
postgres=# CREATE USER dbuser WITH PASSWORD 'password';
新しいユーザーのデータベースを作成できます
postgres=# CREATE DATABASE exampledb OWNER dbuser;
次に、作成したユーザーを使用してコンソールにログインし、作成したデータベースに接続して一連の操作を行うことができます.
$ psql -U dbuser -d exampledb
共通のコンソールコマンド
\password
\q
\h SQL , \h select
\? psql
\l
\c [database_name]
\d
\d [table_name]
\x
\du
よく使うSQL文
#
CREATE TABLE table_name(name VARCHAR(20), birth DATE);
#
INSERT INTO table_name(name, birth) VALUES(' ', '1994-08-23');
#
SELECT * FROM table_name;
#
UPDATE table_name set name = ' ' WHERE name = ' ';
#
DELETE FROM table_name WHERE name = ' ' ;
#
ALTER TABLE table_name ADD email VARCHAR(40);
#
ALTER TABLE table_name ALTER COLUMN birth SET NOT NULL;
# ( )
ALTER TABLE table_name ALTER COLUMN email SET DEFAULT '[email protected]';
#
ALTER TABLE table_name ALTER email DROP DEFAULT;
#
ALTER TABLE table_name RENAME COLUMN birth TO birthday;
#
ALTER TABLE table_name DROP COLUMN email;
#
ALTER TABLE table_name RENAME TO backup_table;
#
DROP TABLE IF EXISTS backup_table;
#
\c postgres;
DROP DATABASE IF EXISTS hello;
バックアップとリカバリ
$ pg_dump --format=t -d db_name -U user_name -h 127.0.0.1 -O -W > dump.sql
$ psql -h 127.0.0.1 -U user_name db_name < dump.sql
参考資料