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

Hvordan søger man efter en bestemt værdi i alle tabeller (PostgreSQL)?

Hvad med at dumpe indholdet af databasen og derefter bruge 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');

Det samme værktøj, pg_dump, kan inkludere kolonnenavne i outputtet. Bare skift --inserts til --column-inserts . På den måde kan du også søge efter specifikke kolonnenavne. Men hvis jeg ledte efter kolonnenavne, ville jeg nok dumpe skemaet i stedet for dataene.

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


  1. Minimal logning med INSERT...SELECT i tomme grupperede tabeller

  2. Hvad er den maksimale størrelse på VARCHAR2 i PL/SQL og SQL?

  3. MySQL DISTINCT på en GROUP_CONCAT()

  4. Hvad virtuelle filstater gør, og ikke gør, fortæller dig om I/O-forsinkelse