主に IT 技術を整理するためにメモ的に書き溜めています。少しだけフリーソフトもあるよ。コメントを残すには、 facebook を使ってください。

PostgreSQL command 一覧

データベース一覧を見る

dbname=# SELECT * FROM pg_database;

*in MySQL

show databases;

テーブル一覧を見る

dbname=# \d

*in MySQL

show tables;

データベースを変更する

dbname=# \c {db_name}

*in MySQL

use {db_name};

PostgreSQL でシーケンスキーを操作する

新たにレコード INSERT 時に、シーケンスキーの次の値を特定の項目にセットする場合は以下のように行う。

INSERT INTO TBL_NAME VALUES (nextval ('seq_name'), 1, 2);

また、その結果インクリメントされたシーケンスキーの値を参照するには

SELECT currval ('seq_name');

さらに、シーケンスキーの値を設定しなおしたい場合は、

SELECT setval ('seq_name', 10);SELECT setval ('seq_name', 10, false);

となり、前者は nextval の結果が 11 となり、後者は 10 となる。

CentOS に PostgreSQL をインストールする

Yum のレポジトリに centosplus を追加すれば、以下のコマンドでインストールできます。
# yum install postgresql-server
レポジトリへの追加方法は、 CentOS に PHP5 をインストールする を参考。
もっと読む

PostgreSQL で日付計算

PostgreSQL で日付の足し算や引き算をするには 1 weeks とか -2 years とか書けて便利。
SELECT current_date() + '1 weeks' FROM table;
みたいな感じです。

PostgreSQL のシーケンス処理

serial 型のフィールドで、開始シーケンス番号をセットするには setval を使う。
SELECT setval ('seq_num', 100);
次のシーケンス番号をつけて挿入するには nextval 。
INSERT INTO table VALUES (nextval ('seq_num'), 'value');
その結果のシーケンス番号を取得するには、セッションを切らない内に currval 。
SELECT currval ('seq_num');

PostgreSQL の Isolation Level

DBMS には隔離レベルと言うのがあって、 PostgreSQL の場合少し特殊みたいです。
デフォルトでは Read Committed なんだけど、 Transaction 中の Update 後に、他の Transaction による SELECT は Commit を待たずに実行できるようだ。


もっと読む

PostgreSQL で dump restore

PostgreSQL で dump や restore を行うには、 pg_dump を使う。
$ pg_dump -u dbname $gt; dbname.out
$ createdb dbname
$ psql -e -f dbname.out dbname

PostgreSQL でデータベース一覧を見る

pgsql でログインして以下のクエリを発行する。
dbname=# SELECT * FROM pg_database;

PostgreSQL でテーブル一覧を見る

pgsql でログインして以下のコマンドを打つ。
dbname=# \d
ページ: 1 |
フリーソフトウエア
EnjoiFLV
EnjoiPacket
EnjoiCrypto
ランキング
rank2, rank3, rank7, rank10, rank11
todo メモ
facebook 対応
ページ処理
RSS feed
検索機能
認証いる?
更新日表示
実はカテゴリ機能
多言語
実はユーザ機能
ソースその内公開
動作環境メモ
php-5.1.6 with PDO
SQLite-3.3
IE6
FireFox-1.5
RSS
非認証

検索
Google