2021年6月3日木曜日

QNAPでPostgreSQLを動かす

 PostgreSQL公式では起動できない

QNAPでPostgreSQLを動かす場合はContainerSenterを導入してDockerで動かすようになっています。
標準でサポートされているデータベースはMariaDBなのですがバージョンが5.5.57(最新版は10.5.10)と古くこちらも最新版を動かす場合はDockerで動かすことになります。
今回は仕事の関係もあってPostgreSQLの11.12を動かす必要があったのでインストールを行ったのですがここでちょっとハマったのでアップしておきます。

ContainerSenterを導入して作成でPostgreSQLを検索するれば「公式」も表示されるのでこちらをインストールすれば簡単かなと思ったのですが・・・

/usr/lib/postgresql/11/bin/postgres: error while loading shared libraries: libsystemd.so.0: ELF load command alignment not page-aligned        
no data was returned by command ""/usr/lib/postgresql/11/bin/postgres" -V"                                                                     
The program "postgres" is needed by initdb but was not found in the                                                                            
same directory as "/usr/lib/postgresql/11/bin/initdb".                                                                                         
Check your installation.    

ライブラリのエラーで起動できないようです。

QNAPのCPUには2種類ある

私が購入したのはTS-231P3ですが使っているCPUは


とあるようにArmを使ってますが、Arm以外にもIntel CPUを使用している機種も存在します。QNAPのサポートでもPostgreSQLのインストール方法は記載されていますが、情報が古く現在のバージョンでは「Odoo」として表示されます。

またサポートでは注意書きとして「x86ベースのデバイスのみに対応しています。」とありますが現在のサンプルで使用しているイメージは「postgresql_armhf」となっているのでちょっとチグハグになっていました。

インストールバージョンでX.X.X-alpineを選択

結論としてはベースOSとしてalpineを選択することで問題なく起動することができました。
「ELF load command alignment not page-aligned」問題はQNAPだけでなく発生しているようですが参考になれば幸いです。


Edisonが故障した一件

 最近またEdisonで遊んでいます。 教育用のデバイスとしてよく出来ているなと思っている Edison ですが、現在3台を所有しています。 最近このうちの1台が調子が悪くなってしましました。具体的にはBeep用のデバイスが壊れたようです。購入時にチェックをしたつもりですが今回久...