山崎屋の技術メモ

IT業界で働く中でテクノロジーを愛するSIerのシステムエンジニア👨‍💻 | AndroidとWebアプリの二刀流🧙‍♂️ | コードの裏にあるストーリーを綴るブログ執筆者✍️ | 日々進化するデジタル世界で学び続ける探究者🚀 | #TechLover #CodeArtisan、気になること、メモしておきたいことを書いていきます。

【PostgreSQL】SQL Shellのログインパラメータのデフォルトを変える

f:id:yyama1556:20160723113105p:plain

前回の記事で、PostgreSQLWindowsにインストール方法を紹介した。

今回は、PostgreSQLを操作する上でよく利用するであろうSQL Shellの細かい設定について紹介したい。

ログインパラメータのデフォルトを変える

下図の赤線部分がログイン時のデフォルト。デフォルトのままでログインしたければ、リターンキーを押していくだけでいいのだが、違うユーザやデータベースなどに接続したいときは、いちいち入力しなければいけないのでメンドイ。

f:id:yyama1556:20160723114249p:plain

ここではデフォルトのユーザーを[postgres]から[hoge]に変えてみたいと思う。ユーザ以外の設定もほぼ同じ手順で変更できる。

[%PostgrSQLをインストールしたフォルダ%\scripts\runpsql.bat]のバックアップを取り、開いてみる。

@echo off
REM Copyright (c) 2012-2016, EnterpriseDB Corporation.  All rights reserved

REM PostgreSQL server psql runner script for Windows

SET server=localhost
SET /P server="Server [%server%]: "

SET database=postgres
SET /P database="Database [%database%]: "

SET port=5432
SET /P port="Port [%port%]: "

SET username=postgres
SET /P username="Username [%username%]: "

for /f "delims=" %%a in ('chcp ^|find /c "932"') do @ SET CLIENTENCODING_JP=%%a
if "%CLIENTENCODING_JP%"=="1" SET PGCLIENTENCODING=SJIS
if "%CLIENTENCODING_JP%"=="1" SET /P PGCLIENTENCODING="Client Encoding [%PGCLIENTENCODING%]: "

REM Run psql
"C:\Program Files\PostgreSQL\9.5\bin\psql.exe" -h %server% -U %username% -d %database% -p %port%

pause

[SET username=postgres]の[postgres]の部分をデフォルトとしたいユーザに変える。

たとえば、[SET username=hoge]。


これでOK。SQL Shell を起動してみると。。。

f:id:yyama1556:20160723115646p:plain

無事、デフォルトユーザを変えることができました。

おまけ

上記で変更した[runpsql.bat]ファイルは読み取り専用になっているかもしれない。

その場合、管理者権限のあるユーザで、エクスプローラからファイルを選択し右クリック→プロパティ。

セキュリティタブを選択して、編集ボタンクリック。書き込み権限を与えたいユーザ(たとえば[Users])を選択して、フルコントロールチェックボックスをチェック状態にしよう。

OKボタンを押せば、ファイルの編集が可能になるはずだ。

でわ。

PostgreSQL徹底入門 第3版

PostgreSQL徹底入門 第3版

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)

PostgreSQL全機能リファレンス (アドバンストリファレンスシリーズ)