メインコンテンツにスキップ
PostgreSQLのテーブル一覧の取得方法
1分間の読み取り

Build the internal tools you need(Dashboard, Workflow Management, CRM, Support and Billing management...) in minutes.

PostgreSQLのテーブル一覧の取得方法

この記事では、PostgreSQLデータベース内のテーブルを一覧表示するための2つの方法を紹介します。PostgreSQLはデータベース内のすべてのテーブルを一覧表示する2つの方法を提供しています:

  • psqlツールで\dtまたは\dt+を使用して現在のデータベースのすべてのテーブルを一覧表示します。
  • pg_tablesテーブルからすべてのテーブルをクエリします。

\dtを使用してデータベース内のテーブルを一覧表示

この例では、psqlツールを使用してデータベースにログインし、データベース内のテーブルを一覧表示するプロセスを示しています。以下の手順に従ってください:

  1. postgresユーザーを使用してPostgreSQLサーバーにログインします:
[~] psql -U postgres
psql (14.4)
Type "help" for help.

注意:適切なデータベース権限を持つ任意のユーザーも使用できます。

  1. 以下のステートメントでtestdbデータベースを選択します:
\c testdb;

データベースがまだ作成されていない場合は、次のステートメントを実行します:

CREATE DATABASE testdb;
  1. \dtコマンドを使用してtestdbデータベースのすべてのテーブルを一覧表示します:
\dt
            リレーションの一覧
Schema | Name | Type | Owner
--------+----------------+-------+----------
public | mytable | table | postgres
public | product | table | postgres
public | test_date | table | postgres
public | test_time | table | postgres
public | test_timestamp | table | postgres
public | week_day_sales | table | postgres
(6 rows)
  1. テーブルに関する詳細情報を表示したい場合は、\dt+コマンドを使用します:
\dt+
                                          リレーションの一覧
Schema | Name | Type | Owner | Persistence | Access method | Size | Description
--------+----------------+-------+----------+-------------+---------------+------------+-------------
public | mytable | table | postgres | permanent | heap | 16 kB |
public | product | table | postgres | permanent | heap | 16 kB |
public | test_date | table | postgres | permanent | heap | 8192 bytes |
public | test_time | table | postgres | permanent | heap | 8192 bytes |
public | test_timestamp | table | postgres | permanent | heap | 8192 bytes |
public | week_day_sales | table | postgres | permanent | heap | 8192 bytes |
(6 rows)

\dt+の入力には、\dtの出力に加えてPersistenceAccess methodSize、およびDescriptionなどの列が含まれています。

pg_tablesテーブルからテーブルをクエリ

\dtおよび\dt+コマンドに加えて、pg_tablesテーブルから現在のデータベース内のすべてのテーブルをクエリすることもできます。

pg_tablesテーブルは、PostgreSQLの組み込みテーブルで、データベース内のすべてのテーブルを格納しています。

SELECT * FROM pg_tables
WHERE schemaname = 'public';
 schemaname |   tablename    | tableowner | tablespace | hasindexes | hasrules | hastriggers | rowsecurity
------------+----------------+------------+------------+------------+----------+-------------+-------------
public | test_date | postgres | | t | f | f | f
public | test_time | postgres | | t | f | f | f
public | test_timestamp | postgres | | t | f | f | f
public | week_day_sales | postgres | | t | f | f | f
public | mytable | postgres | | f | f | f | f
public | product | postgres | | t | f | f | f
(6 rows)

結論

PostgreSQLはデータベース内のすべてのテーブルを一覧表示するために2つの方法を提供しています:

  • psqlツールで\dtまたは\dt+を使用して現在のデータベースのすべてのテーブルを一覧表示します。
  • pg_tablesテーブルからすべてのテーブルをクエリします。

MySQLでは、データベースを一覧表示するためにSHOW TABLESコマンドを使用できます。

Related Articles

Remarkを使用してNext.jsブログにインタラクティブな目次を作成する

目次には多くの利点があり、特にブログなどのWebサイトにとって価値のある追加機能です。整理されたナビゲーションしやすい目次は、必要な情報を見つけるプロセスを読者にとって容易にすることでユーザーエクスペリエンスを大幅に向上させます。目次を追加することで、読者にシンプルなナビゲーションを提供するだけでなく、コンテンツの全体的なアクセシビリティと使いやすさを向上させることができます。

PostgreSQL SELECT ステートメント

この記事では、`PostgreSQL` の `SELECT` ステートメントの基本的な形式と、`SELECT` ステートメントを使用してテーブルからデータをクエリする方法について説明します。 `PostgreSQL` では、`SELECT` ステートメントは1つまたは複数のテーブルからデータを取得するために使用される可能性が最も高いステートメントです。

PostgreSQLのISNULLおよびISNOTNULLのベストプラクティス

この記事では、PostgreSQLの `IS NULL` 演算子を使用して値が `NULL` かどうかを確認する方法について説明します。PostgreSQLの `IS NULL` は、値が `NULL` かどうかを確認するブール演算子です。`NULL` 値は何も示さない特殊な値であり、空の文字列でもなく、falseでもありません。