[PostgreSQL] よく使うコマンドまとめ

[PostgreSQL] よく使うコマンドまとめ

2016.07.29

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

PostgreSQL始めました。

Mysqlの感覚でPostgreSQLを触るとコマンドが違うことが多いので、その都度Google先生に教えてもらいました。 PostgreSQLのコマンドがまとまっているサイトを見つけられなかったので、自分用にメモしていたものを公開します。

注) 僕がPostgreSQLでよく使うコマンドや何度も調べたコマンドのまとめです。PostgreSQL特有のコマンドのまとめではありません。

#から始まるコマンドはpsql内で、$から始まるコマンドはpsql外で実行するコマンドになります。
※<TABLE_NAME>のように記述している箇所は、任意の名前を記入する箇所です。(<>は不要です)

環境

MacOS 10.10.5
PostgreSQL 9.4.5

よく使うコマンド

バージョンを確認する

			
			$ psql —version
		
			
			# select version(); 
		

ヘルプを表示

			
			$ psql --help
		
			
			# \?
		
			
			# \h
		

データベース

データベースに入る

			
			$ psql <DB_NAME>
		

ユーザーを指定してデータベースに入る

			
			$ psql -U <USER_NAME> <DB_NAME>
		

データベースから出る

			
			# \q
		

データベースを起動

			
			$ postgres -D /usr/local/var/postgres
		

データベース一覧表示

			
			$ psql -l
		
			
			# \l
		

データベースの切り替え

			
			# \c <DB_NAME>
		
			
			# \connect <DB_NAME>
		

データベースを削除

			
			# drop database <DATABASE_NAME>;
		

テーブル

テーブル一覧表示(viewやsequenceも含む)

			
			# \d
		

テーブル一覧表示

			
			# \dt
		

テーブルのスキーマの詳細を表示

			
			# \d <TABLE_NAME>
		

テーブルのアクセス権限表示

			
			# \z <TABLE_NAME>
		

viewの一覧を表示

			
			# \dv
		

viewの定義を表示

			
			# select definition from pg_views where viewname = '<VIEW_NAME>';
		

テーブル名変更

			
			# alter table <CURRENT_DB_NAME> rename to <NEW_DB_NAME>;
		

テーブルを削除

			
			# drop table <TABLE_NAME>;
		

ユーザー権限

現在のユーザー(Role)を表示

			
			# select current_user;
		

ユーザー(Role)の一覧を表示

			
			# \du
		

ユーザー情報一覧を表示

			
			# select * from pg_user;
		

ユーザー (Role)に権限を付与

			
			# grant select, insert, update, delete on <TABLE_NAME> to <USER_NAME>;
		

ユーザー (Role)に権限を剥奪

			
			# revoke select, insert, update, delete on <TABLE_NAME> from <USER_NAME>;
		

ユーザーの切り替え

			
			# \connect - <USER_NAME>
		

スーパーユーザーへ変更

			
			# alter role <USER_NAME> with creatural superuser;
		

スーパーユーザー権限剥奪

			
			# alter role <USER_NAME> with creatural nosuperuser;
		

スキーマ

スキーマ作成

			
			# create schema <schema_name>;
		

スキーマを確認

			
			# select current_schema;
		

スキーマ一覧

			
			# \dn
		

スキーマ変更

			
			# set search_path to <schema_name>;
		

最後に

今後も「このコマンド調べるの何回目だよ!」ということがあれば随時追記していこうと思います。

この記事をシェアする

FacebookHatena blogX

関連記事