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>