2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

PostGIS、PostgreSQLでよく使うコマンド(psql)

Last updated at Posted at 2022-01-24

はじめに

PostGISのデータベースを見るときにいろいろとコマンドを使います。メモをしているノートがちぎれてきたので、Qiitaにメモしておくことにします。適宜追加していければと思います。
(永遠に作業中・・・)

最初のうちは、PostGISのコマンドというよりPostgreSQLのコマンドが多いと思います。

環境

psql 10.15

よく使うコマンド

ログイン

psql -h hostname -p 5432 -U user -d database

ログアウト

\q

データベース切り替え

\C database

ユーザー確認、データベース確認、テーブル確認、ビューの確認、スキーマの確認 等

\du (ユーザーリスト確認)
\l  (データベースリスト)
\dt (テーブルリスト確認)
\dv (ビューリスト確認)
\dn (スキーマリスト確認)
\d schema_name.*  (スキーマ中のテーブルやビューを確認。)
\dv schema_name.*  (スキーマ中のテーブルやビューを確認。)
\dz (アクセス権限確認)

ビューやテーブルのコラム確認

SELECT column_name FROM information_schema.columns WHERE table_name='table_name';
SELECT column_name,data_type FROM information_schema.columns WHERE table_name='table_name'; (データタイプも確認できる)

数を数える

SELECT count(*) FROM table_or_view;

※小ネタ
テキストファイルで複数行のコマンドを書いておいて、コピペして実行すると楽。(もっと効率的なやり方がありそうですが・・・)
image.png

コラムにある値をみる、値ごとの数を数える

SELECT column-name FROM table_or_view GROUP BY column-name;
SELECT column-name,count(*) FROM table_or_view GROUP BY column-name;

ジオメトリを見たいとき

SELECT ST_AsGeoJSON(geom) FROM table_or_view;
SELECT ST_AsText(geom) FROM table_or_view;

フォントの変更

chcp 1252 (437で戻る)

おまけ:GDALでPostGISからGeoJSONに

ogr2ogr -f "GeoJSON" output.geojson PG:"host='hoge' port='5432' dbname='hoge' password='hoge'" -sql "SELECT * FROM table"

テキストシークエンスでみるとき↓。

ogr2ogr -f GeoJSONSeq -lco RS=YES /vsistdout/ PG:"host='hoge' port='5432' dbname='hoge' password='hoge'" -sql "SELECT * FROM table"

参考

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?