PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como pesquisar um valor específico em todas as tabelas (PostgreSQL)?


Que tal despejar o conteúdo do banco de dados e usar grep ?
$ pg_dump --data-only --inserts -U postgres your-db-name > a.tmp
$ grep United a.tmp
INSERT INTO countries VALUES ('US', 'United States');
INSERT INTO countries VALUES ('GB', 'United Kingdom');

O mesmo utilitário, pg_dump, pode incluir nomes de colunas na saída. Basta alterar --inserts para --column-inserts . Dessa forma, você também pode pesquisar nomes de colunas específicos. Mas se eu estivesse procurando por nomes de colunas, provavelmente despejaria o esquema em vez dos dados.
$ pg_dump --data-only --column-inserts -U postgres your-db-name > a.tmp
$ grep country_code a.tmp
INSERT INTO countries (iso_country_code, iso_country_name) VALUES ('US', 'United  States');
INSERT INTO countries (iso_country_code, iso_country_name) VALUES ('GB', 'United Kingdom');