PostgreSQL操作コマンド一覧
この記事のまとめ:
- Ubuntu上でPostgreSQLサーバーを操作する際に多用するコマンドをまとめています。
はじめに:本記事での表記について
コマンドについて説明する機会が多々ありますが、それぞれどのターミナル上で実行しているかを区別するために文頭の記号ごとにそれぞれ下記を意味しています。
データベースへの接続
リモート接続コマンド
下記のコマンドでデータベースにリモートが接続できます。
データベース一覧表示
下記のコマンドでデータベースの一覧を表示できます。
もしくは、
データベースから出る
下記のコマンドでログイン中のデータベースからログオフできます。
ユーザー (ロール)操作
ユーザーの追加
スーパーユーザー権限のあるユーザーで接続したのちに下記のコマンドで新しい新規ユーザーを作成できます。
ユーザーのパスワード変更
スーパーユーザー権限のあるユーザーでログインをして、下記のコマンドでパスワードの設定ができます。
ユーザーの一覧を表示
下記のコマンドで現在ログインしているデータベースのユーザーの一覧を表示できます。
データベース操作
データベースの新規作成
データベースの作成には、スーパーユーザー権限を持ったユーザーでデータベースに接続している必要があります。権限のあるユーザーで接続したのちに下記のコマンドで新しいデータベースを作成できます。
データベースのオーナー変更
下記のコマンドでデータベースのオーナーを変更ができます。
データベース名の変更
下記のコマンドで作成したデータベース名を変更ができます。
テーブル操作
テーブルの新規作成
下記のコマンドで現在接続しているデータベースに新しいテーブルを作成することができます。
接続しているデータベースとは異なるデータベースにテーブルを新規作成することもできます。 その際は下記のようにテーブル名の前にデータベース名を記載します。
参考
- データ型 (https://www.postgresql.jp/document/9.6/html/dataTYPE.html)
- 日付/時刻型データ型 (https://www.postgresql.jp/document/9.4/html/dataTYPE-datetime.html)
テーブルにカラム (列)の追加
すでに作成してあるテーブルに新たにカラムを追加する場合には、下記のコマンドを使います。
カラム名の変更
すでに作成してあるカラムのカラム名を変更する場合には、下記のコマンドを使います。
カラムのデータ型の変更
すでに作成してあるカラムのデータ型を変更する場合には、下記のコマンドを使います。
テーブルレコードの全削除
下記のコマンドテーブルの全レコードを削除できます。
その他テーブル操作
テーブル一覧表示(viewやsequenceも含む)
テーブル一覧表示
テーブルのスキーマの詳細を表示
テーブルのアクセス権限表示
データベースのコピー
データベースの情報すべてをコピー
DBのファイルからユーザー情報まですべてをコピー コピー元からダンプします。
コピー先にダンプしたファイルをコピーし、リストアします。
特定のテーブルを別のサーバーもしくは別のデータベースにコピー
実行方法は2つあります。特に結果に違いはありませんが、やりやすい方でやってみてください。 なお、どちらもあらかじめコピー先のデータベースにはコピー元と全く同じカラムのテーブルを作成しておく必要があります。
1. テーブルのレコード情報を一旦ローカルに退避する方法
cat
コマンドを使用するのでLinux (Unix)系が対象ですが、Windowsでも同様のコマンドを使用すれば問題ないかもしれません。
2. 退避しない方法
標準入出力から直接コピー元からコピー先にレコード情報をコピーしますので、まずそれぞれのデータベースにログインする際にパスワードを聞かれないようにします。
Windowsの場合には、%APPDATA%\postgresql\pgpass.conf
ファイルに、Linuxの場合には、~/.pgpass
ファイルに次の形式でコピー元とコピー先のデータベースのログイン情報を記載します。
記載が終わったら、念のためどちらのデータベースにもパスワード入力なしにログインできるか確認してください。
下記のコマンドにより、テーブルのコピーがd系ます。
参考
マニュアル
日本語で最も詳しく書いてあるマニュアルはこちら。 https://www.postgresql.jp/document/9.6/html/index.html コマンド一覧はこちら。文法がある程度わかってきたらこれで探した方が早いです。 https://www.postgresql.jp/document/9.6/html/reference.html
今回は以上です。 最後まで読んでいただき、ありがとうございます。
コメント
コメントを投稿