mariadb と postgresql で機能比較しようとしたとき とりあえず Docker 環境で動かそうと思ったけど それぞれを別コンテナにしてネットワーク関係の設定をして というのは面倒だったので 1 つの fedora のコンテナにまとめて入れることに
だけどそうすると systemctl が使えなくていつもの方法が使えず困ったので systemd なしで初期化と起動する方法
コンテナは fedora34 を使用

◯ postgresql

インストール

dnf install postgresql postgresql-server

バージョンは 13
最初は initdb が必要だけど

postgresql-setup --initdb

は systemd が必要でエラーになる
代わりに pg_ctl コマンドを使う
-D で data フォルダの場所の指定が必要
postgres ユーザの必要があるので su コマンドを通す

su postgres -c "pg_ctl -D /var/lib/pgsql/data initdb"
su postgres -c "pg_ctl -D /var/lib/pgsql/data start"

これで起動できたので

psql -U postgres

で接続できる

◯ mariadb

インストール

dnf install mariadb mariadb-server

バージョンは 10.5
mariadb も root ユーザじゃなく mysql ユーザに変更が必要
root で mariadb-install-db を実行すると root ユーザのファイルになるので 起動時に権限不足でファイルが読めなくてエラーになって即終了してた
mysql ユーザはシェルが指定されてないみたいで -s で bash 指定が必要だった

su mysql -s /usr/bin/bash -c "mariadb-install-db"
su mysql -s /usr/bin/bash -c "/usr/bin/mysqld_safe --datadir=/var/lib/mysql"

上側の mariadb-install-db コマンドの出力に起動方法のコマンド (下側) が表示される