インストールせずにPostgreSQLを起動します

この質問は、あらゆる種類のフォーラムで頻繁に発生します。 「したがって、このレシピは共有する価値があります」と私たちは考えました。 そして、これは私たちと通常どのように起こるかです

タスク:ポータブルメディアからインストールせずに、デスクトップコンピューターまたはWindowsを実行しているサーバーでPostgreSQLサーバーを起動する。



本当に必要な状況があります。 たとえば、プログラムはインストールを必要としませんが、PostgreSQLサーバーを使用します。 または、このマシンにサーバーをインストール(更新)する権限がありません。

それで、あなたがする必要があること:

  1. 最初に、Windowsサーバー用のバイナリファイルが必要です。 既存のサーバーインストールからPostgreSQLフォルダー( データフォルダーを除く)をコピーするか、 PostgreSQL Windowsサイトセクションからファイルを単純にダウンロードできます。 .zipアーカイブが選択されていることを確認してください。
  2. 次に、以下のバッチファイルを新しいPostgreSQLフォルダーのルートにコピーします。
  3. 最初に使用するときは、 initdb呼び出しの行のコメントを外します。
  4. バッチファイルを実行します。


以下は、PostgreSQLサーバーを起動し、Enterキー(Enter)を押すとサービスを停止するスクリプトです。 このスクリプトは、PostgreSQL 9.0-betaを実行するスタンドアロンの開発およびテストキットの一部として使用します。 非標準ポート(これが9.0サーバーであることを知るために5439)でプロセスを実行します。 データベースを初めて初期化するには、 initdbコマンドを実行する必要があります。 データベースを一度だけ初期化します。 次に、必要に応じてフォルダをUSBデバイスに転送できます。 変数%CD%は、バッチファイルがあるフォルダーへのパスを返します。

@ ECHO ON
REM PostgreSQL
@ SET PATH = "%CD%\bin" ; %PATH%
@ SET PGDATA = %CD% \data
@ SET PGDATABASE = postgres
@ SET PGUSER = postgres
@ SET PGPORT =5439
@ SET PGLOCALEDIR = %CD% \share\locale
REM %CD%\bin\initdb -U postgres -A trust
%CD% \bin\pg_ctl -D %CD% /data -l logfile start
ECHO " Enter "
pause
%CD% \bin\pg_ctl -D %CD% /data stop

Source: https://habr.com/ru/post/J101678/


All Articles