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だけでなく発生しているようですが参考になれば幸いです。


0 件のコメント:

コメントを投稿

Raspberry Pi ZeroでHeadphonesが無くなった

最近こんなの Adeept Robotic Arm Kit for Arduino や こんなの 「Petoi Bittle」(ペトイ・ビトル) を購入して遊んでいました。 両方共にArduino互換ボードでサーボモーターを駆動する物ですが基本的なプログラムは提供されるのでとりあ...