
'COPY' Statement
--_000_7965A9DCF12CC14984420BCC37B1608F25ABF318EDElzargrantc ou_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Dear all,
I just had a thought, another one. Please the guys who have the powerful kn=
owledge I need your help ;-)
Let's suppose
I have Three DB servers ,physical servers - let's call them:
* Original_DB01
* New_DB02
* Third_DB03
1 - Let's suppose I have a PostgreSQL on 'Original_DB01' server with a Data=
Base of 162GB in size.
2 - Let's suppose I buy a new server 'New_DB02' - all singing all dancing c=
ool server, RAID10, 25GB RAM, 64Bit etc.
3 - Let's suppose I backup the old server with pg_dump to a file "pg_dump_o=
riginal_DB01"
4 - Let's also suppose I backup the schema only from 'Original_DB01'and res=
tore it to 'Third_DB03'.
5 - Straight after I backup the schema, I stop PostgreSQL on 'Original_DB01=
'.
6 - Then I restore the schema to 'Third_DB03' and point the application to =
it.
7 - Let's suppose the application can create tables and can start using the=
database on 'Third_DB03' and adding new data.
8 - Let's suppose I restore the FULL pg_dump file "pg_dump_original_DB01" =
to 'New_DB02'
9 - Once the pg_dump has been restored to 'New_DB02' I can then point the a=
pplication to it and data will be added to it straight away.
Question:
10 - Can I use 'COPY' statement to transfer the data from 'Third_DB03' to '=
New_DB02' without 'WIPING' or Deleting the existing data?
I want to merge the DATA from 'Third_DB03' to 'New_DB02' without deleting t=
he Database or the existing data on the existing database.
Let me explain the Idea behind this craziness.
I am using 'Third_DB03' because the amount of data to be transferred from i=
t, will be minimum, and easy to and quick to 'COPY'
This application has two part components (Data and Alarms)
We can get the data back in a very hard way, but without the data being in =
the database we can't generate alarms.
I would very much appreciate all your help on this idea, please.
I would be very glad and grateful for any comments and improvements on this=
idea, picking the holes etc.
Thank you very much in advance
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk
Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk<http://www.grant.co.uk/>
Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is conf=
idential. It is intended only for the named recipients(s). If you are not t=
he named recipient please notify the sender immediately and do not disclose=
the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain viruses w=
hich could damage your own computer system. Whilst Grant Instruments (Cambr=
idge) Ltd has taken every reasonable precaution to minimise this risk, we c=
annot accept liability for any damage which you sustain as a result of soft=
ware viruses. You should therefore carry out your own virus checks before o=
pening the attachment(s).
OpenXML: For information about the OpenXML file format in use within Grant =
Instruments please visit our website<http://www.grant.co.uk/Support/openxml=
..html>
--_000_7965A9DCF12CC14984420BCC37B1608F25ABF318EDElzargrantc ou_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<HTML xmlns=3D"http://www.w3.org/TR/REC-html40" xmlns:m=3D"http://schemas.m=
icrosoft.com/office/2004/12/omml" xmlns:o=3D"urn:schemas-microsoft-com:offi=
ce:office" xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:w=3D"urn:schemas=
-microsoft-com:office:word"><head><META content=3D"text/html; charset=3Dus-=
ascii" http-equiv=3D"Content-Type">
<META content=3D"text/html; charset=3Dus-ascii" http-equiv=3D"Content-Type"=
>
<meta content=3D"text/html; charset=3Dus-ascii" http-equiv=3DContent-Type>
<meta content=3D"Microsoft Word 12 (filtered medium)" name=3DGenerator>
<style>
<!--
/* Font Definitions */
[at] font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
[at] font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
[at] font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0cm;
margin-right:0cm;
margin-bottom:0cm;
margin-left:36.0pt;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
..MsoChpDefault
{mso-style-type:export-only;}
[at] page Section1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
{page:Section1;}
/* List Definitions */
[at] list l0
{mso-list-id:629239429;
mso-list-type:hybrid;
mso-list-template-ids:-1013908986 552896410 134807555 134807557 134807553 =
134807555 134807557 134807553 134807555 134807557;}
[at] list l0:level1
{mso-level-start-at:10;
mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head><BODY>
<DIV STYLE=3D"FONT-SIZE: 9pt; FONT-FAMILY: Courier New">
<DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2">
<div class=3DSection1>
<p class=3DMsoNormal>Dear all,<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>I just had a thought, another one. Please the guys who=
have
the powerful knowledge I need your help ;-)<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>Let’s suppose<o:p></o:p></p>
<p class=3DMsoNormal>I have Three DB servers ,physical servers –=
; let’s
call them: <o:p></o:p></p>
<p class=3DMsoListParagraph style=3D'text-indent:-18.0pt;mso-list:l0 level1=
lfo1'><![if !supportLists]><span style=3D'font-family:Symbol'><span style=
=3D'mso-list:Ignore'>·<span style=3D'font:7.0pt "Times New Roman"'>&=
nbsp;
</span></span></span><![endif]>Original_DB01<o:p></o:p></p>
<p class=3DMsoListParagraph style=3D'text-indent:-18.0pt;mso-list:l0 level1=
lfo1'><![if !supportLists]><span style=3D'font-family:Symbol'><span style=
=3D'mso-list:Ignore'>·<span style=3D'font:7.0pt "Times New Roman"'>&=
nbsp;
</span></span></span><![endif]>New_DB02<o:p></o:p></p>
<p class=3DMsoListParagraph style=3D'text-indent:-18.0pt;mso-list:l0 level1=
lfo1'><![if !supportLists]><span style=3D'font-family:Symbol'><span style=
=3D'mso-list:Ignore'>·<span style=3D'font:7.0pt "Times New Roman"'>&=
nbsp;
</span></span></span><![endif]>Third_DB03<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>1 – Let’s suppose I have a PostgreSQL on &=
#8216;Original_DB01’
server with a Data Base of 162GB in size.<o:p></o:p></p>
<p class=3DMsoNormal>2 – Let’s suppose I buy a new server ̵=
6;New_DB02’
- all singing all dancing cool server, RAID10, 25GB RAM, 64Bit etc.<o:p></o=
:p></p>
<p class=3DMsoNormal>3 – Let’s suppose I backup the old server =
with
pg_dump to a file “pg_dump_original_DB01”<o:p></o:p></p>
<p class=3DMsoNormal>4 – Let’s also suppose I backup the schema=
only
from ‘Original_DB01’and restore it to ‘Third_DB03’.=
<o:p></o:p></p>
<p class=3DMsoNormal>5 – Straight after I backup the schema, I stop P=
ostgreSQL
on ‘Original_DB01’.<o:p></o:p></p>
<p class=3DMsoNormal>6 – Then I restore the schema to ‘Third_DB=
03’
and point the application to it.<o:p></o:p></p>
<p class=3DMsoNormal>7 – Let’s suppose the application can crea=
te
tables and can start using the database on ‘Third_DB03’ and add=
ing
new data.<o:p></o:p></p>
<p class=3DMsoNormal>8 – Let’s suppose I restore the FULL  =
;pg_dump
file “pg_dump_original_DB01” to ‘New_DB02’<o:p></o:=
p></p>
<p class=3DMsoNormal>9 – Once the pg_dump has been restored to ‘=
;New_DB02’
I can then point the application to it and data will be added to it straigh=
t
away.<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>Question:<o:p></o:p></p>
<p class=3DMsoNormal>10 – Can I use ‘COPY’ statement to
transfer the data from ‘Third_DB03’ to ‘New_DB02’ w=
ithout
‘WIPING’ or Deleting the existing data?<o:p></o:p></p>
<p class=3DMsoNormal>I want to merge the DATA from ‘Third_DB03’=
to ‘New_DB02’
without deleting the Database or the existing data on the existing database=
..<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>Let me explain the Idea behind this craziness.<o:p></o=
:p></p>
<p class=3DMsoNormal>I am using ‘Third_DB03’ because the amount=
of
data to be transferred from it, will be minimum, and easy to and quick to &=
#8216;COPY’<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>This application has two part components (Data and Ala=
rms) <o:p></o:p></p>
<p class=3DMsoNormal>We can get the data back in a very hard way, but witho=
ut the
data being in the database we can’t generate alarms.<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>I would very much appreciate all your help on this ide=
a,
please.<o:p></o:p></p>
<p class=3DMsoNormal>I would be very glad and grateful for any comments and
improvements on this idea, picking the holes etc.<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>Thank you very much in advance<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal>Renato<o:p></o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
<p class=3DMsoNormal><o:p> </o:p></p>
</div>
</FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2">Renato=
Oliveira<BR>Systems Administrator<BR>e-mail: renato.oliveira [at] grant.co.uk</=
FONT></FONT><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"=
></FONT></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2">Tel: +=
44 (0)1763 260811<BR>Fax: +44 (0)1763 262410<BR><A HREF=3D"http://www.grant=
..co.uk/">www.grant.co.uk</A></FONT></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2">Grant =
Instruments (Cambridge) Ltd <BR> <BR>Company registered in England, re=
gistration number 658133<BR> <BR>Registered office address:<BR>29 Stat=
ion Road, <BR>Shepreth, <BR>CAMBS SG8 6GB <BR>UK</FONT></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></F=
ONT></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT></DIV>
<DIV> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><FONT FACE=3D"Arial" SIZE=3D"2"></FONT=
></FONT></DIV>
<DIV> </DIV> </DIV>
<DIV>
<P CLASS=3D"MsoNormal"><EM><B><SPAN LANG=3D"EN-US" STYLE=3D"FONT-SIZE: 18pt=
; COLOR: green; FONT-FAMILY: Webdings"></SPAN></B></EM> </P>
<P CLASS=3D"MsoNormal"><EM><B><SPAN LANG=3D"EN-US" STYLE=3D"FONT-SIZE: 18pt=
; COLOR: green; FONT-FAMILY: Webdings">P</SPAN></B></EM><EM><B><SPAN LANG=
=3D"EN-US" STYLE=3D"FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Verdana','=
sans-serif'"> </SPAN></B></EM><STRONG><I><SPAN STYLE=3D"FONT-SIZE: 7.5pt; C=
OLOR: green; FONT-FAMILY: 'Arial','sans-serif'">Please consider the environ=
ment before printing this email</SPAN></I></STRONG></P></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><STRONG>CONFIDENTIALITY</STRONG>: The =
information in this e-mail and any attachments is confidential. It is inten=
ded only for the named recipients(s). If you are not the named recipient pl=
ease notify the sender immediately and do not disclose the contents to anot=
her person or take copies. </FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"></FONT> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><STRONG></STRONG></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><STRONG>VIRUSES:</STRONG> The contents=
of this e-mail or attachment(s) may contain viruses which could damage you=
r own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken e=
very reasonable precaution to minimise this risk, we cannot accept liabilit=
y for any damage which you sustain as a result of software viruses. You sho=
uld therefore carry out your own virus checks before opening the attachment=
(s).</FONT></DIV>
<DIV> </DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"></FONT></DIV>
<DIV><FONT FACE=3D"Arial" SIZE=3D"2"><STRONG>OpenXML</STRONG>: For informat=
ion about the OpenXML file format in use within Grant Instruments please vi=
sit our <A HREF=3D"http://www.grant.co.uk/Support/openxml.html">website</A>=
</FONT></DIV></DIV></BODY></HTML>
--_000_7965A9DCF12CC14984420BCC37B1608F25ABF318EDElzargrantc ou_--
Re: 'COPY' Statement
--=-JZw98idRUCKZ4xHbFg7j
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
I think it depends of your datamodel and specifically of your table
constraints.
For example, if you have a table with a pk generated by a sequence, you
will have to deal with it before importing into your New_DB02. But for a
plain log table without constrains you can dump it an import into your
"just loaded" New_DB02 without any problem.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: pgsql-admin [at] postgresql.org <pgsql-admin [at] postgresql.org>
Cc: Steve Fisher <steve.fisher [at] grant.co.uk>
Subject: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 08:42:19 +0100
Dear all,
I just had a thought, another one. Please the guys who have the powerful
knowledge I need your help ;-)
Let=E2=80=99s suppose
I have Three DB servers ,physical servers =E2=80=93 let=E2=80=99s call t=
hem:
=C2=B7 Original_DB01
=C2=B7 New_DB02
=C2=B7 Third_DB03
1 =E2=80=93 Let=E2=80=99s suppose I have a PostgreSQL on =E2=80=98Origina=
l_DB01=E2=80=99 server with a
Data Base of 162GB in size.
2 =E2=80=93 Let=E2=80=99s suppose I buy a new server =E2=80=98New_DB02=E2=
=80=99 - all singing all
dancing cool server, RAID10, 25GB RAM, 64Bit etc.
3 =E2=80=93 Let=E2=80=99s suppose I backup the old server with pg_dump to=
a file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D
4 =E2=80=93 Let=E2=80=99s also suppose I backup the schema only from =E2=80=
=98Original_DB01=E2=80=99and
restore it to =E2=80=98Third_DB03=E2=80=99.
5 =E2=80=93 Straight after I backup the schema, I stop PostgreSQL on
=E2=80=98Original_DB01=E2=80=99.
6 =E2=80=93 Then I restore the schema to =E2=80=98Third_DB03=E2=80=99 and=
point the application
to it.
7 =E2=80=93 Let=E2=80=99s suppose the application can create tables and c=
an start using
the database on =E2=80=98Third_DB03=E2=80=99 and adding new data.
8 =E2=80=93 Let=E2=80=99s suppose I restore the FULL pg_dump file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D to =E2=80=98New_DB02=E2=80=99
9 =E2=80=93 Once the pg_dump has been restored to =E2=80=98New_DB02=E2=80=
=99 I can then point
the application to it and data will be added to it straight away.
Question:
10 =E2=80=93 Can I use =E2=80=98COPY=E2=80=99 statement to transfer the d=
ata from =E2=80=98Third_DB03=E2=80=99
to =E2=80=98New_DB02=E2=80=99 without =E2=80=98WIPING=E2=80=99 or Deletin=
g the existing data?
I want to merge the DATA from =E2=80=98Third_DB03=E2=80=99 to =E2=80=98Ne=
w_DB02=E2=80=99 without
deleting the Database or the existing data on the existing database.
Let me explain the Idea behind this craziness.
I am using =E2=80=98Third_DB03=E2=80=99 because the amount of data to be =
transferred
from it, will be minimum, and easy to and quick to =E2=80=98COPY=E2=80=99
This application has two part components (Data and Alarms)
We can get the data back in a very hard way, but without the data being
in the database we can=E2=80=99t generate alarms.
I would very much appreciate all your help on this idea, please.
I would be very glad and grateful for any comments and improvements on
this idea, picking the holes etc.
Thank you very much in advance
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk
Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk
Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
--=-JZw98idRUCKZ4xHbFg7j
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY>
I think it depends of your datamodel and specifically of your table constraints.<BR>
<BR>
For example, if you have a table with a pk generated by a sequence, you will have to deal with it before importing into your New_DB02. But for a plain log table without constrains you can dump it an import into your "just loaded" New_DB02 without any problem. <BR>
<BR>
<BR>
-----Original Message-----<BR>
<B>From</B>: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>><BR>
<B>To</B>: pgsql-admin [at] postgresql.org <<A HREF="mailto:%22pgsql-admin [at] postgresql.org%22%20%3cpgsql-admin [at] postgresql.org%3e">pgsql-admin [at] postgresql.org</A>><BR>
<B>Cc</B>: Steve Fisher <<A HREF="mailto:Steve%20Fisher%20%3csteve.fisher [at] grant.co.uk%3e">steve.fisher [at] grant.co.uk</A>><BR>
<B>Subject</B>: [ADMIN] 'COPY' Statement<BR>
<B>Date</B>: Tue, 13 Apr 2010 08:42:19 +0100<BR>
<BR>
<FONT SIZE="2">Dear all,</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I just had a thought, another one. Please the guys who have the powerful knowledge I need your help ;-)</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let’s suppose</FONT><BR>
<BR>
<FONT SIZE="2">I have Three DB servers ,physical servers – let’s call them: </FONT><BR>
<BR>
<FONT SIZE="2">· Original_DB01</FONT><BR>
<BR>
<FONT SIZE="2">· New_DB02</FONT><BR>
<BR>
<FONT SIZE="2">· Third_DB03</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">1 – Let’s suppose I have a PostgreSQL on ‘Original_DB01’ server with a Data Base of 162GB in size.</FONT><BR>
<BR>
<FONT SIZE="2">2 – Let’s suppose I buy a new server ‘New_DB02’ - all singing all dancing cool server, RAID10, 25GB RAM, 64Bit etc.</FONT><BR>
<BR>
<FONT SIZE="2">3 – Let’s suppose I backup the old server with pg_dump to a file “pg_dump_original_DB01”</FONT><BR>
<BR>
<FONT SIZE="2">4 – Let’s also suppose I backup the schema only from ‘Original_DB01’and restore it to ‘Third_DB03’.</FONT><BR>
<BR>
<FONT SIZE="2">5 – Straight after I backup the schema, I stop PostgreSQL on ‘Original_DB01’.</FONT><BR>
<BR>
<FONT SIZE="2">6 – Then I restore the schema to ‘Third_DB03’ and point the application to it.</FONT><BR>
<BR>
<FONT SIZE="2">7 – Let’s suppose the application can create tables and can start using the database on ‘Third_DB03’ and adding new data.</FONT><BR>
<BR>
<FONT SIZE="2">8 – Let’s suppose I restore the FULL pg_dump file “pg_dump_original_DB01” to ‘New_DB02’</FONT><BR>
<BR>
<FONT SIZE="2">9 – Once the pg_dump has been restored to ‘New_DB02’ I can then point the application to it and data will be added to it straight away.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Question:</FONT><BR>
<BR>
<FONT SIZE="2">10 – Can I use ‘COPY’ statement to transfer the data from ‘Third_DB03’ to ‘New_DB02’ without ‘WIPING’ or Deleting the existing data?</FONT><BR>
<BR>
<FONT SIZE="2">I want to merge the DATA from ‘Third_DB03’ to ‘New_DB02’ without deleting the Database or the existing data on the existing database.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let me explain the Idea behind this craziness.</FONT><BR>
<BR>
<FONT SIZE="2">I am using ‘Third_DB03’ because the amount of data to be transferred from it, will be minimum, and easy to and quick to ‘COPY’</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">This application has two part components (Data and Alarms) </FONT><BR>
<BR>
<FONT SIZE="2">We can get the data back in a very hard way, but without the data being in the database we can’t generate alarms.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I would very much appreciate all your help on this idea, please.</FONT><BR>
<BR>
<FONT SIZE="2">I would be very glad and grateful for any comments and improvements on this idea, picking the holes etc.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much in advance</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2">Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk</FONT>
<FONT SIZE="2">Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A></FONT>
<FONT SIZE="2">Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK</FONT>
<BR>
<BR>
<BR>
<BR>
<BR>
<B><I><FONT COLOR="#00ff00">P</FONT></I></B><B><I><FONT COLOR="#000000"> </FONT></I></B><B><I><FONT COLOR="#00ff00">Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT>
<BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s).</FONT>
<BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A></FONT>
<BR>
</BODY>
</HTML>
--=-JZw98idRUCKZ4xHbFg7j--
Re: 'COPY' Statement
--=-tIQ7TCSJy17kCxzf/+FS
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Primary Key. :)
A Primary Key is always a constraint, since it cannot be duplicated. For
example, if you have a PK generated by a sequence starting at zero, when
you restore your third database into new server you will have duplicated
values in this column and COPY command will fail.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: I=C3=B1igo Martinez Lasala <imartinez [at] vectorsf.com>
Subject: RE: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 08:59:34 +0100
=EF=BB=BF
Dear I=C3=B1igo,
Thank you very much. What do you mean by =E2=80=98pk=E2=80=99?
I am sorry.
Thank you very much
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk
Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk
Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
From: I=C3=B1igo Martinez Lasala [mailto:imartinez [at] vectorsf.com]
Sent: 13 April 2010 08:56
To: Renato Oliveira
Cc: pgsql-admin [at] postgresql.org; Steve Fisher
Subject: Re: [ADMIN] 'COPY' Statement
I think it depends of your datamodel and specifically of your table
constraints.
For example, if you have a table with a pk generated by a sequence, you
will have to deal with it before importing into your New_DB02. But for a
plain log table without constrains you can dump it an import into your
"just loaded" New_DB02 without any problem.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: pgsql-admin [at] postgresql.org <pgsql-admin [at] postgresql.org>
Cc: Steve Fisher <steve.fisher [at] grant.co.uk>
Subject: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 08:42:19 +0100
Dear all,
I just had a thought, another one. Please the guys who have the powerful
knowledge I need your help ;-)
Let=E2=80=99s suppose
I have Three DB servers ,physical servers =E2=80=93 let=E2=80=99s call t=
hem:
=C2=B7 Original_DB01
=C2=B7 New_DB02
=C2=B7 Third_DB03
1 =E2=80=93 Let=E2=80=99s suppose I have a PostgreSQL on =E2=80=98Origina=
l_DB01=E2=80=99 server with a
Data Base of 162GB in size.
2 =E2=80=93 Let=E2=80=99s suppose I buy a new server =E2=80=98New_DB02=E2=
=80=99 - all singing all
dancing cool server, RAID10, 25GB RAM, 64Bit etc.
3 =E2=80=93 Let=E2=80=99s suppose I backup the old server with pg_dump to=
a file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D
4 =E2=80=93 Let=E2=80=99s also suppose I backup the schema only from =E2=80=
=98Original_DB01=E2=80=99and
restore it to =E2=80=98Third_DB03=E2=80=99.
5 =E2=80=93 Straight after I backup the schema, I stop PostgreSQL on
=E2=80=98Original_DB01=E2=80=99.
6 =E2=80=93 Then I restore the schema to =E2=80=98Third_DB03=E2=80=99 and=
point the application
to it.
7 =E2=80=93 Let=E2=80=99s suppose the application can create tables and c=
an start using
the database on =E2=80=98Third_DB03=E2=80=99 and adding new data.
8 =E2=80=93 Let=E2=80=99s suppose I restore the FULL pg_dump file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D to =E2=80=98New_DB02=E2=80=99
9 =E2=80=93 Once the pg_dump has been restored to =E2=80=98New_DB02=E2=80=
=99 I can then point
the application to it and data will be added to it straight away.
Question:
10 =E2=80=93 Can I use =E2=80=98COPY=E2=80=99 statement to transfer the d=
ata from =E2=80=98Third_DB03=E2=80=99
to =E2=80=98New_DB02=E2=80=99 without =E2=80=98WIPING=E2=80=99 or Deletin=
g the existing data?
I want to merge the DATA from =E2=80=98Third_DB03=E2=80=99 to =E2=80=98Ne=
w_DB02=E2=80=99 without
deleting the Database or the existing data on the existing database.
Let me explain the Idea behind this craziness.
I am using =E2=80=98Third_DB03=E2=80=99 because the amount of data to be =
transferred
from it, will be minimum, and easy to and quick to =E2=80=98COPY=E2=80=99
This application has two part components (Data and Alarms)
We can get the data back in a very hard way, but without the data being
in the database we can=E2=80=99t generate alarms.
I would very much appreciate all your help on this idea, please.
I would be very glad and grateful for any comments and improvements on
this idea, picking the holes etc.
Thank you very much in advance
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
--=-tIQ7TCSJy17kCxzf/+FS
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY>
Primary Key. :)<BR>
<BR>
A Primary Key is always a constraint, since it cannot be duplicated. For example, if you have a PK generated by a sequence starting at zero, when you restore your third database into new server you will have duplicated values in this column and COPY command will fail.<BR>
<BR>
-----Original Message-----<BR>
<B>From</B>: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>><BR>
<B>To</B>: Iñigo Martinez Lasala <<A HREF="mailto:%3d%3fISO-8859-1%3fQ%3fI%3dF1igo%3f%3d%20Martinez%20Lasala%20%3cimartinez [at] vectorsf.com%3e">imartinez [at] vectorsf.com</A>><BR>
<B>Subject</B>: RE: [ADMIN] 'COPY' Statement<BR>
<B>Date</B>: Tue, 13 Apr 2010 08:59:34 +0100<BR>
<BR>
<FONT SIZE="2">Dear Iñigo,</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much. What do you mean by ‘pk’?</FONT><BR>
<BR>
<FONT SIZE="2">I am sorry.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2">Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk</FONT>
<FONT SIZE="2">Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A></FONT>
<FONT SIZE="2">Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK</FONT>
<BR>
<B><FONT SIZE="2">From:</FONT></B><FONT SIZE="2"> Iñigo Martinez Lasala [mailto:imartinez [at] vectorsf.com] </FONT><BR>
<B><FONT SIZE="2">Sent:</FONT></B><FONT SIZE="2"> 13 April 2010 08:56</FONT><BR>
<B><FONT SIZE="2">To:</FONT></B><FONT SIZE="2"> Renato Oliveira</FONT><BR>
<B><FONT SIZE="2">Cc:</FONT></B><FONT SIZE="2"> pgsql-admin [at] postgresql.org; Steve Fisher</FONT><BR>
<B><FONT SIZE="2">Subject:</FONT></B><FONT SIZE="2"> Re: [ADMIN] 'COPY' Statement</FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I think it depends of your datamodel and specifically of your table constraints.</FONT><BR>
<BR>
<FONT SIZE="2">For example, if you have a table with a pk generated by a sequence, you will have to deal with it before importing into your New_DB02. But for a plain log table without constrains you can dump it an import into your "just loaded" New_DB02 without any problem. </FONT><BR>
<BR>
<BR>
<FONT SIZE="2">-----Original Message-----</FONT><BR>
<B><FONT SIZE="2">From</FONT></B><FONT SIZE="2">: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>></FONT><BR>
<B><FONT SIZE="2">To</FONT></B><FONT SIZE="2">: pgsql-admin [at] postgresql.org <<A HREF="mailto:%22pgsql-admin [at] postgresql.org%22%20%3cpgsql-admin [at] postgresql.org%3e">pgsql-admin [at] postgresql.org</A>></FONT><BR>
<B><FONT SIZE="2">Cc</FONT></B><FONT SIZE="2">: Steve Fisher <<A HREF="mailto:Steve%20Fisher%20%3csteve.fisher [at] grant.co.uk%3e">steve.fisher [at] grant.co.uk</A>></FONT><BR>
<B><FONT SIZE="2">Subject</FONT></B><FONT SIZE="2">: [ADMIN] 'COPY' Statement</FONT><BR>
<B><FONT SIZE="2">Date</FONT></B><FONT SIZE="2">: Tue, 13 Apr 2010 08:42:19 +0100</FONT><BR>
<BR>
<FONT SIZE="2">Dear all,</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I just had a thought, another one. Please the guys who have the powerful knowledge I need your help ;-)</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let’s suppose</FONT><BR>
<BR>
<FONT SIZE="2">I have Three DB servers ,physical servers – let’s call them: </FONT><BR>
<BR>
<FONT SIZE="2">· Original_DB01</FONT><BR>
<BR>
<FONT SIZE="2">· New_DB02</FONT><BR>
<BR>
<FONT SIZE="2">· Third_DB03</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">1 – Let’s suppose I have a PostgreSQL on ‘Original_DB01’ server with a Data Base of 162GB in size.</FONT><BR>
<BR>
<FONT SIZE="2">2 – Let’s suppose I buy a new server ‘New_DB02’ - all singing all dancing cool server, RAID10, 25GB RAM, 64Bit etc.</FONT><BR>
<BR>
<FONT SIZE="2">3 – Let’s suppose I backup the old server with pg_dump to a file “pg_dump_original_DB01”</FONT><BR>
<BR>
<FONT SIZE="2">4 – Let’s also suppose I backup the schema only from ‘Original_DB01’and restore it to ‘Third_DB03’.</FONT><BR>
<BR>
<FONT SIZE="2">5 – Straight after I backup the schema, I stop PostgreSQL on ‘Original_DB01’.</FONT><BR>
<BR>
<FONT SIZE="2">6 – Then I restore the schema to ‘Third_DB03’ and point the application to it.</FONT><BR>
<BR>
<FONT SIZE="2">7 – Let’s suppose the application can create tables and can start using the database on ‘Third_DB03’ and adding new data.</FONT><BR>
<BR>
<FONT SIZE="2">8 – Let’s suppose I restore the FULL pg_dump file “pg_dump_original_DB01” to ‘New_DB02’</FONT><BR>
<BR>
<FONT SIZE="2">9 – Once the pg_dump has been restored to ‘New_DB02’ I can then point the application to it and data will be added to it straight away.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Question:</FONT><BR>
<BR>
<FONT SIZE="2">10 – Can I use ‘COPY’ statement to transfer the data from ‘Third_DB03’ to ‘New_DB02’ without ‘WIPING’ or Deleting the existing data?</FONT><BR>
<BR>
<FONT SIZE="2">I want to merge the DATA from ‘Third_DB03’ to ‘New_DB02’ without deleting the Database or the existing data on the existing database.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let me explain the Idea behind this craziness.</FONT><BR>
<BR>
<FONT SIZE="2">I am using ‘Third_DB03’ because the amount of data to be transferred from it, will be minimum, and easy to and quick to ‘COPY’</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">This application has two part components (Data and Alarms) </FONT><BR>
<BR>
<FONT SIZE="2">We can get the data back in a very hard way, but without the data being in the database we can’t generate alarms.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I would very much appreciate all your help on this idea, please.</FONT><BR>
<BR>
<FONT SIZE="2">I would be very glad and grateful for any comments and improvements on this idea, picking the holes etc.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much in advance</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A> Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<B><I><FONT SIZE="2">P Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT><BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s). </FONT><BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A> </FONT><BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<B><I><FONT COLOR="#00ff00">P</FONT></I></B><B><I><FONT COLOR="#000000"> </FONT></I></B><B><I><FONT COLOR="#00ff00">Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT>
<BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s).</FONT>
<BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A></FONT>
<BR>
</BODY>
</HTML>
--=-tIQ7TCSJy17kCxzf/+FS--
Re: 'COPY' Statement
--=-cwTuZAFb56F/84ZhxlcQ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Then you will have no problem.
When using pg_dump do NOT include the "-c" flag (clean). For example:
pg_dump -U postgres -Fc -d DB_3 -f DB_3.dmp DB3
pg_restore -U postgres -Fc -d DB_2 DB3_dmp 2>error_import.log
1>import.log
Or if you prefer, use plan text (in order to check dump file with an
editor prior restoring):
pg_dump -U postgres -Fp -d DB_3 -f DB_3.dmp DB3
psql -U postgres -d DB_2 -f DB_3.dmp 2>error_import.log 1>import.log
You could alse use the "insert" way, but restore will take much longer.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: I=C3=B1igo Martinez Lasala <imartinez [at] vectorsf.com>
Subject: RE: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 09:13:06 +0100
=EF=BB=BF
I see! Primary Key. Cool.
I think you can work out and change the primary key, that=E2=80=99s is th=
e
reason I am moving the application to third_server so we have very
little data to worry about.
Thank you very much for all your help and comments.
In resume I can =E2=80=98COPY all the data from third_server and use the =
same
COPY statement to migrate the data back to new_server?
Thank you
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk
Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk
Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
From: I=C3=B1igo Martinez Lasala [mailto:imartinez [at] vectorsf.com]
Sent: 13 April 2010 09:02
To: Renato Oliveira
Cc: pgsql-admin
Subject: RE: [ADMIN] 'COPY' Statement
Primary Key. :)
A Primary Key is always a constraint, since it cannot be duplicated. For
example, if you have a PK generated by a sequence starting at zero, when
you restore your third database into new server you will have duplicated
values in this column and COPY command will fail.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: I=C3=B1igo Martinez Lasala <imartinez [at] vectorsf.com>
Subject: RE: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 08:59:34 +0100
=EF=BB=BF Dear I=C3=B1igo,
Thank you very much. What do you mean by =E2=80=98pk=E2=80=99?
I am sorry.
Thank you very much
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
From: I=C3=B1igo Martinez Lasala [mailto:imartinez [at] vectorsf.com]
Sent:13 April 2010 08:56
To:Renato Oliveira
Cc:pgsql-admin [at] postgresql.org; Steve Fisher
Subject: Re: [ADMIN] 'COPY' Statement
I think it depends of your datamodel and specifically of your table
constraints.
For example, if you have a table with a pk generated by a sequence, you
will have to deal with it before importing into your New_DB02. But for a
plain log table without constrains you can dump it an import into your
"just loaded" New_DB02 without any problem.
-----Original Message-----
From: Renato Oliveira <renato.oliveira [at] grant.co.uk>
To: pgsql-admin [at] postgresql.org <pgsql-admin [at] postgresql.org>
Cc: Steve Fisher <steve.fisher [at] grant.co.uk>
Subject: [ADMIN] 'COPY' Statement
Date: Tue, 13 Apr 2010 08:42:19 +0100
Dear all,
I just had a thought, another one. Please the guys who have the powerful
knowledge I need your help ;-)
Let=E2=80=99s suppose
I have Three DB servers ,physical servers =E2=80=93 let=E2=80=99s call t=
hem:
=C2=B7 Original_DB01
=C2=B7 New_DB02
=C2=B7 Third_DB03
1 =E2=80=93 Let=E2=80=99s suppose I have a PostgreSQL on =E2=80=98Origina=
l_DB01=E2=80=99 server with a
Data Base of 162GB in size.
2 =E2=80=93 Let=E2=80=99s suppose I buy a new server =E2=80=98New_DB02=E2=
=80=99 - all singing all
dancing cool server, RAID10, 25GB RAM, 64Bit etc.
3 =E2=80=93 Let=E2=80=99s suppose I backup the old server with pg_dump to=
a file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D
4 =E2=80=93 Let=E2=80=99s also suppose I backup the schema only from =E2=80=
=98Original_DB01=E2=80=99and
restore it to =E2=80=98Third_DB03=E2=80=99.
5 =E2=80=93 Straight after I backup the schema, I stop PostgreSQL on
=E2=80=98Original_DB01=E2=80=99.
6 =E2=80=93 Then I restore the schema to =E2=80=98Third_DB03=E2=80=99 and=
point the application
to it.
7 =E2=80=93 Let=E2=80=99s suppose the application can create tables and c=
an start using
the database on =E2=80=98Third_DB03=E2=80=99 and adding new data.
8 =E2=80=93 Let=E2=80=99s suppose I restore the FULL pg_dump file
=E2=80=9Cpg_dump_original_DB01=E2=80=9D to =E2=80=98New_DB02=E2=80=99
9 =E2=80=93 Once the pg_dump has been restored to =E2=80=98New_DB02=E2=80=
=99 I can then point
the application to it and data will be added to it straight away.
Question:
10 =E2=80=93 Can I use =E2=80=98COPY=E2=80=99 statement to transfer the d=
ata from =E2=80=98Third_DB03=E2=80=99
to =E2=80=98New_DB02=E2=80=99 without =E2=80=98WIPING=E2=80=99 or Deletin=
g the existing data?
I want to merge the DATA from =E2=80=98Third_DB03=E2=80=99 to =E2=80=98Ne=
w_DB02=E2=80=99 without
deleting the Database or the existing data on the existing database.
Let me explain the Idea behind this craziness.
I am using =E2=80=98Third_DB03=E2=80=99 because the amount of data to be =
transferred
from it, will be minimum, and easy to and quick to =E2=80=98COPY=E2=80=99
This application has two part components (Data and Alarms)
We can get the data back in a very hard way, but without the data being
in the database we can=E2=80=99t generate alarms.
I would very much appreciate all your help on this idea, please.
I would be very glad and grateful for any comments and improvements on
this idea, picking the holes etc.
Thank you very much in advance
Renato
Renato Oliveira
Systems Administrator
e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811
Fax: +44 (0)1763 262410
www.grant.co.uk Grant Instruments (Cambridge) Ltd
Company registered in England, registration number 658133
Registered office address:
29 Station Road,
Shepreth,
CAMBS SG8 6GB
UK
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
P Please consider the environment before printing this email
CONFIDENTIALITY: The information in this e-mail and any attachments is
confidential. It is intended only for the named recipients(s). If you
are not the named recipient please notify the sender immediately and do
not disclose the contents to another person or take copies.
VIRUSES: The contents of this e-mail or attachment(s) may contain
viruses which could damage your own computer system. Whilst Grant
Instruments (Cambridge) Ltd has taken every reasonable precaution to
minimise this risk, we cannot accept liability for any damage which you
sustain as a result of software viruses. You should therefore carry out
your own virus checks before opening the attachment(s).
OpenXML: For information about the OpenXML file format in use within
Grant Instruments please visit our website
--=-cwTuZAFb56F/84ZhxlcQ
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
<META NAME="GENERATOR" CONTENT="GtkHTML/3.28.3">
</HEAD>
<BODY>
Then you will have no problem.<BR>
<BR>
When using pg_dump do NOT include the "-c" flag (clean). For example:<BR>
<BR>
pg_dump -U postgres -Fc -d DB_3 -f DB_3.dmp DB3<BR>
pg_restore -U postgres -Fc -d DB_2 DB3_dmp 2>error_import.log 1>import.log<BR>
<BR>
Or if you prefer, use plan text (in order to check dump file with an editor prior restoring):<BR>
pg_dump -U postgres -Fp -d DB_3 -f DB_3.dmp DB3<BR>
psql -U postgres -d DB_2 -f DB_3.dmp 2>error_import.log 1>import.log<BR>
<BR>
You could alse use the "insert" way, but restore will take much longer.<BR>
<BR>
<BR>
-----Original Message-----<BR>
<B>From</B>: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>><BR>
<B>To</B>: Iñigo Martinez Lasala <<A HREF="mailto:%3d%3fISO-8859-1%3fQ%3fI%3dF1igo%3f%3d%20Martinez%20Lasala%20%3cimartinez [at] vectorsf.com%3e">imartinez [at] vectorsf.com</A>><BR>
<B>Subject</B>: RE: [ADMIN] 'COPY' Statement<BR>
<B>Date</B>: Tue, 13 Apr 2010 09:13:06 +0100<BR>
<BR>
<FONT SIZE="2">I see! Primary Key. Cool.</FONT><BR>
<BR>
<FONT SIZE="2">I think you can work out and change the primary key, that’s is the reason I am moving the application to third_server so we have very little data to worry about.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much for all your help and comments.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">In resume I can ‘COPY all the data from third_server and use the same COPY statement to migrate the data back to new_server?</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2">Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk</FONT>
<FONT SIZE="2">Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A></FONT>
<FONT SIZE="2">Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK</FONT>
<BR>
<B><FONT SIZE="2">From:</FONT></B><FONT SIZE="2"> Iñigo Martinez Lasala [mailto:imartinez [at] vectorsf.com] </FONT><BR>
<B><FONT SIZE="2">Sent:</FONT></B><FONT SIZE="2"> 13 April 2010 09:02</FONT><BR>
<B><FONT SIZE="2">To:</FONT></B><FONT SIZE="2"> Renato Oliveira</FONT><BR>
<B><FONT SIZE="2">Cc:</FONT></B><FONT SIZE="2"> pgsql-admin</FONT><BR>
<B><FONT SIZE="2">Subject:</FONT></B><FONT SIZE="2"> RE: [ADMIN] 'COPY' Statement</FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Primary Key. :)</FONT><BR>
<BR>
<FONT SIZE="2">A Primary Key is always a constraint, since it cannot be duplicated. For example, if you have a PK generated by a sequence starting at zero, when you restore your third database into new server you will have duplicated values in this column and COPY command will fail.</FONT><BR>
<BR>
<FONT SIZE="2">-----Original Message-----</FONT><BR>
<B><FONT SIZE="2">From</FONT></B><FONT SIZE="2">: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>></FONT><BR>
<B><FONT SIZE="2">To</FONT></B><FONT SIZE="2">: Iñigo Martinez Lasala <<A HREF="mailto:%3d%3fISO-8859-1%3fQ%3fI%3dF1igo%3f%3d%20Martinez%20Lasala%20%3cimartinez [at] vectorsf.com%3e">imartinez [at] vectorsf.com</A>></FONT><BR>
<B><FONT SIZE="2">Subject</FONT></B><FONT SIZE="2">: RE: [ADMIN] 'COPY' Statement</FONT><BR>
<B><FONT SIZE="2">Date</FONT></B><FONT SIZE="2">: Tue, 13 Apr 2010 08:59:34 +0100</FONT><BR>
<BR>
<FONT SIZE="2"> Dear Iñigo,</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much. What do you mean by ‘pk’?</FONT><BR>
<BR>
<FONT SIZE="2">I am sorry.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A> Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK </FONT><BR>
<FONT SIZE="2"> </FONT><B><FONT SIZE="2">From:</FONT></B><FONT SIZE="2"> Iñigo Martinez Lasala [mailto:imartinez [at] vectorsf.com]</FONT><BR>
<B><FONT SIZE="2">Sent:</FONT></B><FONT SIZE="2">13 April 2010 08:56</FONT><BR>
<B><FONT SIZE="2">To:</FONT></B><FONT SIZE="2">Renato Oliveira</FONT><BR>
<B><FONT SIZE="2">Cc:</FONT></B><FONT SIZE="2">pgsql-admin [at] postgresql.org; Steve Fisher</FONT><BR>
<B><FONT SIZE="2">Subject:</FONT></B><FONT SIZE="2"> Re: [ADMIN] 'COPY' Statement</FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I think it depends of your datamodel and specifically of your table constraints.</FONT><BR>
<BR>
<FONT SIZE="2">For example, if you have a table with a pk generated by a sequence, you will have to deal with it before importing into your New_DB02. But for a plain log table without constrains you can dump it an import into your "just loaded" New_DB02 without any problem. </FONT><BR>
<BR>
<BR>
<FONT SIZE="2">-----Original Message-----</FONT><BR>
<B><FONT SIZE="2">From</FONT></B><FONT SIZE="2">: Renato Oliveira <<A HREF="mailto:Renato%20Oliveira%20%3crenato.oliveira [at] grant.co.uk%3e">renato.oliveira [at] grant.co.uk</A>></FONT><BR>
<B><FONT SIZE="2">To</FONT></B><FONT SIZE="2">: pgsql-admin [at] postgresql.org <<A HREF="mailto:%22pgsql-admin [at] postgresql.org%22%20%3cpgsql-admin [at] postgresql.org%3e">pgsql-admin [at] postgresql.org</A>></FONT><BR>
<B><FONT SIZE="2">Cc</FONT></B><FONT SIZE="2">: Steve Fisher <<A HREF="mailto:Steve%20Fisher%20%3csteve.fisher [at] grant.co.uk%3e">steve.fisher [at] grant.co.uk</A>></FONT><BR>
<B><FONT SIZE="2">Subject</FONT></B><FONT SIZE="2">: [ADMIN] 'COPY' Statement</FONT><BR>
<B><FONT SIZE="2">Date</FONT></B><FONT SIZE="2">: Tue, 13 Apr 2010 08:42:19 +0100</FONT><BR>
<BR>
<FONT SIZE="2">Dear all,</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I just had a thought, another one. Please the guys who have the powerful knowledge I need your help ;-)</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let’s suppose</FONT><BR>
<BR>
<FONT SIZE="2">I have Three DB servers ,physical servers – let’s call them: </FONT><BR>
<BR>
<FONT SIZE="2">· Original_DB01</FONT><BR>
<BR>
<FONT SIZE="2">· New_DB02</FONT><BR>
<BR>
<FONT SIZE="2">· Third_DB03</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">1 – Let’s suppose I have a PostgreSQL on ‘Original_DB01’ server with a Data Base of 162GB in size.</FONT><BR>
<BR>
<FONT SIZE="2">2 – Let’s suppose I buy a new server ‘New_DB02’ - all singing all dancing cool server, RAID10, 25GB RAM, 64Bit etc.</FONT><BR>
<BR>
<FONT SIZE="2">3 – Let’s suppose I backup the old server with pg_dump to a file “pg_dump_original_DB01”</FONT><BR>
<BR>
<FONT SIZE="2">4 – Let’s also suppose I backup the schema only from ‘Original_DB01’and restore it to ‘Third_DB03’.</FONT><BR>
<BR>
<FONT SIZE="2">5 – Straight after I backup the schema, I stop PostgreSQL on ‘Original_DB01’.</FONT><BR>
<BR>
<FONT SIZE="2">6 – Then I restore the schema to ‘Third_DB03’ and point the application to it.</FONT><BR>
<BR>
<FONT SIZE="2">7 – Let’s suppose the application can create tables and can start using the database on ‘Third_DB03’ and adding new data.</FONT><BR>
<BR>
<FONT SIZE="2">8 – Let’s suppose I restore the FULL pg_dump file “pg_dump_original_DB01” to ‘New_DB02’</FONT><BR>
<BR>
<FONT SIZE="2">9 – Once the pg_dump has been restored to ‘New_DB02’ I can then point the application to it and data will be added to it straight away.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Question:</FONT><BR>
<BR>
<FONT SIZE="2">10 – Can I use ‘COPY’ statement to transfer the data from ‘Third_DB03’ to ‘New_DB02’ without ‘WIPING’ or Deleting the existing data?</FONT><BR>
<BR>
<FONT SIZE="2">I want to merge the DATA from ‘Third_DB03’ to ‘New_DB02’ without deleting the Database or the existing data on the existing database.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Let me explain the Idea behind this craziness.</FONT><BR>
<BR>
<FONT SIZE="2">I am using ‘Third_DB03’ because the amount of data to be transferred from it, will be minimum, and easy to and quick to ‘COPY’</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">This application has two part components (Data and Alarms) </FONT><BR>
<BR>
<FONT SIZE="2">We can get the data back in a very hard way, but without the data being in the database we can’t generate alarms.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">I would very much appreciate all your help on this idea, please.</FONT><BR>
<BR>
<FONT SIZE="2">I would be very glad and grateful for any comments and improvements on this idea, picking the holes etc.</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Thank you very much in advance</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2">Renato</FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> Renato Oliveira</FONT><BR>
<FONT SIZE="2">Systems Administrator</FONT><BR>
<FONT SIZE="2">e-mail: renato.oliveira [at] grant.co.uk Tel: +44 (0)1763 260811</FONT><BR>
<FONT SIZE="2">Fax: +44 (0)1763 262410</FONT><BR>
<FONT SIZE="2"><A HREF="http://www.grant.co.uk/">www.grant.co.uk</A> Grant Instruments (Cambridge) Ltd </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Company registered in England, registration number 658133</FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2">Registered office address:</FONT><BR>
<FONT SIZE="2">29 Station Road, </FONT><BR>
<FONT SIZE="2">Shepreth, </FONT><BR>
<FONT SIZE="2">CAMBS SG8 6GB </FONT><BR>
<FONT SIZE="2">UK </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<B><I><FONT SIZE="2">P Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT><BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s). </FONT><BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A> </FONT><BR>
<BR>
<BR>
<FONT SIZE="2"> </FONT><BR>
<FONT SIZE="2"> </FONT><BR>
<BR>
<B><I><FONT SIZE="2">P Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT><BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s). </FONT><BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A> </FONT><BR>
<BR>
<BR>
<BR>
<BR>
<BR>
<B><I><FONT COLOR="#00ff00">P</FONT></I></B><B><I><FONT COLOR="#000000"> </FONT></I></B><B><I><FONT COLOR="#00ff00">Please consider the environment before printing this email</FONT></I></B><BR>
<BR>
<BR>
<B><FONT SIZE="2">CONFIDENTIALITY</FONT></B><FONT SIZE="2">: The information in this e-mail and any attachments is confidential. It is intended only for the named recipients(s). If you are not the named recipient please notify the sender immediately and do not disclose the contents to another person or take copies. </FONT>
<BR>
<B><FONT SIZE="2">VIRUSES:</FONT></B><FONT SIZE="2"> The contents of this e-mail or attachment(s) may contain viruses which could damage your own computer system. Whilst Grant Instruments (Cambridge) Ltd has taken every reasonable precaution to minimise this risk, we cannot accept liability for any damage which you sustain as a result of software viruses. You should therefore carry out your own virus checks before opening the attachment(s).</FONT>
<BR>
<B><FONT SIZE="2">OpenXML</FONT></B><FONT SIZE="2">: For information about the OpenXML file format in use within Grant Instruments please visit our <A HREF="http://www.grant.co.uk/Support/openxml.html">website</A></FONT>
<BR>
</BODY>
</HTML>
--=-cwTuZAFb56F/84ZhxlcQ--