PostgreSQL

ちなみにDebianのPostgreSQLでinitdbを使いたいとき

前に無理矢理initdbを実行するやり方を書いたんだけど、あの時は別な事もやりたかったので無理矢理になってしまったけどDebianにはちゃんとコマンドも用意されてます。例えばinitdb --no-locale --encoding=utf-8 -D /var/lib/postgresql/8.3/main なんてコ…

DebianではPostgreSQL関連コマンドが/usr/binに無いものも

DebianではPostgreSQL関連の基本的なコマンドが/usr/share/postgresql-common/pg_wrapperにリンクしてあるのでそれ以外のコマンドを使うときにパスが通って無くて「ありゃ?」となる。※8.3の場合 コマンドの場所は $ ls -la /usr/lib/postgresql/8.3/bin 前…

initdbは--no-localeをつけて初期化したい

先日のdebian etchからlennyにアップグレードしたとき続き。PostgreSQL8.3を入れたのだが、いきなり起動していきなりinitdbが始まる。localeの設定をする前の話なので、当然思っていた状態にはならず。自分で初期化する。※あくまでもdebianのPostgreSQLの場…

EC CUBEをPostgreSQLのUnix ドメイン・ソケットで通信したい

DBを使うときは極力Unix domain socketを使いたいと思う。EC CUBEはDBとの接続にtcp通信しか許してくれないらしく、ソースをいじる羽目にorz 仕方ないのでハードにコーディングしてしまう。まずはhtml/install/index.phpを修正。$dsn = の行を検索して編集。…

PostgreSQL8.4.xでいつもと違うエラー

portにpostgresql84があったので早速試してみた。 $ initdb --no-locale -D /opt/local/var/db/postgresql84/defaultdb $ createdb hoge -E UTF8 ERROR: new encoding (UTF8) is incompatible with the encoding of the template database (SQL_ASCII) HINT:…

CentOS5.3にrubygemsでpostgresインターフェースを入れたい

PostgreSQL8.4.xを自前でインストールした体でのこと。※インストール先/usr/local/pgsql #yumでPostgreSQLを入れた場合は、もっと簡単に進むと思われる。rubygemsで検索すると、ruby-postgresとかpostgresとか色々ある。使い慣れたpostgresを使う事にする。…

連番データ生成機のgenerate_series(start, stop, step)

PostgreSQL8.xから使えたっけ?使えたはず。連番データを生成するのに便利な関数。 1から10までの連番 # select generate_series(1,10); generate_series - 1 2 3 4 5 6 7 8 9 10 (10 rows) 今日から1週間表示 # select to_char(current_date + seq.v, '…

共有ホスティングでruby-postgresを使いたい

某、共有ホスティングサービスでruby-postgresを利用したいと要求が。どうも、sshも使えるしPostgreSQLも入っているらしい。今時だとrubyのモジュールを使うときはgems経由だなとおもい、rubygemsをインストール(前に日記で書いたので省略)。・・・つかrub…

MacOSXでrubygemsを使ってpostgresqlインターフェースを入れる

せっかくMacでもrubygemsが使えるので、rubyからPostgreSQLが操作出来るインターフェースを入れてみた。PostgreSQLはportを使ってインストールしたので、gemコマンドでインストールする際にコンパイルに失敗する。configureする際のオプションを付けてインス…

etchでpsql使用時にeuc-jpのDBが文字化け

文字コードをEUC-JPで作ってしまったもので化け倒した. とりあえずはPGCLIENTENCODING='UTF-8'をセットしておけば大丈夫ぽい.

複合インデックス使用時のDESCでインデックスが使われない

たとえば create table customer(id integer, birthday date); create index customer_idx on customer(id, birthday); select * from customer order by id, birthday desc; これだとインデックスが使われない. そんな時は,こうしてインデックスを作って…

EC-CUBEを探る

日本発のECサイトオープンソース「EC-CUBE」 http://www.ec-cube.net/早速使ってみました.まずは管理画面.日本人受けしそうなインターフェース.それでいて設定等もきめ細かく出来るもよう. ブロックの作成・設定などもかなり自由が利く.これがオープン…

pgcrypto

せっかくcontrib/pgcryptoがあるのだから使おうよという事で. $ cd postgresql-8.x.x/contrib $ vi README.pgcrypto $ make $ su # make install # cp pgcrypto.sql /usr/local/pgsql/share # exit $ su - postgres $ psql -f /usr/local/pgsql/share/pgcry…