Re: md5 of table
От | Merlin Moncure |
---|---|
Тема | Re: md5 of table |
Дата | |
Msg-id | CAHyXU0yGN+oV6PCqAWogwe9N8L+LTKiSm309XyfWBhjO5WM15g@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: md5 of table (Sim Zacks <sim@compulab.co.il>) |
Ответы |
Re: md5 of table
|
Список | pgsql-general |
2011/9/1 Sim Zacks <sim@compulab.co.il>: > >> OP: >>> >>> I thought about using dblink and the EXCEPT query, but then I need to >>> know the field list of each query result, which is a pain in the butt. >> >> That is not correct. As long as the table definitions are precisely >> the same, you can move records across dblink without specifying >> fields. You do this by using record type for the composite which >> dblink sends across as text. >> >> merlin > > Do you have a quick example? This is what I have tried: > > select * from tbla > except > select * from dblink('host=dbhost dbname=otherdb user=myuser > password=mypwd'::text, 'select * from tbla') > > The error I get back is: > ERROR: a column definition list is required for functions returning > "record" sure: select tbla from tbla except select t::tbla from dblink('host=dbhost dbname=otherdb user=myuser password=mypwd'::text, 'select tbla::text from tbla') R(t text); there's a bunch of ways to do that -- you can also do the md5 on the remote side so you can just send the digests. select * from tbla except select (t::tbla).* from dblink('host=dbhost dbname=otherdb user=myuser password=mypwd'::text, 'select tbla::text from tbla') R(t text); should also work. This *might* work -- I didn't try. It's been a while since I've used stock dblink. select * from tbla except select (t).* from dblink('host=dbhost dbname=otherdb user=myuser password=mypwd'::text, 'select tbla from tbla') R(t tbla); merlin
В списке pgsql-general по дате отправления: