Chciałbym wyświetlić wszystkie tabele w liferay
bazie danych w mojej instalacji PostgreSQL. W jaki sposób mogę to zrobić?
Chciałbym wykonać SELECT * FROM applications;
w liferay
bazie danych. applications
to tabela w mojej bazie danych Liferay. Jak to się robi?
Oto lista wszystkich moich baz danych:
postgres=# \list
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
liferay | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =Tc/postgres +
| | | | | postgres=CTc/postgres+
| | | | | liferay=CTc/postgres
lportal | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
postgres | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 |
template0 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_GB.UTF-8 | en_GB.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
(5 rows)
postgres=#
źródło
information_schema.tables
zawiera widoki z jakiegoś powodu. (W każdym razie w PostgreSQL 9.2.)table_type = 'VIEW'
, więc łatwo je wykluczyć. Zasadniczo SQL stara się traktować widoki tak samo, jak tabele, na ile to możliwe.Połącz się z bazą danych, a następnie wypisz tabele:
W każdym razie tak to robię.
Jeśli wolisz, możesz połączyć te dwa polecenia w jedną linię:
źródło
\dt *.*
jeśli nie wszystkie interesujące tabele są nasearch_path
.Aby zobaczyć stoły publiczne, możesz to zrobić
lista tabel
lista uprawnień do tabeli, widoku i dostępu
lub tylko nazwy tabel
źródło
W zapytaniu SQL możesz napisać następujący kod:
Zamień schemat tabeli na YOUR_TABLE_SCHEME;
Przykład:
Aby zobaczyć cały schemat i wszystkie tabele, nie ma potrzeby stosowania klauzuli where:
źródło
Przykładem jednowierszowym jest
w twoim senario
źródło
Można tego użyć w skryptach automatyzacji, jeśli nie potrzebujesz wszystkich tabel we wszystkich schematach:
źródło
Możesz wpisać,
\?
aby uzyskać informacje o wszystkich poleceniach obsługiwanych w psql.źródło