めも帖

「めも帖」代わりにダラダラと書いていったり、めもしたりしているだけです。

PostgreSQLでEUCのデータベースを作ってみる

そもそも、PostgreSQLは、起動の方法から覚えないといけない私です。そんなPostgreSQLでデータベースの文字コードEUCの場合

  • DBのEncodingがEUCの場合、insertする値がUTF8のときADOdbはどうすればいいのか?

という疑問が浮かんだのでテストしてみようと思います。まずは、PostgreSQLのインストールからです。

PostgreSQLのインストール

ええと、Google先生に聞く

EUCのデータベースを用意する

PostgreSQLの場合は、下記の通り。

  • 全てpostgresというユーザで実行しています。
  • PostgreSQLは、コマンドがたくさんある?
createdb -E EUC_JP データーベース名

その結果

$ psql -l
        List of databases
   Name    |  Owner   | Encoding 
-----------+----------+----------
 leads     | postgres | EUC_JP
 postgres  | postgres | UTF8
 template0 | postgres | UTF8
 template1 | postgres | UTF8

できた

DBから抜け出す

\qで抜け出す

DBを指定して利用する

psql dbname

テーブルを作ってみる(1)

はまりそう。MySQLでやっていたときのSQL文を実行。当然のようにエラー。
auto_incrementが使えないらしい。ええと...。

テーブルの一覧を見てみる

これもコマンド(MySQLだとshow tables)。
\d

テーブルを作ってみる(2)

というわけで調整してみたら出来ました

create table memos (
id serial primary key,
title varchar(255),
money int,
create_date timestamp,
modified_date timestamp,
money_type int,
message text
);