Co jest równoważne show tables
(z MySQL) w PostgreSQL?
postgresql
Lecieć jak po sznurku
źródło
źródło
Odpowiedzi:
Od
psql
interfejsu wiersza poleceńNajpierw wybierz bazę danych
Następnie pokazuje wszystkie tabele w bieżącym schemacie:
Programowo (lub
psql
oczywiście również z interfejsu):Tabele systemowe znajdują się w
pg_catalog
bazie danych.źródło
\l
jest odpowiednikiemshow databases
MySQL.dt
≃show tables
il
≃show databases
\dt
jest bardzo przydatne. Tenpg_catalog.pg_tables
jest o wiele mniejszy, ponieważ wydaje się, że łączy on tabele wewnętrzne z tabelami utworzonymi przez użytkownika dla dowolnej bazy danych, z którą się łączysz.psql my_db_name
należy uruchomić,\dt
aby działać. Kiedy prowadziłempsql
bez nazwy bazy danych, otrzymałem komunikat „Nie znaleziono relacji”SELECT * FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema'
\c <DATABASE_NAME>
wybrać bazę danych.Zaloguj się jako administrator:
Możesz wyświetlić listę wszystkich baz danych i użytkowników według
\l
poleceń (listę innych poleceń według\?
).Teraz, jeśli chcesz zobaczyć innych baz danych można zmienić przez użytkownika / bazy
\c
poleceniem\c template1
,\c postgres postgres
i użytkowania\d
,\dt
lub\dS
zobaczyć tabele / widoki / etc.źródło
(Dla pełności)
Można również wykonać zapytanie do schematu informacyjnego (standard SQL) :
źródło
Możesz użyć interaktywnego terminalu PostgreSQL Psql, aby wyświetlić tabele w PostgreSQL.
1. Uruchom Psql
Zwykle możesz uruchomić następującą komendę, aby wejść do psql:
Na przykład,
psql template1 postgres
Jedną z możliwych sytuacji jest: załóżmy, że logujesz się jako root i nie pamiętasz nazwy bazy danych. Możesz po prostu wprowadzić najpierw Psql, uruchamiając:
W niektórych systemach polecenie sudo nie jest dostępne, możesz zamiast tego uruchomić dowolne z poniższych poleceń:
2. Pokaż tabele
Teraz w Psql możesz uruchamiać polecenia takie jak:
\?
wypisz wszystkie polecenia\l
listy baz danych\conninfo
wyświetlać informacje o bieżącym połączeniu\c [DBNAME]
połączyć się z nową bazą danych, np.\c template1
\dt
wyświetla tabele schematu publicznego\dt <schema-name>.*
wyświetla tabele niektórych schematów, np.\dt public.*
\dt *.*
wyświetla tabele wszystkich schematówSELECT * FROM my_table;
(Uwaga: instrukcja musi być zakończona średnikiem;
)\q
zamknij psqlźródło
Pierwsze logowanie jako użytkownik postgres:
sudo su - postgres
połącz z wymaganym db:
psql -d databaseName
\dt
zwróci listę wszystkich tabel w bazie danych, z którą jesteś połączony.źródło
Uruchomienie psql z flagą -E spowoduje wyświetlenie zapytania używanego wewnętrznie do implementacji \ dt i podobnych:
źródło
Zaloguj się jako administrator, aby sprawdzić wszystkie bazy danych i ich schematy: -
Następnie możemy dostać się do powłoki postgresql za pomocą następującego polecenia: -
Możesz teraz sprawdzić listę wszystkich baz danych za pomocą następującego polecenia: -
Jeśli chcesz również sprawdzić rozmiary baz danych, użyj: -
Naciśnij,
q
aby wrócić.Po znalezieniu bazy danych możesz teraz połączyć się z tą bazą danych za pomocą następującego polecenia: -
Po podłączeniu możesz sprawdzić tabele bazy danych lub schemat:
Teraz, aby powrócić do powłoki, użyj: -
Teraz, aby zobaczyć szczegóły dotyczące określonego stołu, użyj: -
Aby wrócić do postgresql_shell naciśnij
\q
.Aby powrócić do terminalu, naciśnij
exit
.źródło
Jeśli chcesz zobaczyć tylko listę utworzonych przez siebie tabel, możesz tylko powiedzieć:
\dt
Ale mamy również,
PATTERN
które pomogą Ci dostosować, które tabele mają być wyświetlane. Aby wyświetlić wszystkie, w tympg_catalog
schemat, możesz dodać*
.\dt *
Jeśli zrobisz:
\?
źródło
użyj tylko zobacz tabele
jeśli chcesz zobaczyć tabele schematów
jeśli chcesz zobaczyć określone tabele schematów
źródło
+
zS
. Ten ostatni (litera) pokazuje tabele schematów. Po+
prostu pokazuje dodatkowe informacje.Najpierw połącz się z bazą danych za pomocą następującego polecenia
I zobaczysz tę wiadomość -
You are now connected to database database_name
. I uruchamiają następujące polecenieW nazwa_bazy_danych i nazwa_tabeli wystarczy zaktualizować nazwę bazy danych i tabeli
źródło
Jeśli używasz pgAdmin4 w PostgreSQL, możesz użyć tego do wyświetlenia tabel w bazie danych:
źródło
Zauważ, że
\dt
sam będzie wyświetlał tabele publicznie schemacie używanej bazy danych. Lubię trzymać swoje tabele w osobnych schematach, więc zaakceptowana odpowiedź nie działała dla mnie.Aby wyświetlić listę wszystkich tabel w ramach określonego schematu , musiałem:
1) Połącz się z żądaną bazą danych:
2) Podaj nazwę schematu, dla której chcę zobaczyć tabele po
\dt
poleceniu, w następujący sposób:To pokazuje mi wyniki, którymi jestem zainteresowany:
źródło
źródło
\ dt (nie * wymagane) - wyświetli listę wszystkich tabel dla istniejącej bazy danych, z którą jesteś już połączony. Warto również zauważyć:
\ d [nazwa_tabeli] - pokaże wszystkie kolumny dla danej tabeli, w tym informacje o typie, referencje i kluczowe ograniczenia.
źródło
Możesz wyświetlić tabele w bieżącej bazie danych za pomocą
\dt
.Fwiw
\d tablename
pokaże szczegóły dotyczące danej tabeli, cośshow columns from tablename
w stylu MySQL, ale z nieco większą ilością informacji.źródło
Używając psql : \ dt
Lub:
źródło
Przede wszystkim musisz połączyć się z bazą danych jak
moja baza danych to ubuntu
użyj tego polecenia, aby się połączyć
Ta wiadomość pojawi się
Teraz
Uruchom to polecenie, aby wyświetlić wszystkie tabele
źródło
Najprostszym sposobem na wyświetlenie wszystkich tabel w wierszu poleceń jest, według mojego gustu:
Dla danej bazy danych po prostu dodaj nazwę bazy danych:
Działa zarówno w systemie Linux, jak i Windows.
źródło
jako szybki oneliner
lub jeśli wolisz dużo wyraźniejszy wielowarstwowy wydruk Json:
źródło
\ dt wyświetli listę tabel, a „\ pset pager wyłączony” pokazuje je w tym samym oknie, bez przełączania się na osobny. Uwielbiam tę funkcję na śmierć w dbshell.
źródło
Aby wyświetlić tabele obce w psql, uruchom
\dE
źródło
Najpierw wprowadź bazę danych, z którą chcesz się połączyć
Następnie pokazuje wszystkie tabele w bieżącym schemacie:
źródło
Najpierw możesz połączyć się ze swoją bazą danych postgres za pomocą postgre.app na Macu lub używając Postico. Uruchom następujące polecenie:
następnie wprowadź hasło, które powinno dać dostęp do twojej bazy danych
źródło