新しいロールを追加して、それでpsql起動しようとして失敗するのは、pg_hba.confの設定が原因。
https://www.postgresql.jp/docs/9.4/auth-pg-hba-conf.html
createuserに"-P"オプションで、パスワードをセットする形で追加。
postgres@vbox:~$ createuser -P testuser1
新しいロールのためのパスワード:
もう一度入力してください:
postgres@vbox:~$ psql
psql (16.8)
"help"でヘルプを表示します。
postgres=# \du
ロール一覧
ロール名 | 属性
-----------+------------------------------------------------------------------------------
postgres | スーパーユーザー, ロール作成可, DB作成可, レプリケーション可, RLS のバイパス
testuser1 |
postgres=# exit
postgres@vbox:~$ psql -U testuser1
psql: エラー: ソケット"/var/run/postgresql/.s.PGSQL.5432"のサーバーへの接続に失敗しました: FATAL: ユーザー"testuser1"で対向(peer)認証に失敗しました
postgres@vbox:~$"\du"で追加はされてるはずだが、認証に失敗。
postgres@vbox:~/data$ pwd /var/lib/pgsql/data postgres@vbox:~/data$ vi pg_hba.conf
このpg_hba.confを見ると、

localがpeerだと、"Linuxユーザ"のtestuser1で起動しないと認証失敗する。
root@vbox:/home/bg1# adduser testuser1 root@vbox:/home/bg1# passwd testuser1 新しいパスワード: 新しいパスワードを再入力してください: passwd: パスワードは正しく更新されました root@vbox:/home/bg1#
わざわざアカウント作成。
postgres@vbox:~$ su testuser1 パスワード: testuser1@vbox:/var/lib/pgsql$ psql -U testuser1 psql: エラー: ソケット"/var/run/postgresql/.s.PGSQL.5432"のサーバーへの接続に失敗しました: FATAL: データベース"testuser1"は存在しません testuser1@vbox:/var/lib/pgsql$ psql -U testuser1 -d postgres psql (16.8) "help"でヘルプを表示します。 postgres=>
あと、testuser1でpsql起動しようとすると、データベースもtestuser1を探しに行こうとして、まだ存在しないからエラーになる。
とりあえずデータベースをpostgresにすれば起動自体は成功する。