From 1ef8ac16fbf5c35e01fc1218e331939263278200 Mon Sep 17 00:00:00 2001 From: chenlongbo Date: Sun, 4 Feb 2024 18:39:51 +0800 Subject: [PATCH] feat: add postfresql list table post --- .../list-tables-in-postgresql.md | 112 ++++++++++++++++++ .../list-tables-in-postgresql.md | 112 ++++++++++++++++++ .../list-tables-in-postgresql.md | 112 ++++++++++++++++++ .../list-tables-in-postgresql.md | 112 ++++++++++++++++++ 4 files changed, 448 insertions(+) create mode 100644 blog/list-tables-in-postgresql/list-tables-in-postgresql.md create mode 100644 i18n/de/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md create mode 100644 i18n/ja/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md create mode 100644 i18n/zh/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md diff --git a/blog/list-tables-in-postgresql/list-tables-in-postgresql.md b/blog/list-tables-in-postgresql/list-tables-in-postgresql.md new file mode 100644 index 000000000..7b6439e5d --- /dev/null +++ b/blog/list-tables-in-postgresql/list-tables-in-postgresql.md @@ -0,0 +1,112 @@ +--- +slug: list-tables-in-postgresql +title: "How to list tables in PostgreSQL" +description: This article introduces two methods to list tables in a PostgreSQL database. PostgreSQL provides two ways to list all tables in a database. +authors: owen +image: https://cdn.illacloud.com/illa-website/blog/list-tables-in-postgresql/cover.webp +tags: [postgres, postgresql, database, list, tables, psql] +date: 2024-01-04T10:00 +--- + +This article introduces two methods to list tables in a PostgreSQL database. PostgreSQL provides two ways to list all tables in a database: + +- Use `\dt` or `\dt+` in the `psql` tool to list all tables in the current database. +- Query all tables from the `pg_tables` table. + +## List Tables in the Database Using \dt + +This example demonstrates the process of logging into the database using the `psql` tool and listing tables in the database. Follow these steps: + +1. Log in to the PostgreSQL server using the postgres user: + +```shell +[~] psql -U postgres +psql (14.4) +Type "help" for help. +``` + +Note: You can also use any user with the appropriate database permissions. + +2. Select the `testdb` database with the following statement: + +```shell +\c testdb; +``` + +If the database hasn't been created yet, run the following statement: + +```shell +CREATE DATABASE testdb; +``` + +3. Use the `\dt` command to list all tables in the `testdb` database: + +```shell +\dt +``` + +```shell + List of relations +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) +``` + +4. If you want to view more information about the tables, use the `\dt+` command: + +```shell +\dt+ +``` + +```shell + List of relations +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) +``` + +You can see that the input of `\dt+` includes columns such as `Persistence`, `Access method`, `Size`, and `Description` in addition to the output of `\dt`. + +## Query Tables from the pg_tables Table + +In addition to the `\dt` and `\dt+` commands, you can also query all tables in the current data from the `pg_tables` table. + +The `pg_tables` table is a built-in table in PostgreSQL that stores all tables in the database. + +```shell +SELECT * FROM pg_tables +WHERE schemaname = 'public'; +``` + +```shell + 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) +``` + +## Conclusion + +PostgreSQL provides two ways to list all tables in a database: + +- Use `\dt` or `\dt+` in the psql tool to list all tables in the current database. +- Query all tables from the `pg_tables` table. + +In MySQL, you can use the `SHOW TABLES` command to list databases. \ No newline at end of file diff --git a/i18n/de/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md b/i18n/de/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md new file mode 100644 index 000000000..239cb6fb3 --- /dev/null +++ b/i18n/de/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md @@ -0,0 +1,112 @@ +--- +slug: list-tables-in-postgresql +title: "Wie man Tabellen in PostgreSQL auflistet" +description: Dieser Artikel stellt zwei Methoden vor, um Tabellen in einer PostgreSQL-Datenbank aufzulisten. PostgreSQL bietet zwei Möglichkeiten, alle Tabellen in einer Datenbank aufzulisten. +authors: owen +image: https://cdn.illacloud.com/illa-website/blog/list-tables-in-postgresql/cover.webp +tags: [postgres, postgresql, database, list, tables, psql] +date: 2024-01-04T10:00 +--- + +Dieser Artikel stellt zwei Methoden vor, um Tabellen in einer PostgreSQL-Datenbank aufzulisten. PostgreSQL bietet zwei Möglichkeiten, alle Tabellen in einer Datenbank aufzulisten: + +- Verwenden Sie `\dt` oder `\dt+` im `psql`-Tool, um alle Tabellen in der aktuellen Datenbank aufzulisten. +- Abfragen Sie alle Tabellen aus der Tabelle `pg_tables`. + +## Auflisten von Tabellen in der Datenbank mit \dt + +Dieses Beispiel zeigt den Vorgang des Einloggens in die Datenbank mit dem `psql`-Tool und dem Auflisten von Tabellen in der Datenbank. Befolgen Sie diese Schritte: + +1. Melden Sie sich beim PostgreSQL-Server mit dem Benutzer postgres an: + +```shell +[~] psql -U postgres +psql (14.4) +Type "help" for help. +``` + +Hinweis: Sie können auch einen Benutzer mit den entsprechenden Datenbankberechtigungen verwenden. + +2. Wählen Sie die Datenbank `testdb` mit der folgenden Anweisung aus: + +```shell +\c testdb; +``` + +Wenn die Datenbank noch nicht erstellt wurde, führen Sie die folgende Anweisung aus: + +```shell +CREATE DATABASE testdb; +``` + +3. Verwenden Sie das Kommando `\dt`, um alle Tabellen in der Datenbank `testdb` aufzulisten: + +```shell +\dt +``` + +```shell + Liste der Relationen +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) +``` + +4. Wenn Sie weitere Informationen zu den Tabellen anzeigen möchten, verwenden Sie das Kommando `\dt+`: + +```shell +\dt+ +``` + +```shell + Liste der Relationen +Schema | Name | Type | Owner | Persistence | Access method | Size | Beschreibung +--------+----------------+-------+----------+-------------+---------------+------------+------------- +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) +``` + +Sie sehen, dass die Eingabe von `\dt+` zusätzliche Spalten wie `Persistence`, `Access method`, `Size` und `Beschreibung` enthält, zusätzlich zur Ausgabe von `\dt`. + +## Abfragen von Tabellen aus der Tabelle pg_tables + +Neben den Befehlen `\dt` und `\dt+` können Sie auch alle Tabellen in den aktuellen Daten aus der Tabelle `pg_tables` abfragen. + +Die Tabelle `pg_tables` ist eine integrierte Tabelle in PostgreSQL, die alle Tabellen in der Datenbank speichert. + +```shell +SELECT * FROM pg_tables +WHERE schemaname = 'public'; +``` + +```shell + 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) +``` + +## Fazit + +PostgreSQL bietet zwei Möglichkeiten, alle Tabellen in einer Datenbank aufzulisten: + +- Verwenden Sie `\dt` oder `\dt+` im psql-Tool, um alle Tabellen in der aktuellen Datenbank aufzulisten. +- Abfragen Sie alle Tabellen aus der Tabelle `pg_tables`. + +In MySQL können Sie den Befehl `SHOW TABLES` verwenden, um Datenbanken aufzulisten. \ No newline at end of file diff --git a/i18n/ja/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md b/i18n/ja/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md new file mode 100644 index 000000000..2f74a971e --- /dev/null +++ b/i18n/ja/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md @@ -0,0 +1,112 @@ +--- +slug: list-tables-in-postgresql +title: "PostgreSQLのテーブル一覧の取得方法" +description: この記事では、PostgreSQLデータベース内のテーブルを一覧表示するための2つの方法を紹介します。PostgreSQLはデータベース内のすべてのテーブルを一覧表示する2つの方法を提供しています。 +authors: owen +image: https://cdn.illacloud.com/illa-website/blog/list-tables-in-postgresql/cover.webp +tags: [postgres, postgresql, database, list, tables, psql] +date: 2024-01-04T10:00 +--- + +この記事では、PostgreSQLデータベース内のテーブルを一覧表示するための2つの方法を紹介します。PostgreSQLはデータベース内のすべてのテーブルを一覧表示する2つの方法を提供しています: + +- `psql`ツールで`\dt`または`\dt+`を使用して現在のデータベースのすべてのテーブルを一覧表示します。 +- `pg_tables`テーブルからすべてのテーブルをクエリします。 + +## \dtを使用してデータベース内のテーブルを一覧表示 + +この例では、`psql`ツールを使用してデータベースにログインし、データベース内のテーブルを一覧表示するプロセスを示しています。以下の手順に従ってください: + +1. postgresユーザーを使用してPostgreSQLサーバーにログインします: + +```shell +[~] psql -U postgres +psql (14.4) +Type "help" for help. +``` + +注意:適切なデータベース権限を持つ任意のユーザーも使用できます。 + +2. 以下のステートメントで`testdb`データベースを選択します: + +```shell +\c testdb; +``` + +データベースがまだ作成されていない場合は、次のステートメントを実行します: + +```shell +CREATE DATABASE testdb; +``` + +3. `\dt`コマンドを使用して`testdb`データベースのすべてのテーブルを一覧表示します: + +```shell +\dt +``` + +```shell + リレーションの一覧 +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) +``` + +4. テーブルに関する詳細情報を表示したい場合は、`\dt+`コマンドを使用します: + +```shell +\dt+ +``` + +```shell + リレーションの一覧 +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`の出力に加えて`Persistence`、`Access method`、`Size`、および`Description`などの列が含まれています。 + +## pg_tablesテーブルからテーブルをクエリ + +`\dt`および`\dt+`コマンドに加えて、`pg_tables`テーブルから現在のデータベース内のすべてのテーブルをクエリすることもできます。 + +`pg_tables`テーブルは、PostgreSQLの組み込みテーブルで、データベース内のすべてのテーブルを格納しています。 + +```shell +SELECT * FROM pg_tables +WHERE schemaname = 'public'; +``` + +```shell + 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`コマンドを使用できます。 \ No newline at end of file diff --git a/i18n/zh/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md b/i18n/zh/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md new file mode 100644 index 000000000..354d4bc62 --- /dev/null +++ b/i18n/zh/docusaurus-plugin-content-blog/list-tables-in-postgresql/list-tables-in-postgresql.md @@ -0,0 +1,112 @@ +--- +slug: list-tables-in-postgresql +title: "PostgreSQL表格清单获取方法" +description: 本文介绍了在PostgreSQL数据库中列出所有表格的两种方法。PostgreSQL提供了两种方法来列出数据库中的所有表格。 +authors: owen +image: https://cdn.illacloud.com/illa-website/blog/list-tables-in-postgresql/cover.webp +tags: [postgres, postgresql, database, list, tables, psql] +date: 2024-01-04T10:00 +--- + +本文介绍了在PostgreSQL数据库中列出所有表格的两种方法。PostgreSQL提供了两种方法来列出数据库中的所有表格: + +- 使用`psql`工具的`\dt`或`\dt+`命令列出当前数据库中的所有表格。 +- 通过查询`pg_tables`表列出所有表格。 + +## 使用\dt列出数据库中的表格 + +以下示例演示了使用`psql`工具登录数据库并列出其中表格的过程。请按照以下步骤操作: + +1. 使用postgres用户登录到PostgreSQL服务器: + +```shell +[~] psql -U postgres +psql (14.4) +Type "help" for help. +``` + +注意:也可以使用具有适当数据库权限的任何用户。 + +2. 使用以下语句选择`testdb`数据库: + +```shell +\c testdb; +``` + +如果数据库尚未创建,请执行以下语句: + +```shell +CREATE DATABASE testdb; +``` + +3. 使用`\dt`命令列出`testdb`数据库中的所有表格: + +```shell +\dt +``` + +```shell + Relations List +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) +``` + +4. 若要查看有关表格的详细信息,请使用`\dt+`命令: + +```shell +\dt+ +``` + +```shell + Relations List +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`输出以及额外列,如`Persistence`、`Access method`、`Size`和`Description`。 + +## 从pg_tables表中查询表格 + +除了`\dt`和`\dt+`命令外,还可以通过查询`pg_tables`表列出当前数据库中的所有表格。 + +`pg_tables`表是PostgreSQL的内置表,用于存储数据库中的所有表格。 + +```shell +SELECT * FROM pg_tables +WHERE schemaname = 'public'; +``` + +```shell + 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提供了两种列出数据库中所有表格的方法: + +- 使用`psql`工具的`\dt`或`\dt+`命令列出当前数据库中的所有表格。 +- 通过查询`pg_tables`表列出所有表格。 + +在MySQL中,可以使用`SHOW TABLES`命令列出数据库中的表格。 \ No newline at end of file