PostgreSQLコマンドやSQL文に関する各種メモ書き

postgreSQLを使用するユーザー、データベースを作成する

■ postgreSQL(psql)の操作を行えるユーザーを作成するには、

1. まずunixアカウントでunixユーザー(testuser)を作成する。

2. psqlで(testuser)がDBを操作できるようにする

createuser testuser

パスワード付きでユーザーを作成するには

createuser -P testuser

ユーザーを削除するには

dropuser testuser

■ postgreSQLのデータベースを作成するには

createdb データベース名 -O ユーザー名

とします。

■ 文字コードeucに指定しながらデータベースを作成するには

createdb データベース名 -O ユーザー名 -E EUC_JP
No.523
08/22 20:13

edit

postgreSQLの起動

postgreSQLの起動は

/etc/rc.d/init.d/postgresql start

で起動できます。

起動したことを確認するには

ps aux | grep postgres

で確認できます。

psqlのバージョンの表示は

psql --version

No.521
08/22 20:22

edit


日付データをSELECT時に年・月・日に分解する

SELECT
date_part('year', now()) as 年
date_part('month', now()) as 月
date_part('day', now()) as 日

ただし 01月02日の場合、

月:1

日:2

になる(前にゼロがつかない)ので注意

ゼロをつけたい場合は

SELECT
to_char( now(), 'yyyy') as 年
to_char( now(), 'mm') as 月
to_char( now(), 'dd') as 日

とする

参考:http://winofsql.jp/VA003334/access050909140710.htm

No.437
07/29 13:59

edit

postgreSQLで最後にinsertしたデータのidを取得する。

postgreSQLで

スキーマ名:SC
テーブル名:tb001
プライマリキー(serial型)に指定しているカラム名:id

というテーブル最後に挿入したレコードのプライマリキーの値を知るには

下記のようなSQL文で取得します。

select currval('SC.tb001_id_seq') as currval;

No.408
01/25 19:24

edit

データベースのバックアップとリストア(復元)

データベースのバックアップとリストア(復元)

データベースのバックアップ

pg_dump データベース名 > バックアップファイル名

テーブルのみバックアップ

pg_dump -t テーブル名 データベース名 > バックアップファイル名

データベースの復元

createdb データベース名
psql データベース名 < バックアップファイル名

データベースの削除

dropdb データベース名

No.23
04/08 08:37

edit


SELECTしたデータから改行を削除する

SELECTしたデータから改行を削除する

SELECT replace(column, '\r\n', '') FROM my_table;
No.22
08/08 14:18

edit

postgreSQL各種コマンド

postgreSQL各種コマンド

ビューの定義を見る

SELECT definition FROM pg_views WHERE viewname = 'test_viewtbl'

インデックスの存在を調べる

SELECT count FROM pg_indexes where tablename = 'test_tbl' AND indexname='test_idx'

ユーザー一覧を見る

select * from pg_user;

データベース一覧を見る

select * from pg_database;


No.21
07/29 13:58

edit

psqlコマンド一覧

データベース一覧を表示

psql -l
¥?        psqlコマンドの一覧を表示する
¥l        データベースの一覧を表示する
¥dt        表の一覧を表示する
¥q        psqlを終了する

¥h        SQLコマンドの一覧を表示する
¥h SQLコマンド名 SQLコマンドの使い方を表示する
¥d 表名      表の項目一覧を表示する
¥dT        項目の型の一覧を表示する
¥dS        システム表の一覧を表示する
¥copy table{from|to}ファイル名  表をファイルにコピーする
¥i ファイル名  指定したファイル内のSQLを実行する
¥! OSコマンド  OSのコマンドを実行する
No.9
03/26 14:29

edit

perlモジュール