GNU/Linux >> Linux の 問題 >  >> Debian

Debian10にPostGISPostgreSQL地理情報システムをインストールする方法

PostGISは、「地理情報システム」オブジェクトをPostgreSQLオブジェクトリレーショナルデータベースに追加できるオープンソースソフトウェアです。 PostGISは、サーバーが物理ディスクストレージからRAMに移行されるデータの量を増やすのに役立つ軽量ジオメトリを使用するように特別に設計されています。これは、ジオメトリおよび地理データ型を使用して空間データを格納するために使用されるPostgreSQLの拡張機能です。また、面積、距離、長さ、周囲長を決定し、データにインデックスを作成するための特別なクエリを実行するためにも使用されます。

このチュートリアルでは、Debian10にPostGISをインストールする方法を学びます。

前提条件
  • Debian10を実行しているサーバー。
  • ルートパスワードがサーバーに設定されています。
はじめに

開始する前に、システムのパッケージを最新バージョンに更新することをお勧めします。次のコマンドを使用して更新できます:

apt-get update -y
apt-get upgrade -y

すべてのパッケージが更新されたら、システムを再起動して変更を適用します。

PostgreSQLをインストール

開始する前に、PostgreSQLリポジトリをシステムに追加する必要があります。

まず、次のコマンドを使用してGPGキーをダウンロードして追加します。

apt-get install gnupg2 -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add -

次に、次のコマンドを使用してPostgreSQLリポジトリを追加します。

echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" | tee /etc/apt/sources.list.d/pgdg.list

次に、リポジトリを更新し、次のコマンドを使用してPostgreSQLサーバーをインストールします。

apt-get update -y
apt-get install postgresql-11 -y

インストールが完了したら、次のコマンドを使用してPostgreSQLサーバーのステータスを確認できます。

systemctl status postgresql

次の出力が得られるはずです:

? postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Sun 2020-04-12 04:58:43 UTC; 15s ago
 Main PID: 2665 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2359)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Apr 12 04:58:43 debian10 systemd[1]: Starting PostgreSQL RDBMS...
Apr 12 04:58:43 debian10 systemd[1]: Started PostgreSQL RDBMS.
PostGISをインストールする

この時点で、PostgreSQLサーバーがインストールされて実行されています。それでは、PostGISをインストールしましょう。

次のコマンドを実行するだけでインストールできます:

apt-get install postgis postgresql-11-postgis-2.5 -y

インストールしたら、次のステップに進むことができます。

PostgreSQLでPostGISをアクティブ化

次に、空間データを保存する前に、PostgreSQLデータベースとユーザーを作成し、データベースでPostGIS機能をアクティブ化する必要があります。

まず、次のコマンドを使用してPostgreSQLにログインします。

su - postgres

次に、次のコマンドを使用してユーザーとデータベースを作成します。

[email protected]:~$ createuser postgisuser
[email protected]:~$ createdb postgis_db -O postgisuser

次に、作成したデータベースに接続します。

[email protected]:~$ psql -d postgis_db

次の出力が得られるはずです:

psql (12.2 (Debian 12.2-2.pgdg100+1), server 11.7 (Debian 11.7-0+deb10u1))
Type "help" for help.

次に、データベースでPostGIS拡張機能を有効にします:

postgis_db=# CREATE EXTENSION postgis;

次に、PostGISが機能しているかどうかを確認します:

postgis_db=# SELECT PostGIS_version();

次の出力が得られるはずです:

            postgis_version            
---------------------------------------
 2.5 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
(1 row)

最後に、次のコマンドを使用してPostgreSQLシェルを終了します。

postgis_db=# \q
[email protected]:~$ exit
PostGIS用にPostgreSQLを最適化する

PostgreSQLは、小さなデータベースから大きなデータベースまで実行できるように設計されています。 PostGISデータベースオブジェクトはテキストデータに比べて大きいです。したがって、PostGISオブジェクトでより適切に機能するようにPostgreSQLを最適化する必要があります。

ファイル/etc/postgresql/11/main/postgresql.confを編集することで、PostgreSQLサーバーを最適化できます。 :

nano /etc/postgresql/11/main/postgresql.conf

システムのRAMに応じて、次のパラメータを変更します。

#This value should be around 75% of your server’s RAM.
shared_buffers = 1500M
#This allows PostgreSQL to cache more data in memory while it performs its sorting
work_mem = 64MB
#A checkpoint is a periodic action that stores information about your system
checkpoint_segments = 6
#This setting essentially is the amount of time that your optimizer should spend reading memory before reaching out to your disk.
random_page_cost = 2.0 

終了したら、ファイルを保存して閉じます。次に、PostgreSQLサービスを再起動して変更を実装します。

systemctl restart postgresql
結論

おめでとう!これで、PostgreSQLサーバーにPostGISが正常にインストールされました。これで、空間クエリ用にデータベースが構成されました。詳細については、PostGISのPostGISドキュメントをご覧ください。


Debian
  1. Debian9およびDebian8にPostgreSQL11/10をインストールする方法

  2. Debian 11 /Debian10にPostgreSQLをインストールする方法

  3. Debian9にphpPgAdminをインストールする方法

  1. Debian9にRをインストールする方法

  2. Debian9にPostgreSQLをインストールする方法

  3. Debian10にPostgreSQLをインストールする方法

  1. Debian10にRをインストールする方法

  2. Debian 11 /Debian10にpgAdminをインストールする方法

  3. Debian 11 /Debian10にphpPgAdminをインストールする方法