0

Java を使用して PostgreSQL のバージョンを検索し、Java コードを使用して PostgreSQL サーバーを起動することは可能ですか?

バージョンを確認するために、PostgreSQL データ ディレクトリの下にバージョンがある PG_VERSION ファイルがありますが、このファイルは編集できるため、信頼できません。私を助けてください。どんな提案でも大歓迎です。

4

5 に答える 5

3

DatabaseMetaDataを使用してサーバーのバージョンを確認することもできます 。サーバーに関する情報を取得するためのヘルパー メソッドがあります。getDatabaseProductVersion()getDatabaseMajorVersion()は、getDatabaseMinorVersion() データベース サーバーのバージョンを示します。

于 2012-10-26T06:02:34.280 に答える
2

クイックグーグルでクエリを明らかにします:

select version();

JDBC を介して実行します。とにかく Java を使用します。postgresサーバー自体の実行に関しては、古い方法でRuntime.exec/ProcessBuilderうまくいくと思います。その上にある種のスクリプトを作成したいかもしれませんが、それが機能する方法は他にないと思います。

Linuxマシンで実行している場合は、サーバーをサービスとしてインストールしてそれぞれ実行する必要があるかもしれませんが、Javaの観点からは(本当にJavaから実行したい場合)、外部プロセスの呼び出しです。

お役に立てれば

于 2012-10-26T05:52:21.710 に答える
0

PG_VERSIONを編集すると、サーバーは起動しません。そうしないでください。一般に、PostgreSQL の data-dir は直接編集できません。

実行時SELECT version()に、実行中のサーバーのバージョンを取得するために使用できます。

サーバーは で起動および停止できますpg_ctlpostgres --versionサーバーが実行中かどうかに関係なく、サーバー バイナリのバージョンを確認できますpg_ctl --version

バイナリと datadir の場所は、サーバーのインストール方法に関して制御できるものです。

于 2012-10-26T05:52:36.980 に答える
0

クエリの実行: select version()
は、posgresql の正確なバージョンを提供します。

于 2012-10-26T06:34:54.593 に答える