0 レビュー
2 回答
php-psql-ロールルートが存在しません
PHPスクリプトでbashコマンドを作成します。ビルドされたコマンドは次のようなものです:
su postgres -c "for tbl in `psql -qAt -c \"select tablename from pg_tables where schemaname = 'public';\" demodoo` ;do psql -c \"alter table $tbl owner to postgres\" demodoo ;done "
このコマンドをシェルで実行しようとすると、次のエラーが発生します:
psql: FATAL: role "root" does not exist
postgresユーザーでコマンドを実行するのに、なぜこれが発生するのですか?
ありがとう
乾杯
編集
コマンドを
に変更します
sudo -u postgres for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" demodoo` ;do psql -c "alter table $tbl owner to postgres" demodoo ;done
しかし今、私は起源を理解できない別のエラーを受け取ります:
-bash: syntax error near unexpected token `do'
わからない
0
レビュー
答え :
解決策:
コマンドの内容を保存することで、最終的に機能させることができます
for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" demodoo` ;do psql -c "alter table $tbl owner to postgres" demodoo ;done
ファイルmyfile.shで、次のようにファイルを呼び出します:
sudo -u postgres / bin / bash myfile.sh
ご協力いただきありがとうございます
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。