sql >> データベース >  >> RDS >> PostgreSQL

PostgreSQLをインストールするためのBashスクリプト-機能しない

    スクリプトで明らかに間違っている部分は、su - postgresに続く行を予期していることです。 postgresユーザーとして実行されます。これは起こりません。

    バッチモードでは、su - postgres コマンドが入力されていないため、開始してすぐに終了します。次に、ユーザーがスクリプト(おそらくroot)を起動すると、スクリプトの次のコマンドが実行され、失敗します。

    代わりに、次のように書く必要があります:

    su - postgres <<-'EOF'
      /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/
      /usr/local/pgsql/bin/postmaster -D /usr/local/pgsql/data
      /usr/local/pgsql/bin/createdb test
    EOF
    # the lines after the EOF will be executed again as the initial user
    

    コメントの提案は、パッケージを介してpostgresqlをインストールしたことを前提としていますが、それは質問のコンテキストではありません。 ./configureを使用してソースからインストールする場合 引数なしでmake install/usr/local/pgsqlの外部には何もインストールされません 。 /etcの下に起動スクリプトがないのは完全に正常です。 この文脈で。




    1. レプリケーションに使用されるEBSボリュームのスナップショット

    2. MySql DBにデータを挿入し、挿入が成功したか失敗したかを表示します

    3. 航空会社がPostgresqlのDB内のすべての空港から出発するかどうかを表示するにはどうすればよいですか?

    4. 既存のテーブルの列に一意の制約を作成する方法-SQLServer/TSQLチュートリアルパート97