INSERTで「nonstandard use of \\ in a string literal」というエラーが出たとき。
シングルコートを「E’」にすれば OK。「E’C:\\hogehoge.txt’」
PostgreSQLで INSERT直後の主キーの値をとりたいとき。
SELECT currval(pg_catalog.pg_get_serial_sequence('test_table', 'pkey'))
SELECT lastval()
下の方は同じセッション内でとるとき。次のやつは nextvalでとる。
SELECT nextval(pg_catalog.pg_get_serial_sequence('test_table', 'pkey'))
EC-CUBEでは関数が用意されているので、それを使うのが吉。(でないと、MySQLになったとき動かない)
ついで。PostgreSQLのユーザ設定。GRANTはテーブル単位しかかけられないって知ってました?
オートインクな主キーのあるテーブルは、シリアルキーのテーブルの方も grantしとかないとエラーになるので要注意。
も一つついでに。Ruby + DBI + Postgresでなにかやろうとしたときは、「Ruby DBI モジュールを使う」は必見。
スタイル・チェンジ
Tips「わかっちゃいるけど、止められない」じゃなくて、「わかっていても、できない」ことが多いので、いまさらながら、Life is beautifulの「私のとっておきのプログラミングスタイル」に感化されて、自分なりの指針をまとめておく。
最初の二週間で八割がたの目途をつける。
「タスク」は、半日から三日ぐらいでできるもの。最初にすべきものほど明確に定義し、後でやるものはある程度曖昧にしておく。
「マイクロタスク」は、うまく行けば15分ぐらいで、なかなかうまく行かなくても二時間ぐらいで完成できるもの。
そんなマイクロタスクを数個から十数個並べたリストを書いて、例えば「今日は7つを絶対終える。余裕があったら次の2つもこなす」と自分で宣言する。
マイクロタスクは「決して他の仕事を間に挟んではできない仕事」と覚悟して、全力疾走でこなすこと。
ということで、自分にプレッシャーを与えるつもりで、Google Docsにタスクリストを公開してみた。もちろん、お客様の名前やプロジェクトの詳細はイニシャルになっている。
PostgreSQL:いろいろ Tips
PostgreSQLINSERTで「nonstandard use of \\ in a string literal」というエラーが出たとき。
シングルコートを「E’」にすれば OK。「E’C:\\hogehoge.txt’」
PostgreSQLで INSERT直後の主キーの値をとりたいとき。
下の方は同じセッション内でとるとき。次のやつは nextvalでとる。
EC-CUBEでは関数が用意されているので、それを使うのが吉。(でないと、MySQLになったとき動かない)
ついで。PostgreSQLのユーザ設定。GRANTはテーブル単位しかかけられないって知ってました?
オートインクな主キーのあるテーブルは、シリアルキーのテーブルの方も grantしとかないとエラーになるので要注意。
も一つついでに。Ruby + DBI + Postgresでなにかやろうとしたときは、「Ruby DBI モジュールを使う」は必見。
mail forwarding loop
Tips, サーバ管理[postfix-jp: 783] mail forwarding loop
こういうメッセージが Postfixから返ってきたときに疑うべきところ。
だそうです。
ついでに、「sendmail の使い方」がわかりやすいです。
「NTP で時刻合わせ」はこちらをどうぞ。
Ruby で DBI で PostgreSQL
PostgreSQL前回の続き。
違うユーザでコネクトできたから OKとしてましたが、実際テーブルの操作をしようとするとエラーになったので、対処。
DBへは接続できるけど、テーブルをリードするパーミッションがないよと。
ま、当然ですね。DBの ownerと違うユーザでコネクトしてるんですから。じゃあ、パーミッションを出しておきます。
これで本当に OKです。
Rubyから PostgreSQLを使う
PostgreSQL, サーバ管理Rubyから PostgreSQLを使おうとして、ちょっとつまづいたので、後進の人のためにメモ。
入れようとした環境はこんな感じ。
つまり、少し古い Rubyと Railsが動いていて、かつ、PostgreSQLも動いていて、いま動いているものは変えたくないということ。
さらに読む
HootSuite:複数アカウントの追加
TipsTwitterのクライアントとして、高機能で評判の HootSuiteを入れたんですが、2つ目、3つ目のアカウントの追加の仕方に迷ったので、メモ。
手順は次の通り。
Facebookや LinkedInのアカウントの追加もこの画面でやるので、SNSと書いてあるんでしょうが、ボクにはわかりづらかったです。
設定 ⇒ アカウントのあたりでずいぶんウロウロしてしまいました。