インストール

Ubuntu

  1. https://wiki.postgresql.org/wiki/Apt を見てインストール.
  2. デフォルトユーザーであるpostgresのパスワードを変更
  3. $ sudo passwd postgres
  4. postgresユーザーでテーブル作成など
  5. $ su postgres
  6. Ubuntuのログインユーザーでロールを作る
  7. postgres=# create role username with createdb login password password;

Windows

  1. インストーラを使用する.Locale設定を「C」にする

Ubuntuのログインユーザにテーブルaccess_logにアクセスできる権限をつける.

  1. postgres=# \c postgres
データベース "postgres" にユーザ"postgres"として接続しました。
  1. postgres=# GRANT SELECT ON access_log TO username;
GRANT

気象庁からデータをダウンロードして,テーブル作成するまで

  • psql.exeにパスを通す
>set PATH=C:\Program Files\PostgreSQL\9.6\bin;%PATH%
C:\Program Files\PostgreSQL\9.6のpg_env.batを実行してもよい.そうすると環境変数を汚さない.ただし,このファイルのPATHが"Program Files\PostgreSQL..."と引用符で囲ってあるのが原因で実行してもパスが通らなかった.引用符を取るとOK.理由はわからない.
  • データベースに接続する
>psql -U postgres postgres
ユーザ postgres のパスワード:
psql (9.6.3)
"help" でヘルプを表示します.
  • テーブルを作成する(コマンドファイル読み込み)
postgres=# \i command.sql;
CREATE TABLE
ファイルの内容
CREATE TABLE temp (
  month date unique primary key, -- 年月日
  max numeric(3,1),              -- 最高気温(℃)
  max_q integer,                 -- 品質情報
  max_v integer,                 -- 均質番号
  min numeric(3,1),              -- 最低気温(℃)
  min_q integer,                 -- 品質情報
  min_v integer,                 -- 均質番号
  snow integer,                  -- 降雪量合計(cm)
  snow_e integer,                -- 現象なし情報
  snow_q integer,                -- 品質情報
  snow_v integer                 -- 均質番号
);
  • csvファイルを読み込む.実際はフルパス
  • (windows)コマンドプロンプトからUTF8のファイルを読むときは,"with encoding 'UTF8' csv"とする.
  • (Windows)ファイル格納フォルダにEveryOneの読み書き権限がないと,Postgresユーザーの読み取り権限不足するため失敗する.
postgres=# copy temp (month,max,max_q,max_v,min,min_q,min_v,snow,snow_e,snow_q,snow_v) from 'data2007-2016.csv' with csv;

select文の実行順

  1. join処理
  2. where節による絞り込み
  3. group by節によるグループ化
  4. select節による計算と集約
  5. having節による絞り込み
  6. ウィンドウ関数の計算
  7. order by節によるソート
  8. limit節による絞り込み

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

管理人/副管理人のみ編集できます