Me gustaría enumerar todas las tablas en la liferay
base de datos en mi instalación de PostgreSQL. ¿Cómo puedo hacer eso?
Me gustaría ejecutar SELECT * FROM applications;
en la liferay
base de datos. applications
es una tabla en mi liferay db. ¿Cómo se hace esto?
Aquí hay una lista de todas mis bases de datos:
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=#
fuente
information_schema.tables
incluye vistas por alguna razón. (En PostgreSQL 9.2, de todos modos.)table_type = 'VIEW'
, por lo que son fáciles de excluir. En general, SQL intenta tratar las vistas lo mismo que las tablas tanto como sea posible.Conéctese a la base de datos, luego enumere las tablas:
Así es como lo hago de todos modos.
Puede combinar esos dos comandos en una sola línea, si lo prefiere:
fuente
\dt *.*
si no todas las tablas de interés están en elsearch_path
.Para ver las mesas públicas puedes hacer
listas de tablas
lista de privilegios de tabla, vista y acceso
o solo los nombres de las tablas
fuente
En SQL Query, puede escribir este código:
Reemplace su esquema de tabla con YOUR_TABLE_SCHEME;
Ejemplo:
Para ver todo el esquema y todas las tablas, no hay necesidad de la cláusula where:
fuente
Un ejemplo de una línea es
en tu senario
fuente
Esto se puede usar en scripts de automatización si no necesita todas las tablas en todos los esquemas:
fuente
Puede escribir
\?
para obtener información sobre todos los comandos admitidos en psql.fuente