↓ こんなエラー。クエリの内容に関わらずNot enough memoryと言われて拒否されます。WindowsのUTF-8のコンソールでpsqlを使うと常に起きるようで、対策は(1)コンソールのコードページを変える(2)クエリがASCIIだけならコマンド「\pset pager off」でページャ不使用にする、のどちらかしか無さそう。Win版psqlでUTF-8を使う展望が見えなくてちょっと残念。
問題の再現
下記の実行環境で試し、どれも同じ結果でした。 以下、最初の環境での例で、スクリーンキャプチャ画像はConEmuです。psql起動前からコンソールのコードページ(文字コード)を65001(UTF-8)にし、データベースサーバに接続すると警告が出て、どんなクエリもNot enough memory.と拒否されます。
> chcp 65001
Active code page: 65001

> psql -U postgres
psql (9.4.1)
WARNING: Console code page (65001) differs from Windows code page (932)
         8-bit characters might not work correctly. See psql reference
         page "Notes for Windows users" for details.
Type "help" for help.

postgres=# SELECT 1;
Not enough memory.
接続時の同様の警告は、Shift JIS(日本語版Windowsのコードページ)以外のコンソールから接続すると常に出ます。昨日のWIN1252でもそうでしたが、クエリ実行は問題なかったので、Not enough memoryエラーはWindowsのUTF-8コンソール上のpsql固有の現象だと思います。 psql起動後にchcpコマンドでコードページをUTF-8に変えても ↓ 同じ結果でした。psql内では\!に続けて普通のコンソールコマンドを打てるので、それでchcpを実行しています。(画像は省略)
> psql -U postgres
psql (9.4.1)
"help" でヘルプを表示します.  <- こう出れば、通常のShift JISで接続してる

postgres=# SELECT 1;
 ?column?
----------
        1
(1 行)  <- ここまで正常

postgres=# \! chcp 65001  <- コードページ変更(ここで画面クリアされる)
Active code page: 65001

postgres=# SELECT 1;
Not enough memory.  <- やっぱりエラー
対策1:コンソールのコードページを変える
WindowsコンソールをShift JISに戻せば(いったんpsqlを終了するか、psql上で\! chcp 932を打つ)Not enough memoryは出なくなり、普通にクエリが通ります。コンソールをあえてUTF-8にする特段の事情、例えばShift JISにない文字を入力したい等がなければ、これで解決。
postgres=# \! chcp 932  <- 実行直後、画面クリアされる
現在のコード ページ: 932

postgres=# \encoding SJIS  <- 念のため

postgres=# SELECT chr(12362) || chr(12431) || chr(12426);
 ?column?
----------
 おわり
(1 row)
対策2:ページャを不使用にする(クエリがASCIIのみの場合)
Not enough memoryというエラーは、psqlが出力してるのではなくWindowsのページャであるmore.comが出したもの(参考 : Mailing List Archive: Python)。冒頭に書いたとおり、psql内のコマンド「\pset pager off」でページャ不使用にでき、結果としてNot enough memoryエラーは出なくなります。ただし日本語など非ASCIIを含むコマンドやクエリを打つとpsqlが強制終了するので、対策として使える範囲は限定的。
postgres=# \! chcp  <- 確認
Active code page: 65001

postgres=# SELECT 1;  <- 問題の確認
Not enough memory.

postgres=# \pset pager off
Pager usage is off.

postgres=# \encoding SJIS  <- これないと、何故かクエリ結果の日本語が文字化け

postgres=# SELECT chr(12362) || chr(12431) || chr(12426);
 ?column?
----------
 おわり
(1 row)  <- ASCIIのみのクエリは一応実行できてる

postgres=# SELECT 'あいうえお';
\q  <- psqlが落ちた
上の例ではクエリを投げてますが、ただコンソールに文字を表示するだけのコマンド「\echo あいうえお」とかを打ってもpsqlが落ちました。
MySQL5.6以降はWindowsコンソールでUTF-8を使えるらしい
Win版psqlとUTF-8コンソールの問題は、公式のメーリングリスト等で既に議論されてるけど(例えば下記の一つ目)どうも進展してなさそう。二つ目・三つ目のリンク先などを見るとWindowsのコマンドプロンプトでUTF-8を使うこと自体、問題が多くて難しいのかも。 » pgsql-bugs -- BUG #6161: Not enough memory error in psql with UTF8 console
» コマンドプロンプトで utf-8 は、まだ無理らしい…
» コマンド「chcp 65001」を実行してコマンドプロンプトの文字エンコードをUTF-8にしたけど日本語表示で苦戦したお話
でもMySQL5.6以降では、下の記事(2014年)を見ると既にWindowsコマンドラインからUTF-8のクエリを実行できるらしいです。Win版の歴史の違いか、それとも力点の置き方が違うのかな……その分、PostgreSQLにはpgAdminがあるわけで。どうしてもCUIがいいならCygwinで、ということ? » 配電盤 -- mysql.exeでUTF-8を使う