Lihat tabel di PostgreSQL

Apa's setara dengan tampilkan tabel (MySQL) di PostgreSQL?

Mengomentari pertanyaan (1)
Larutan

Dari psql command line interface,

Pertama, pilih database anda

\c database_name

Maka, ini menunjukkan semua tabel dalam skema sekarang:

\dt

Pemrograman (atau dari psql antarmuka juga, tentu saja):

SELECT * FROM pg_catalog.pg_tables;

Sistem tabel live di pg_catalog database.

Komentar (12)

Login sebagai superuser:

sudo -u postgres psql

Anda bisa daftar semua database dan pengguna dengan \l perintah, (daftar perintah lain oleh \?).

Sekarang jika anda ingin melihat database lain, anda dapat mengubah user/database dengan \c perintah seperti \c template1, \c postgres postgres dan menggunakan \d, \dt atau \dS untuk melihat tabel/views/dll.

Komentar (1)

(Kelengkapan)

Anda bisa juga query (SQL-standar) informasi skema:

SELECT
    table_schema || '.' || table_name
FROM
    information_schema.tables
WHERE
    table_type = 'BASE TABLE'
AND
    table_schema NOT IN ('pg_catalog', 'information_schema');
Komentar (2)

Anda dapat menggunakan PostgreSQL's interaktif terminal Psql untuk menunjukkan tabel di PostgreSQL.

1. Mulai Psql

Biasanya anda dapat menjalankan perintah berikut untuk masuk ke dalam psql:

psql DBNAME USERNAME

Misalnya, psql template1 postgres

Salah satu situasi yang mungkin anda miliki adalah: misalkan anda login sebagai root, dan anda don't ingat nama database. Anda hanya bisa masuk dulu ke dalam Psql dengan menjalankan:

sudo -u postgres psql

Dalam beberapa sistem, sudo perintah ini tidak tersedia, anda malah bisa menjalankan salah satu perintah di bawah ini:

psql -U postgres
psql --username=postgres

2. Tampilkan tabel

Sekarang di Psql anda bisa menjalankan perintah seperti:

  1. \? daftar semua perintah
  2. \l daftar database
  3. \conninfo menampilkan informasi tentang koneksi saat ini
  4. \c [DBNAME] terhubung ke database baru, misalnya, \c template1
  5. \dt daftar tabel skema umum
  6. \dt <skema-nama>.* daftar tabel skema tertentu, misalnya, \dt publik.*
  7. \dt *.* daftar tabel dari semua skema
  8. Kemudian anda dapat menjalankan pernyataan SQL, misalnya, SELECT * FROM my_table;(Catatan: pernyataan harus diakhiri dengan titik koma ;)
  9. \t keluar dari psql
Komentar (0)
  1. Pertama login sebagai user postgres:

sudo su - postgres

  1. menghubungkan diperlukan db: psql -d databaseName

  2. \dt akan kembali daftar semua tabel dalam database anda'kembali terhubung ke.

Komentar (0)

Menjalankan psql dengan -E bendera akan echo query yang digunakan secara internal untuk melaksanakan \dt dan serupa:

sudo -u postgres psql -E

postgres=# \dt       
********* QUERY **********
SELECT n.nspname as "Schema",
c.relname as "Name", 
CASE c.relkind WHEN 'r' THEN 'table' WHEN 'v' THEN 'view' WHEN 'i' THEN 'index' WHEN 'S' THEN 'sequence' WHEN 's' THEN 'special' END as "Type",
pg_catalog.pg_get_userbyid(c.relowner) as "Owner"
FROM pg_catalog.pg_class c
    LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','')
    AND n.nspname  'pg_catalog'
    AND n.nspname  'information_schema'
    AND n.nspname !~ '^pg_toast'
AND pg_catalog.pg_table_is_visible(c.oid)
ORDER BY 1,2;        
**************************
Komentar (1)

Login sebagai superuser sehingga anda dapat memeriksa semua database dan skema:-

sudo su - postgres

Kemudian kita bisa masuk ke postgresql shell dengan menggunakan perintah berikut:-

psql

Sekarang anda dapat memeriksa semua database daftar dengan menggunakan perintah berikut:-

\l

Jika anda ingin memeriksa ukuran database serta menggunakan:-

\l+

Tekan q untuk kembali.

Setelah anda telah menemukan database anda sekarang anda dapat terhubung ke database menggunakan perintah berikut:-

\c database_name

Setelah terhubung, anda dapat memeriksa database tabel atau skema oleh:-

\d

Sekarang untuk kembali ke shell menggunakan:-

q

Sekarang untuk lebih melihat rincian dari suatu tabel gunakan:-

\d table_name

Untuk kembali ke postgresql_shell tekan \t.

Dan untuk kembali ke terminal tekan keluar.

Komentar (0)

Jika anda hanya ingin melihat daftar tabel anda've dibuat, anda hanya dapat mengatakan:

\dt

Tapi kami juga memiliki POLA yang akan membantu anda menyesuaikan mana tabel untuk menunjukkan. Untuk menampilkan semua termasuk pg_catalog Skema, anda dapat menambahkan *.

\dt *

Jika anda lakukan: \?

\dt[S+] [PATTERN] daftar tabel

Komentar (0)

gunakan hanya melihat tabel

=> \dt

jika ingin melihat skema tabel

=>\dt+

jika anda ingin melihat spesifik skema tabel

=>\dt schema_name.* 
Komentar (1)

Pertama yang Terhubung dengan Database dengan menggunakan perintah berikut

\c database_name

Dan anda akan melihat pesan ini Anda sekarang terhubung ke database database_name. Dan mereka jalankan perintah berikut

SELECT * FROM table_name;

Di database_name dan table_name hanya update dengan database dan nama tabel

Komentar (1)

Jika anda menggunakan pgAdmin4 di PostgreSQL, anda dapat menggunakan ini untuk menampilkan tabel dalam database anda:

select * from information_schema.tables where table_schema='public';
Komentar (0)

Perhatikan, bahwa \dt sendiri akan daftar tabel di umum skema database anda're menggunakan. Saya ingin menyimpan tabel-tabel yang terpisah skema, sehingga jawaban yang diterima tidak't bekerja untuk saya.

Untuk daftar semua tabel dalam waktu tertentu skema, aku yang dibutuhkan untuk:

  1. Menghubungkan ke database yang diinginkan:
psql mydb
  1. Menentukan nama skema yang saya ingin lihat tabel untuk setelah \dt perintah, seperti ini:
\dt myschema.*

Ini menunjukkan saya hasil saya'm tertarik pada:

               List of relations
 Schema   |       Name      | Type  |  Owner   
----------+-----------------+-------+----------
 myschema | users           | table | postgres
 myschema | activity        | table | postgres
 myschema | roles           | table | postgres
Komentar (0)
select 
  * 
from 
  pg_catalog.pg_tables 
where 
  schemaname != 'information_schema' 
  and schemaname != 'pg_catalog';
Komentar (0)

\dt (tidak ada * diperlukan) -- akan menampilkan semua tabel yang ada di database anda sudah terhubung ke. Juga berguna untuk catatan:

\d [table_name] -- akan menampilkan semua kolom untuk tabel tertentu termasuk jenis informasi, referensi dan kunci kendala.

Komentar (0)

Anda dapat melihat daftar tabel pada database saat ini dengan \dt.

Fwiw, \d namatabel akan menampilkan rincian tentang tabel tertentu, sesuatu seperti show columns from namatabel di MySQL, tapi dengan sedikit informasi lebih lanjut.

Komentar (0)

Menggunakan psql : \dt

Atau:

SELECT c.relname AS Tables_in FROM pg_catalog.pg_class c
        LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE pg_catalog.pg_table_is_visible(c.oid)
        AND c.relkind = 'r'
        AND relname NOT LIKE 'pg_%'
ORDER BY 1
Komentar (0)

Pertama-tama anda harus terhubung dengan database anda seperti

database saya adalah ubuntu

gunakan perintah ini untuk menghubungkan

 \c ubuntu

Pesan ini akan menunjukkan

"Anda sekarang terhubung ke database "ubuntu" user "postgres"."

Sekarang

Jalankan perintah ini untuk menampilkan semua tabel di dalamnya

\d+
Komentar (0)

\dt akan daftar tabel, dan "\pset pager off" menunjukkan mereka dalam jendela yang sama, tanpa beralih ke yang terpisah satu. Cinta itu fitur untuk kematian di dbshell.

Komentar (0)

Untuk melihat asing tabel di psql, jalankan \dE

Komentar (0)

sebagai cepat oneliner

# just list all the postgres tables sorted in the terminal
db='my_db_name'
clear;psql -d $db -t -c '\dt'|cut -c 11-|perl -ne 's/^([a-z_0-9]*)( )(.*)/$1/; print'
Komentar (0)