Perl 5.20にしたら、DBIが何やら不可解な動作をするようになりました。 問題の原因 保存されいてる文字コードがおかしい 解決策DBD::Pg編DBD::MySQL 比べるとDBIの仕様DBD::Pgの仕様変更 まとめ 問題の原因 どうやら UTF8 を扱う機能が増えたみたいです。DBIの接続時のパラメーターにこんなものが増えています。 pg_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(PostgreSQL)mysql_enable_utf8 => 1 , # 結果をUTF8フラグ付きにする(MySQL)PerlのDBIモジュールで自動的にUTF8フラグを付ける この影響で、PostgreSQL運用のシステムをPerl 5.14 から 5.20 にアップグレードしたところ文字化け発生。また厄介なことをしてくれたものです(汗) 保存されいてる

はじめに ビッグデータ、データサイエンスという言葉の流行を大きく後押ししたのは大規模なスケールアウト、分散処理を可能としたHadoopの存在です。しかしデータサイエンティストは日々のデータ処理作業において必ずしも複数台のマシンを必要とするような大規模な処理ばかり行っているわけではありません。自身の開発用ワークステーション1台で完結するような処理も多数存在します。 2016年ではもはや当たり前ですが、多くのワークステーションはマルチコアのCPUを搭載しており、CPUがボトルネックになるようなデータ処理をマルチコアを活かして並列処理する重要性は高まっています。しかし、意外に多くのソフトウェアが、この当たり前に期待される「マルチコアを活かして単一ワークステーション上で高速並列処理すること」が出来ていません。 この悩みから、筆者は過去にテキストデータ処理を簡単にマルチコア対応にするJavaフレーム
私は、もう4年も毎日のようにPostgreSQLを使用しています。以前はデータベースとやりとりするためにGUIアプリケーションを用いていました。しかし今では、お気に入りのツールを使いながら効率よく作業できる、ビルトインのコマンドラインツールだけを使用しています。本稿は、 psql というコマンドラインツールを通して実現可能なタスクを複数のセクションに分けて説明します。ここで挙げる項目は次のとおりです。 psqlの設定 ヘルプの使用 データベースが遊び場 データベースの探索 クエリの作成 出力の比較 データベースのクローン作成 データの抽出 psqlの設定 あらかじめpsqlはある程度設定されています。そのため、本稿では提供されているオプションを詳しく説明しません。psqlの使用がより楽しくなる2つのオプションについてのみ説明します。 1つ目は、データが横長でも正しくスクリーンに映し出され

NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?(前編)NTTデータオープンソースDAY2015 現在のシステム構築では、オープンソースのソフトウェアを使うことは当たり前になってきています。PostgreSQLはそうした中で主にエンタープライズ向けのデータベースとして着実に事例を増やしてきています。 その中で、PostgreSQLを大規模なミッションクリティカルなシステムの中で使うには、どのようなノウハウが求められるのか。オープンソースの利用に積極的なNTTデータがその事例を、1月26日に開催されたイベント「NTTデータオープンソースDAY 2015」のセッション「NTTデータとPostgreSQLが挑んだ総力戦。PostgreSQLを極限まで使い切ったその先に見たものとは?」で紹介しています。講演内容をダイジェストにしまし

このエントリはPostgreSQL Advent Calendar2013のこのエントリはPostgreSQL Advent Calendar2013の19日目になります。今回は便利ツールとして、今年作ったpgsqlenvの解説を書いてみました。 このツールは、いわゆるPostgreSQLに特化したhomebrew環境を構築するもので、コマンドでインストール、初期化、起動、終了そのほかの作業が行えます。githubで公開しています。 インストール インストールは簡単で、gitから取得し、取得したあとでそこにパスを通すだけです。以下の例では、~/git/以下に展開するようにしています。 $ cd ~/git/ $ git clone http://github.com/yutakat/pgsqlenv/ $ export PATH=$PATH:~/git/pgsqlenv 使い方 pgs
mysqlenvというツールがリリースされているのを見て、ふと昔とった杵柄と思って移植してpgsqlenvを作ってgithubに公開しました。 https://github.com/yutakat/pgsqlenv 一応説明すると、自分のユーザーディレクトリの下に、複数のバージョンのPostgreSQLをソースコードから自前コンパイルでインストールし、また起動停止等がコマンドラインから一元管理できるツールです。多分UNIXとMacOSXで動作すると思いますが、さくらVPSでしかテストしていません。 ご存知の人はご存知と思いますが、L.starの昔の仕事は多数のPostgreSQLのバージョンを扱う関連のお仕事で、その関係上、homebrewに近いシステムを自分で作って運用したりしてたのですが、その時のことを思い出しながら作りました。当時の俺得ツールです。そのへんは、「UNIXアカウントと同
To connect with psql, double click adatabase. To connect directly from the commandline, type psql. If you’d rather use a graphical client, see below.NOTE: These instructions assume that you’ve never installed PostgreSQL on yourMac before. If you have previously installed PostgreSQL using homebrew,MacPorts, the EnterpriseDB installer, consider removing other PostgreSQL installations first. We
12/17 が終了して数時間が経ちましたが、16日目「匿名関数と無名関数 (PHP Advent Calendar 2010 16日目) | dogmap.jp」の wokamoto さんからバトンを渡されたPHP Advent Calendarの 17日目です。 さてPHP 5.2.X も終了が宣言された昨今、みなさんのPHP-5.3 への移行は順調に進んでいますでしょうか? 私も自分の環境やメンテナンス対象のコードを徐々に 5.3 対応に修正しているところです。今回はその中でDB アクセスライブラリをCreole から PDO に変更した際にハマった事を書こうと思います。 最近はフレームワークを使ったプログラミングが一般的なので、DBアクセスもフレームワークの Model クラスや、フレームワークがサポートしている Doctrine などの O/R マッパーを使うのが普通でしょ
Ubuntuでポスグレを入れたときにはまったのでメモ。 EUC_JPのデータベースが作れない ポスグレのインストールはすごく簡単で、 $sudo apt-get install postgresqlインストール、起動までやってくれます。 で、最初はUTF-8のデータベースばっかり作っていて気づかなかったのですが、いざEUC_JPのデータベースを作ろうとすると下記エラーが出ます。 $createdb -E EUC_JP -U hoge testdbcreatedb:databasecreation failed:ERROR: encoding EUC_JP does not match server's locale ja_JP.UTF-8 DETAIL: The server's LC_CTYPE setting requires encoding UTF8.先日のエントリにも
第四十五回 FATAL C28000 MIdent authentication failed for user "rails" Fauth.c L337 Rauth_failedというエラーが出て,MigrationやconsoleからのDBアクセスが失敗したのでいろいろ調べてみると,こんな記述を発見しました.it is due toRails connecting to PostgreSQL via TCP socket, not UNIX socket, so in the pg_hba.conf you need to setup a “host”line, not a “local”line. どうやらRailsがPostgreSQLにアクセスする際にUNIX socketではなくTCP socketを利用していて,TCPを利用したアクセスではpasswordによるユーザ
空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ -空気を読まずにPostgreSQLのを高速化する10のポイント - 象と戯れ - postgresqlグループ.の元エントリを読んで思うところがあったのだが、 PostgreSQLを高速化する16のポイント だからそんなせまっくるしいところでトンチンカンにdisる暇あるんだったら自分のブログでお好みの議論を書くかさもなきゃ/dev/nullにでも吐けとやんわりと言ってるんだよハゲ。 というわけでw。 だよねw。 まあ正直、上記元ネタのほうには色々突っ込みどころ満載なのだが、それは置いておくとしてL.starなりの高速化ポイントを一度書いておかないと、と思ったので記す。ただ、L.starはもうPostgreSQL界隈から離れて久しいので、必ずしも最新の内容を網羅していないことに注意されたし。また、出来るだけPos
Postgresqlに限らず、インデックスを利用する/利用しないは、DBを使ったシステムの速度を決める重要な要件だったりします。 今回は、業務中に突き当たった複数のカラムを指定していた場合 DESCやASCを使っていた場合、indexを利用しなかったpostgresの 対応方法について説明します。 なお、突き当たったバージョンは8.3.5でした。 対象はたいした事は無いsql文なのですが、こういったsql文です。 SELECT entries.id,entries.title, entries.body, entries.entry_type, entries.created_at, entries.updated_at FROM entries ORDER BY entry_type,updated_at DESC indexは、 entry_type, updated_at
2008年 02月 22日 金曜日 02:03 We use Postgres for a lot of stuff here. Sinceit's a multi-processdatabase server (unlikeMySQL which is multi-threaded),creating a direct connection to Postgres is relatively slow. This can be worked around by using a connection pool server in front of theDB. Up until recently we used pgpool for this. Butit has a few disadvantages: *It's multi-processitself (althoug

印刷する メールで送る テキストHTML電子書籍PDF ダウンロード テキスト電子書籍PDF クリップした記事をMyページから読むことができます LAMPやLAPPといった言葉が示しているように、オープンソースソフトウェア(OSS)での代表的なリレーショナルデータベース管理システム(RDBMS)といえば、「MySQL」と「PostgreSQL」だ。この2つのRDBMSは同等であるかのように思われているが、しかしPostgreSQLのユーザー団体「日本PostgreSQLユーザ会」で理事長を務める片岡裕生氏によれば、「PostgreSQLはあまり信用されていない」ということがあるそうだ。 「十分にチューニングされたMySQLとチューニングしていないPostgreSQLを比較したり、反対にチューニングされたPostgreSQLとチューニングしていないMySQLを比較したり、あるいは比

postgresql.conf に以下を設定します。log_min_duration_statement = 0 これは指定ミリ秒以上時間がかかったSQL文をかかった時間と一緒にログに残すようにします。 0を設定するとすべてのSQL文をかかった時間とともにログに出力します。 ※注意 この設定とlog_statement を同時に設定すると、log_statement の設定によるSQL文のログとlog_min_duration_statement によるSQL文のログがそれぞれ出力されてしまう為、同じようなログが2重に出てしまいます。なのでlog_min_duration_statement=0 を使う場合はlog_statement は無効にするべきです。 duration_statementを含んだログファイルを解析して統計情報を表示するスクリプト 以下のようなPerl スク
情報技術(アイティー)革命ではなくイット革命!IT化推進に役立つソフトウェアやWeb制作に関するネタを扱います。 psql で出力できます。 ─────────────────────── >psqldbnamedbname=# \o tablenams.csvdbname=# \a Output format is unaligned.dbname=# \pset fieldsep ',' Field separator is ','.dbname=# select * from tablename;dbname=# \o ─────────────────────── \o で出力先を指定 \a で桁そろえをしない \pset fieldsep でセパレータを指定 '\t' ならタブ区切り select 文で対象データを抽出 最後の、\o で出力先を戻します。 コマンドライ
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く