PostgreSQL ODBCのインストール

Accessや、作ったプログラムなどからpostgreSQLに接続するためには、ODBCが必要です。

ここではそのODBCをインストールする手順と、設定方法を紹介します。

 

PostgreSQL ODBCのダウンロード

①次のダウンロードサイトへ移動します。

https://www.postgresql.org/ftp/odbc/

 

②最新版は「releases」、古いバージョンは「versions.old」>「msi」をクリックします。

 

③画面を進んでいき、

一番下のzipの内「x64」となっているzipをクリックするとダウンロードされます。(赤枠の箇所)

※32bit版のWindowsを使用している場合は、「x86」のzipを選択してください。

 

インストールする

①zipを解凍。

 

②『psqlodbc_x64.msi』をダブルクリック。

※警告画面がでたらOK、はい等を押して先に進みます。

 

③『NEXT』をクリック

 

④『NEXT』をクリック

 

⑤『NEXT』をクリック

 

⑥『NEXT』をクリック

ここまででインストールは終了です。次にODBCの設定が必要なので次に進みます。

 

ODBCの設定をする

①コントロールパネル画面より「管理ツール」をクリック

 

②ODBCデータソース(64ビット)をクリック

 

③「ユーザーDSN」タブの「追加」をクリック

 

④PostgreSQL Unicode(x64)をクリック。

※32bitのWindowsでは、「x64」がついていないものを選択します。

 

⑤以下の情報を入力します。

データソース名 … これは自由な名前でOKです。

サーバー名   … DBがあるサーバー名を入力します。自身のPCの場合、「localhost」と入力。

          別のPCの時、そのPCのIPアドレスやコンピューター名を入力します。

データベース  … 接続するDB名を入力します。

Port      … 規定では「5432」。DB側でポートを変更している場合はその番号を数値で入力します。

ユーザー名   … DBに接続するためのユーザー名。

          自身のPCに接続するときにはインストールした時のユーザー名を入力します。

パスワード   … DBに接続するためのパスワード。

          自身のPCに接続するときにはインストールした時のパスワードを入力します。

入力を終わったら「保存」ではなく、「テスト」をクリックします。

 

⑥「テスト」をクリックして「Connection successful」を表示されればOKですので、

保存を押して下さい。

 

⑦先ほど作った名前のものが追加されているのが確認できればOKです。

 

Windows Defenderへ除外登録する

PostgreSQLの動作が重いと感じた時、

Windows Defenderの除外設定に追加することで改善される可能性があります。

ここでは、Windows Defenderの除外設定手順を説明します。

 

除外登録手順

①『設定』を開きます

 

②『更新とセキュリティ』をクリック

 

③『Windowsセキュリティ』をクリック

 

④『ウイルスと脅威の防止』をクリック

 

⑤『設定の管理』をクリック

 

⑥『除外』にある『除外の追加または削除』をクリック

 

⑦除外の追加をクリック

 

⑧フォルダを選択する

 

⑨『C:\Program Files\PostgreSQL』を設定

※このフォルダにインストールしていない場合、インストール先のフォルダを指定してください。

 

⑩『このアプリがデバイスに変更を加えることを許可しますか?』が表示されたら

「はい」をクリック。

 

⑪除外の中に追加されていればOKです。

For文(ループ文)の書き方

PostgreSQLにおけるFor文の書き方です。

FOR 変数名 IN 初期値..終了値 LOOP
  --処理をここに書く
END LOOP;
あわせて読みたい

 

 

使用例

--1から10まで繰り返す
for i in 1..10 loop
	raise info '%' , i;
end loop;

※使用しているraise文はこちらで説明しています。

変数の値を画面に出す(raise)

 

 

ループ文の抜け方

ループ文から途中で抜けるには、EXITを使います。

--1から10まで繰り返す
for i in 1..10 loop

    --ループを抜けるIF文
	if i = 5 then
		exit; --exitでループを抜ける
	end if;

	raise info '%' , i;
end loop;

 

変数の値を画面に出す(raise)

FUNCTIONを作っているときに、変数の中身を見たい時があるとおもいますが、

その中身を表示するにはRaiseを使います。

-- 変数の中身を表示する(「%」に変数の値がセットされます)
raise info '%' , 変数名; 

-- 例
raise info '%' , num1;        -- 変数num1の中身を表示する
raise info 'num1=%' , num1;   -- このように書くと「num1=XX」と表示し、見やすくなります

 

変数の中身が表示された様子

変数の中身は「メッセージタブ」に表示されます。

「INFO:」の右に表示されているのが変数の値です。

※ selectしている「raise_test()」関数はこの次で紹介しています。

 

 

raise動作確認用の関数

raiseの動作を確認できるような関数を作成しました。(コピー&pgAdminに貼り付け→実行でOKです)

実行しても結果はnullが返りますが、メッセージタブに値が表示されているのが確認できます。

numの値を変えて実行すると、よりわかりやすくなると思いますのでお試しを。

CREATE OR REPLACE FUNCTION raise_test()
RETURNS character varying  LANGUAGE 'plpgsql'
COST 100 VOLATILE AS $BODY$
declare
	num numeric;
BEGIN

	num = 100; 
	raise info '%' , num; --変数numの中身を表示
	
 	num = 200; 
	raise info '%' , num; --変数numの中身を表示
	
 	num = 300; 
	raise info '%' , num; --変数numの中身を表示
	
	return null;

END;
$BODY$;

--実行するには次の文を実行して下さい
select * from raise_test();

 

あわせて読みたい

https://postgresweb.com/post-5260

 

 

エラーメッセージ

動画編集ソフト「AviUtl」の環境構築で、

『lwinput.aui は Windows 上では実行できないか、エラーを含んでいます。元のインストール メディアを使用して再インストールするか、システム管理者またはソフトウェアの製造元に問い合わせてください。エラー状態 0xc000007b。 』のエラーメッセージが出た時の対処方法です。

 

 

 

対処方法

原因は『L-SMASH_Works_r9XX_plugins.zip』をLhaplusで解凍したことでした。

そのため「7-zip」で解凍しなおしたところうまくいったので、同じ現象が発生したらお試しください。

 

説明

pgAdmin4で「依存性」ウインドウが消えなくなった時の対処方法です。

(↓画面の赤枠のように)

 

対処方法

ファイル > レイアウトを初期化 をクリック、

「現在のレイアウトを初期化しますか?…」で「OK」をクリックすると直ります。