Android

Como listar bancos de dados e tabelas postgresql usando o psql

Curso de PostgreSQL - Criar e Excluir Bancos de Dados com psql e pgAdmin

Curso de PostgreSQL - Criar e Excluir Bancos de Dados com psql e pgAdmin

Índice:

Anonim

Ao administrar servidores de banco de dados PostgreSQL, uma das tarefas mais comuns que você provavelmente executará é listar os bancos de dados e suas tabelas.

O PostgreSQL vem com uma ferramenta interativa chamada psql que permite conectar-se ao servidor e executar consultas nele. Ao usar o psql você também pode tirar proveito de seus meta-comandos. Esses comandos são úteis para scripts e administração de linha de comando. Todos os meta-comandos começam com uma barra invertida sem aspas e também são conhecidos como comandos de barra invertida.

Este tutorial explica como mostrar bancos de dados e tabelas em um servidor PostgreSQL usando o psql .

Listando bancos de dados

Você pode se conectar ao servidor PostgreSQL usando o comando psql como qualquer usuário do sistema. Dependendo da configuração do servidor, o usuário pode precisar digitar sua senha para se conectar ao terminal psql. Para acessar o terminal psql como o usuário que está conectado no momento, basta digitar psql .

Quando o pacote PostgreSQL é instalado, um usuário administrativo chamado "postgres" é criado. Por padrão, esse usuário pode se conectar ao servidor PostgreSQL local sem uma senha.

Para acessar o terminal psql como usuário "postgres", execute:

sudo -u postgres psql O comando sudo permite executar comandos como outro usuário.

No terminal psql, execute o meta-comando \l ou \list para listar todos os bancos de dados:

\l

A saída incluirá o número de bancos de dados, o nome de cada banco de dados, seu proprietário, privilégios de codificação e acesso:

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

O servidor PostgreSQL possui três bancos de dados criados por padrão, template0, template1 e postgres. Os dois primeiros são modelos usados ​​ao criar novos bancos de dados.

Para obter uma lista de todos os bancos de dados sem acessar o shell psql, use a opção -c como mostrado abaixo:

sudo -u postgres psql -c "\l"

Outra maneira de listar os bancos de dados é usar a seguinte instrução SQL:

SELECT datname FROM pg_database;

Ao contrário do meta-comando \l , a consulta acima mostrará apenas os nomes dos bancos de dados:

datname ----------- postgres odoo template1 template0 (4 rows)

Tabelas de listagem

Para listar todas as tabelas de um banco de dados específico primeiro, é necessário conectar-se a ele usando o meta-comando \c ou \connect . O usuário no qual você efetuou login no terminal psql deve poder se conectar ao banco de dados.

Por exemplo, para conectar-se ao banco de dados denominado "odoo", digite:

\c odoo

Depois que o banco de dados for alternado, use o meta-comando \dt para listar todas as tabelas do banco de dados:

A saída incluirá o número das tabelas, o nome de cada tabela e seu esquema, tipo e proprietário:

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

Se o banco de dados estiver vazio, a saída será semelhante a esta:

No relations found.

Para obter informações sobre os tamanhos das tabelas e descrições, use \dt+ .

Conclusão

Você aprendeu a listar bancos de dados e tabelas do PostgreSQL usando o comando psql .

Sinta-se livre para deixar um comentário se tiver alguma dúvida.

postgresql