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