仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら


久々にoracle触って、listaggでデータを横連結しようと思ったらエラー。

 ORA-02000: missing WITHIN keyword

within group の指定が必須だったので改めて調べました。必須でした。
ということで調査用のメモを残しておきます。

within group ({order by のルール})

select listagg(dat,' ') WITHIN GROUP (order by dat asc nulls last)
from(
select 'A' as dat from dual
union
select 'B' as dat from dual 
union
select 'C' as dat from dual 
)

参考:
https://www.shift-the-oracle.com/sql/aggregate-functions/listagg.html
このエントリーをはてなブックマークに追加


はい、ターミナルで実行していて、ちょっと席をはずすと回線切れてた、
という場合、長いプログラムを実行すると結構困ったりします。

ということで、こんな感じに簡易的に再現しました。

nohup {コマンド} >& {出力ファイル} & 
tail -f {出力ファイル}

これなら切れてもプログラムは動いてる+一応出力をtail -fで追える。
一旦こんな簡単な形で対応しました。

参考:
https://www.atmarkit.co.jp/ait/articles/1708/24/news022.html
http://workmemo.techblog.jp/archives/10595821.html
このエントリーをはてなブックマークに追加

ERROR:  canceling statement due to conflict with recovery  が出た

はい、あんまりpostgreSQL詳しく無いんですが、エラーが出たので調査。
エラーはたまに出る、selectのSQLが遅い、ということで環境っぽい。


調べてみたら、オートVACUUMが悪さをしていて、これのせいでレプリカで動かしてるselectがデカイときにselectを途中で諦めちゃってエラーになる模様。

根本的にはSQLのスピードアップしかなさそう。


参考:こちらに詳しく載ってる
https://qiita.com/fullsat_/items/e793379e9c10a25c2d1a
このエントリーをはてなブックマークに追加

push&commitしたら、Push failed が出た

はい、IntelliJでpush&commitしたら、エラーになりました。
ログを見るとこんな感じ。

13:36 Push failed
Ssh_exchange_identification: Connection closed by remote host
Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

なんかpushがうまくいかなかったとのこと。
特に鍵とかいじってないので、ターミナルで手動pushしたら普通に通りました。回線の機嫌が悪かったんだろうか。

git push

まあ手でこれやるだけでした。
このエントリーをはてなブックマークに追加

DBeaverでテーブル詳細ショートカット


多分ほとんどの人には当たり前でしょうけど、改めて知って素晴らしかったのでメモ。
DBeaverに「公開情報(F4)」という選択があり、テーブルを選択してこれを選ぶとテーブルの詳細に飛びます。

今までスキーマから選択してテーブル情報〜と見ていたので、相当時間短縮になる素晴らしいショートカットでした。

ちなみにこれ、command+clickでも出ます。

大体のツールはこっちの方で詳細に飛ぶから、こっちで覚えてる人も多いかも。




このエントリーをはてなブックマークに追加

↑このページのトップヘ