PostgreSQL で LIKE を使わずに複数の値の部分一致検索を行う

PostgreSQL で複数の LIKE 条件を使う SQL で部分一致検索を行う場合には通常 LIKE を使いますが、1つの列に対して複数の値を LIKE で検索しようとすると OR や AND を使って次のように書きます。 以下は name 列に対して '%...

Oracle 10g でウィンドウ関数を使ってランク付けする [ RANK() 関数 ]

ウィンドウ関数 RANK() で順位付け Oracle データベースはウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使ってランク付けする 方法を試してみます。 ウィンドウ関数を使わなくてもサブクエリー等...

Oracle 10g でウィンドウ関数を使って区間毎に集計する [ PARTITION BY ]

ウィンドウ関数 PARTITION BY で区間毎の集計 Oracle データベースはウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使って特定のデータを SELECT 内で集計する方法を試してみます。 同...

Oracle 10g でウィンドウ関数を使って区間毎に集計する [ LAG() 関数と LEAD() 関数 ]

ウィンドウ関数 LAG() と LEAD() で前後の集計値を取得 Oracle データベースはウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使って、サブクエリー等を 使わずに1つ前の行の値を取得してみます。...

Oracle 10g でウィンドウ関数を使って連番を振る [ROW_NUMBER() 関数]

ウィンドウ関数 ROW_NUMBER() 関数で連番を振る Oracle はウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使って、任意の並び順のレコードに行番号を振ってみます。 複雑なクエリーを組めば出来...

Oracle SQL*Plus で高速で CSV ファイル出力

SQL*Plus で CSV ファイルを作成する ここでは Oracle SQL*Plus 上で CSV ファイルを作成してみます。そもそも SQL*Plus に CSV 出力機能が備わっていればいいのですが、その機能がないので SQL*Plus コマンドの設定で CS...

Tomcat で「サーバーは短い一時 Diffie-Hellman 公開鍵を使用しています」というエラーが出てアクセスできない問題

Tomcat サーバーにウェブアクセスできない 古い Tomcat でサーバーを運用していたのですが、"サーバーは短い一時 Diffie-Hellman 公開鍵を使用しています" あるいは "ERR_SSL_WEAK_SERVER_EPHE...

curl コマンドで取得した XML 結果を綺麗に整形する

API の呼び出し結果フォーマットはそれぞれ異なる curl コマンドで様々なウェブ API を呼び出しますが、結果が XML で返ってくる場合 XML データが改行無しで表示されたりインデントが崩れていたりするため、綺麗に整形すると 非常に扱いやすく理解しやすくなります...

How to use array_agg() function in less than PostgreSQL-8.3

What is array_agg() function in PostgreSQL PostgreSQL-8.4 or above versions support array_agg() function, but the function doesn't ...

PostgreSQL-8.4 未満のバージョンで array_agg() 関数を使う

PostgreSQL の array_agg() 関数とは PostgreSQL-8.4 以上であれば array_agg() という行を配列にしてくれる便利な 関数があるのですが、PostgreSQL-8.3 以下ではこの関数がありません。 しかしこれがないととて...

vi でファイルの行末の ^M を削除する方法

vi でファイルの行末の ^M を削除する方法 Linux で vi エディタ等でファイルを開くと ^M という記号が表示される場合があります。Linux では、この文字は不要ですので削除しましょう。

PostgreSQL ウィンドウ関数を使って連番を振る [ ROW_NUMBER() 関数 ]

ウィンドウ関数 ROW_NUMBER() 関数で連番を振る PostgreSQL はウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使って、任意の並び順のレコードに行番号を振ってみます。 複雑なクエリーを組...

PostgreSQL ウィンドウ関数を使って区間毎に集計する [ LAG() 関数と LEAD() 関数 ]

ウィンドウ関数 LAG() と LEAD() で前後の集計値を取得 PostgreSQL はウィンドウ関数をサポートしていて非常に強力な SQL を簡単に実行することが出来ます。そのウィンドウ関数を使って、サブクエリー等を使わずに1つ前の行の値を取得してみます。 複...

PostgreSQL ウィンドウ関数を使って区間毎に集計する [ PARTITION BY ]

ウィンドウ関数 PARTITION BY で区間毎の集計 PostgreSQL はウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使って特定のデータを SELECT 内で集計する方法を試してみます。 同じこ...

PostgreSQL ウィンドウ関数を使ってランク付けする [ RANK() 関数 ]

ウィンドウ関数 RANK() で順位付け PostgreSQL はウィンドウ関数をサポートしていて非常に強力な SQL を 簡単に実行することが出来ます。そのウィンドウ関数を使ってランク付けする方法を試してみます。 ウィンドウ関数を使わなくてもサブクエリー等を駆使...

Blogger での欧州連合の法律に基づく Cookie 通知について

Blogger での Cookie に関する対応 Blogger にログインすると以下のようなメッセージが表示されているかと思います。 欧州連合の法律により、欧州連合からの訪問者には、ブログで使用されている Cookie に関する情報を提供する必要があります。また、...

PostgreSQL で列データ型を変更する

PostgreSQL での列のデータ型変更について PostgreSQL のテーブルである列のデータ型を変更したい場合、互換性のある列データ型への変更は次のように ALTER TABLE ALTER COLUMN で変更できます。 ALTER TABLE [テーブル...

ORDER BY 句で NULL 値を持つレコードを並べ替える

ORDER BY 句で NULL 値の順序を制御する PostgreSQL で NULL が含まれる列を ORDER BY 句で並べ替えると NULL 値を持つレコードが最後に表示されます。しかしこれでは都合が悪いことが多々あり NULL 値を持つレコードを最初に表示し...

PostgreSQL HTML report script

Create PostgreSQL database report with HTML I created a shell script to monitor and report PostgreSQL database status. If you need a HT...

PostgreSQL の状態をレポートするスクリプト

PostgreSQL の稼動状態をきれいなレポートで確認する PostgreSQL データベースの稼動状態を HTML でキレイに見たい場合に使えそうなスクリプトを作ってみました。 2つのスクリプトから構成されていますので、どちらも同じディレクトリに配置して下さい。

PostgreSQL で無名ブロック(関数)を実行する

PostgreSQL で無名ブロック関数を使う Oracle データベースでは無名ブロックという、ストアドプロシージャ等の関数を作成しなくても一連の処理のかたまりを実行する機能がありますが、 PostgreSQL にも同様の機能が存在します。"DO"...

シェルスクリプトで PostgreSQL の SQL 実行結果を1行づつ処理する

シェルスクリプトで SQL の結果を1行づつ処理する シェルスクリプトで PostgreSQL の SQL 実行結果を1行づつ処理する場合どのようにシェルスクリプトを組めばよいのか説明していきます。

PostgreSQL の Foreign Data Wrapper (FDW) で Linux サーバーのメモリー情報を取得する

PostgreSQL の Foreign Data Wrapper (FDW) で Linux メモリ情報取得 PostgreSQL の Foreign Data Wrapper (FDW) という外部テーブル機能を利用すると 様々な情報を取得できますが、通常は外部のデ...

PostgreSQL の generate_series 関数で連続値を扱う

PostgreSQL で連番を生成する PostgreSQL で連番を生成するには generate_series 関数が大変便利です。 特に数値の連番値や日付や時刻の連続した値は至る場面で必要になります。

PostgreSQL で実行中のSQL をキャンセルあるいは接続を終了させる

PostgreSQL で実行中のSQL をキャンセルあるいは接続を終了させる PostgreSQL で長時間に渡って実行されている SQL や暴走してしまっている SQL がある場合、サービスに影響したり他の処理の妨げになってパフォーマンス低下に繋がる場合があります。特...

シェルスクリプトの文法・構文チェック方法

シェルスクリプトを改善する シェルスクリプトの文法チェックは以下のようにすると若干の文法チェックを行ってくれますが全く不十分です。 シェルスクリプトの間違いをしてくれてかつ、アドバイスまでしてくれるオンライン文法チェックサイトを利用するとスクリプトの書き方を改善できて効率...

Linux でファイルを素早く検索する (locate コマンド)

locate コマンドとは Linux でファイルを検索する場合、find コマンドで検索していると思いますがファイル数やディレクトリ階層が深いと非常に検索に時間が掛ることがあり、またシステムへの負荷が大きくなってしまうことがあります。 そのような場合には locate ...

Find great Linux commands at commandlinefu on Linux terminal

What is commandlinefu? Have you ever heard of "commandlinefu" website? Many developers and system administrators have been posin...

Generate IP addresses from CIDR in PostgreSQL

How to generate a list of IP addresses from a given CIDR in PostgreSQL If we need to manage a list of IP addresses in database, there a...

Rapid PHP Web Development with ScriptCase

Why we need rapid web development with ScriptCase There are so many web application frameworks in the world. Famous web frameworks such as...

Oracle connection problem on Talend Data Integration

Sometimes Oracle database connection fails in Talend I created a couple of Talend batch jobs by using Talend Data Integration v6.4.1. Wh...

Talend Open Studio for Data Integration で Oracle 接続が失敗あるいは遅い

Oracle 接続が失敗あるいは遅い問題 Talend Open Studio for Data Integration v6.4.1 で作成したジョブから Oracle10g への接続を行いデータを取得するバッチ処理を作成したところ、おおよそ5回に1回程度の割合でデータ...

高機能な SSH クライアント MobaXterm が便利

高機能なターミナルソフト MobaXterm とは Windows で動く SSH クライアント・ソフトウェアは様々な種類が存在していますが、一番オススメなのは MobaXterm というソフトウェアです。

PHP 高速開発ソフト (ScriptCase で高速ウェブ開発)

ウェブアプリケーションを高速で開発する必要性 近年 Node.js や Ruby on Rails、PHP、Java、Python 言語用の様々なウェブ・フレームワークが乱立しています。 これらのウェブ・フレームワークは数年経てばまた新たなウェブ・フレームワークによって淘汰さ...

Talend Data Integration で処理を迅速かつ効率良く開発する (ETL ツール)

ETL ツールとは ETL ツールとは、以下のような処理工程を指しています。 E xtract : 外部にある情報源からデータを抽出すること T ransform : 抽出したデータを必要に応じて変換・加工すること L oad : データウェアハウス等に変換・加工...

How to install Talend Open Studio for Data Integration (Version 6.4.1) [ETL tool]

How to install Talend Open Studio for Data Integration (Version 6.4.1) [ETL tool] If you are looking for ETL tool, Talend Open Studio fo...