簡體   English   中英

.schema for postgres

[英].schema for postgres

我正在將數據庫從sqlite3遷移到postgres,我想知道是否有任何簡短的教程可以教我新的語法。

另外,作為一個短期問題,我如何看到postgres表的模式,它等同於sqlite中的.schema

您可以使用pg_dump命令行實用程序,即:

pg_dump --table <table_name> --schema-only <database_name>

根據您的環境,您可能需要指定連接選項(-h,-p,-U開關)。

您可以在psql使用\\d

=> \?
...

Informational
  (options: S = show system objects, + = additional detail)
  \d[S+]                 list tables, views, and sequences
  \d[S+]  NAME           describe table, view, sequence, or index
...

=> \d people
                                           Table "public.people"
         Column         |            Type             |                      Modifiers                      
------------------------+-----------------------------+-----------------------------------------------------
 id                     | integer                     | not null default nextval('people_id_seq'::regclass)
 created_at             | timestamp without time zone | not null
 updated_at             | timestamp without time zone | not null
...
Indexes:
    "people_pkey" PRIMARY KEY, btree (id)
...
Check constraints:
    "chk_people_latlng" CHECK ((lat IS NULL) = (lng IS NULL))
....

如果你不在psql中,你也可以在information_schema根。

如果您正在使用psql(和\\ d ...),那么您可以

\set ECHO_HIDDEN

查看psql正在執行的查詢的sql以將\\ d ...輸出放在一起 - 這不僅可以用作sql語法示例,還可以顯示查找和如何連接數據庫元數據的位置。

要獲取表的模式名稱,您可以:

SELECT  n.nspname AS schema_name,
        c.relname AS table_name
FROM pg_catalog.pg_class c
     LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relname = '<table_name>'
;

(不知道與.schema相比如何)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM