PostgreSQLサービス¶
pg_service.conf
ファイルにより、PostgreSQLサーバ接続に名前付きエイリアスを使用することができます。ホスト名、ポート、データベース名などをQGIS Projectファイルに格納する代わりに、これらを個別に格納することができます。ユーザー名とパスワードをpg_service.conf
ファイルに保存して、QGIS Projectに平文で保存されるのを防ぐこともできます。
PostgreSQLサービスについては、QGISドキュメントを参照してください。
QField - 直接接続¶
QGISからデータベースに直接接続する場合、QFieldのデータフォルダにpg_service.conf
ファイルを置くことで利用することができます。ファイルは内部デバイスストレージまたはSDカードストレージのいずれかに置くことができます。QFieldのデータフォルダのパスは、アプリのQFieldについて
画面の下にあります。
通常、Androidデバイスのパスは次のようになります: Android/data/ch.opengis.qfield/files/QField
.
備考
.pg_service.conf
というファイル名の*NIXシステムとは異なり、Androidのファイル名はpg_service.conf
で、先頭のドット記号(.
)はありません。
QFieldCloud¶
QFieldCloudはpg_service.conf
設定もサポートしています。"オフライン編集"クラウドアクションでPostgreSQLレイヤーを構成し、QFieldCloudプロジェクトのSecretsページにサービス設定を保存する必要があります。
QFieldCloudドキュメントのPostgreSQLサービスの設定方法を参照してください。
QGISとシークレットキーを使用してPostgreSQLに接続するためのpg_service.conf
ファイルの作成¶
始める前に、PostgreSQLデータベースがQFieldCloudからの接続を許可していることを確認してください。技術仕様を参照してください。
pg_service.conf
ファイルのセットアップ¶
最初に設定ファイルを作成する必要があります。PostgreSQLドキュメントを参照するか、以下の説明に従ってください。
-
設定ファイルを作成する:
-
Windowsの場合:
pg_service.conf
という名前のファイルを作成し、使いやすい場所に保存します。 -
Linux/MacOS/Unixの場合: ホームフォルダ (
~
) に.pg_service.conf
という名前のファイルを作成します。 -
接続パラメータを定義する:
ファイル内で、PostgreSQLデータベースの接続パラメータを以下の書式で指定します:
[SERVICE_NAME]
host=your_host_or_ip
port=your_port
dbname=your_database_name
user=your_username
password=your_password
プレースホルダー (your_host_or_ip
、your_port
、your_database_name
、your_username
、your_password
) を実際の接続情報に置き換えて、ファイルを保存します。
Windows用の追加設定手順¶
-
環境変数の設定: QGISが
pg_service.conf
を認識するようにするには、その場所を指す環境変数を作成します: -
「このPC」または「マイコンピュータ」>「プロパティ」>「詳細システム設定」>「環境変数」に移動します。
- 新しい変数を追加する:
- 変数名:
PGSERVICEFILE
- 変数の値:
C:\Users\<YourUsername>\AppData\Roaming\postgresql\pg_service.conf
(またはpg_service.conf
のファイルパス).
- 変数名:
また、QGISの「設定」>「オプション」>「システム」>「環境」で環境変数を直接設定することもできます。詳しくはQGISシステム設定を参照してください。
-
QGISで接続をテストする: QGIS を開き、接続の詳細で
pg_service.conf
で定義されているサービス名(例:[MY_QGIS_DB]
)を使用して新しい PostgreSQL 接続をセットアップします。QGISは自動的にpg_service.conf
から設定を読み込みます。 -
QGISを開きます。
- 「レイヤー」 > 「レイヤーを追加」 > 「PostGISレイヤーを追加…」 に進みます。
- 「新規のPostGIS接続の作成」で、ドロップダウンメニューから「サービス」を選択します。
- 「サービス」フィールドに
pg_service.conf
のサービス名(例:[NINJA_DB]
)を入力する。 - 「OK」をクリックすると、
pg_service.conf
の設定を使ってPostgreSQLデータベースに接続します。
- QFieldCloudシークレットにパラメータを追加する: プロジェクトのシークレットキーのページに移動し、
.pg_service.conf
からシークレットキーに直接サービスをコピーします。シークレットキーに従ってください。