Проект

Общее

Профиль

Dump-cut » История » Редакция 5

Редакция 4 (Андрей Волков, 2015-04-13 17:16) → Редакция 5/9 (Андрей Волков, 2015-04-13 17:23)

h1. Dump-cut 

 Перобразование дампа в схему: 

 <pre> 
 nice -n19 bzcat db.backup-2011-07-15.sql.bz2 \ 
 |nice -n19 awk ' 
 BEGIN{ 
  search_comment=1; sc=1; 
  search_data=0; sd=0; 
  write_out=1 wr=1 
 } 
 { 
  if ((search_comment==0)&&(search_data==1)&&($0 ((sc==0)&&(sd==1)&&($0 ~ /^COPY /)) { 
   write_out=0; wr=0; 
   printf ("\n%s",$2) >"/dev/stderr" 
  } 
  if ((search_comment==1)&&($0 ((sc==1)&&($0 ~ /^-- Data for Name: /)) { 
   search_data=1; sd=1; 
   search_comment=0; sc=0; 
  }; 
  if (write_out==1) (wr==1) print $0; 
  if ((write_out==0)&&($0 ((wr==0)&&($0 ~ /^\\\.$/)) { 
   write_out=1; wr=1; 
   search_data=0; sd=0; 
   search_comment=1 sc=1 
  }; 
  if (NR%1000==0) printf "." > "/dev/stderr" 
 } 
 END{ 
  printf "\nDONE\n" > "/dev/stderr" 
 }' \ 
 |nice -n19 bzip2 -9 > db-cut.backup-2011-07-15-schema.sql.bz2 
 </pre> 

 h2. Выкусывание таблиц из дампа 

 <pre> 
 pv -petraW blizko.backup-2014-01-30.sql.bz2 | nice -n19 bunzip2 | nice -n19 sed -e -n '/^COPY products (.*) FROM stdin;$/,/^\\.$/p;/^\\.$/q' | nice -n19 gzip -3 > products-2014-01-30_00-51.sql.gz 
 </pre>