PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Come cercare un valore specifico in tutte le tabelle (PostgreSQL)?

Che ne dici di scaricare il contenuto del database, quindi usare 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');

La stessa utility, pg_dump, può includere i nomi delle colonne nell'output. Basta cambiare --inserts a --column-inserts . In questo modo puoi anche cercare nomi di colonne specifici. Ma se dovessi cercare i nomi delle colonne, probabilmente scaricherei lo schema invece dei dati.

$ 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');