diadia

趣味のプログラムを書く 

postgresqlメモ

postgresqlを使ってないと忘れてしまうので、見ながら使えるようにまとめておく。

 

<処理概要>

すでに設定されている場合

①ユーザーをチェンジする

②データベースの一覧をみる

③テーブルを閲覧する

 

①この段階はまだlinuxで操作するので

su (ユーザー名)

パスワード入力

psql -l で一覧表示確認

③dbログイン

psql (db名例えばcmtestdb)

(データベースに入るとpsqlというコマンドを打たず\dtとかを使う)

④dbログイン中に

\dまたは\dtでデータベースのスキーマのテーブルを把握することができる

⑤テーブル構造の表示(テーブルにどんなカラムが有るのかやそのデータ型を確認したいとき)

\d (テーブル名);

⑥テーブル内容を表示させる

select * from (テーブル名) ;

データの削除

delete  from (テーブル名) where 条件;

⑧テーブルを作成

CREATE TABLE テーブル名 (列名 データ型 制約 [, 列名 データ型 制約 …] );

権限の確認

¥du

 

権限付与

ALTER ROLE ユーザー名 WITH SUPERUSER;

 

csvの内容をコピー

csvファイルがデータベースサーバー上に設置できた場合

copy テーブル名(column_names,...) from 'path/***.csv' with csv 

 

csvファイルがデータベースサーバー上にない場合

\copy テーブル名 (column_names,...) from 'hoge.csv' with csv ;

 

 

 

postgresql よりログアウトする

¥q

 

 

postgresqlをインストールして使えるようにするまでの流れ 処理の背景と結論>

背景

PostgreSQLをインストールした直後の初期設定ではPostgreSQLを実行しているサーバー以外のクライアントからデータベースにアクセスすることはできないようになっています。

外部からのTCP接続を許可するとともに、PostgreSQLへのログインを許可する設定を行ってやる必要があります。設定は以下の2つです。

postgresql.confの編集

pg_hda.confファイルの編集

 

PostgreSQLの設定は、設定ファイルを編集することで行います。

設定ファイルは複数ありますが、まず、postgresql.confファイルです。
このファイルでは最大接続数やログの保存方式などPostgreSQLに関する基本的な設定を行います。

pg_hda.confファイルはクライアントからのアクセス制御を設定するためのファイルです。デフォルト設定ではPostgreSQLが動作しているマシン上からしかログインを許可しない設定となっているため、外部マシンからのログインを許可するように変更します。