Maison > base de données > tutoriel mysql > 利用管道迁移数据

利用管道迁移数据

WBOY
Libérer: 2016-06-07 16:09:48
original
1597 Les gens l'ont consulté

磁盘空间不足的情况下,利用命名或者匿名管道迁移和导入数据;需要注意命名管道的权限问题。 0. Name PIP 0[pg@h1 ~]$ psql gtlions -ac select t3 tab,count(*) from t3 union all select t4,count(*) from t4;select t3 tab,count(*) from t3 union all se


磁盘空间不足的情况下,利用命名或者匿名管道迁移和导入数据;需要注意命名管道的权限问题。

0. Name PIP 0
[pg@h1 ~]$ psql gtlions -ac "select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;"
select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;
 tab | count
-----+-------
 t3  |   100
 t4  |     0
(2 rows)
 
[pg@h1 ~]$ mknod syncpip p
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/sync'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/sync'"  
ERROR:  could not open file "/home/pg/sync" for reading: No such file or directory
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"        
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -ac "select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;"
select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;
 tab | count
-----+-------
 t3  |   100
 t4  |   400
(2 rows)
1. Name PIP 1
[pg@h1 ~]$ rm -rf sync*
[pg@h1 ~]$ mkfifo syncpip
[pg@h1 ~]$ ll syncpip
prw-rw-r-- 1 pg pg 0 11月  6 09:15 syncpip
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -ac "select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;"
select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;
 tab | count
-----+-------
 t3  |   100
 t4  |   800
(2 rows)
 
2. UnName PIP
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to stdout"|psql gtlions -p 5432 -c "copy t4 from stdin"                                      
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to stdout"|psql gtlions -p 5432 -c "copy t4 from stdin"  
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to stdout"|psql gtlions -p 5432 -c "copy t4 from stdin"  
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to stdout"|psql gtlions -p 5432 -c "copy t4 from stdin"  
[pg@h1 ~]$ psql gtlions -p 5432 -c "copy t3 to '/home/pg/syncpip'"|psql gtlions -p 5432 -c "copy t4 from '/home/pg/syncpip'"  
COPY 100
[pg@h1 ~]$ psql gtlions -ac "select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;"                        
select 't3' tab,count(*) from t3 union all select 't4',count(*) from t4;
 tab | count
-----+-------
 t3  |   100
 t4  |  1300
(2 rows)
Copier après la connexion


-EOF-
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal