7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PostgreSQLで個人的によく忘れてしまうコマンドメモ

Last updated at Posted at 2018-07-09

以下は備忘録です。MySQLを使うことが多いので、PostgreSQLを久々に使って忘れていたコマンドのメモです。

データのセーブ、ロード

\COPYメタコマンドとCOPYコマンドを使った方法がありますが、違いとしては、以下です。

  • \COPYコマンドはデータベース接続したクライアント側でファイルの入出力がされる
  • COPYコマンドは、PostgreSQLが稼働しているサーバー上のファイルの入出力がされる。

\COPYコマンドを使う場合

  • テーブルからファイルにデータを出力する
    • この場合は、すべての項目をダブルコーテーションでくくって、ヘッダーありのcsv形式で出力してくれる。
\COPY テーブル名 TO '/path/to/file.csv' WITH CSV HEADER FORCE QUOTE *

# 以下のように任意のSQLを記述してもよい。
\COPY (SELECT カラム名1, カラム名2, FROM テーブル名 WHERE ...) TO '/path/to/file.csv'  WITH CSV HEADER FORCE QUOTE *
  • ファイルからテーブルにデータを読み込む
\COPY テーブル名 FROM '/path/to/file.csv' WITH CSV HEADER

COPYコマンドを使う場合

  • テーブルからファイルにデータを出力する
    • この場合は、すべての項目をダブルコーテーションでくくって、ヘッダーありのcsv形式で出力してくれる。
COPY テーブル名 TO '/path/to/file.csv' WITH CSV HEADER FORCE QUOTE *;

# 以下のように任意のSQLを記述してもよい。
COPY (SELECT カラム名1, カラム名2, FROM テーブル名 WHERE ...) TO '/path/to/file.csv'  WITH CSV HEADER FORCE QUOTE *;
  • ファイルからテーブルにデータを読み込む
COPY テーブル名 FROM '/path/to/file.csv' WITH CSV HEADER;

パスワード設定

  • 既存ユーザにパスワード設定
ALTER USER ユーザ名 WITH PASSWORD '設定するパスワード';
  • 新規ユーザ作成時にパスワード設定
CREATE USER ユーザ名 WITH PASSWORD '設定するパスワード';

アクセス権限の設定

  • 権限の付与(GRANT)
GRANT {ALL | SELECT | INSERT | DELETE | UPDATE} ON テーブル名 TO ユーザ名;
  • 権限の剥奪(REVOKE)
REVOKE {ALL | SELECT | DELETE | UPDATE} ON テーブル名 FROM ユーザ名;
  • 権限の確認

\dpメタコマンドで確認。

postgres=# \dp
                                    Access privileges
 Schema |    Name    | Type  |      Access privileges      | Column privileges | Policies
--------+------------+-------+-----------------------------+-------------------+----------
 public | hoge_table | table | test=arwdDxt/test+          |                   |
        |            |       | hogehoge=ar/test            |                   |
(1 row)

起動/停止、設定リロード

  • 設定のリロード
$ /usr/local/bin/pg_ctl reload
  • 停止
$ /usr/local/bin/pg_ctl stop
  • 起動
$ /usr/local/bin/pg_ctl start
  • 再起動 
$ /usr/local/bin/pg_ctl restart
7
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?