Hi again, Since you have been importing patients, you probably want to find the max like this: SELECT max(patientid)+1 AS id FROM patient
On Wed, Jun 19, 2013 at 7:01 AM, Knut Staring <[email protected]> wrote: > Hi Helder, > > Your problem is caused because you have not used the Postgres > hibernate_sequence to generate IDs, but rather generated your own IDs. > There are 3 answers: > > 1) This situation is avoided by using the DXF format, which takes a bit > more work - then DHIS2 will add the IDs > > 2) If you are instead injecting data directly via SQL, it is recommended > to use the following pattern (example from an earlier post by Jason to this > list): > > INSERT INTO organisationunit(organisationunitid, name, shortname, > parentid, active,openingdate) > VALUES(nextval('hibernate_sequence'::regclass),'ad Federal Muslim > Women Association in Nigeria Adamawa (FOMWAN > A)','adFederalMuslimWomenAssociationinNigeriaAdamawaF',501,'true' > ,'2001-01-01'); > > Notice instead of setting the organisationunitid, i use the nextval of > the hibernate_sequence. Of course the injection becomes a bit more complex, > as you have to be sure that you get all of the parentIDs correct, but if > you do it organisation layer by organisation layer, then it is relatively > easy. > > 3) However, you have not followed 1) or 2) and therefore have to resolve > the issue. You will now have to identify the maximum ID used in the > tables you have added to and then to set the sequence value > to one greater than the maximum. > > To find out the current status of your sequence, run this: > SELECT nextval('hibernate_sequence'); > > For example, if you have just added lots of orgunits manually with > external IDs, you should run this: > > SELECT max(organisationunitid)+1 AS id FROM organisationunit > > Then use the new value like this: > SELECT setval('hibernate_sequence', <INSERT THE RESULTING ID>) > > > On Wed, Jun 19, 2013 at 12:49 AM, Helder Yesid Castrillon Cobo < > [email protected]> wrote: > >> Hi, >> >> We have needed to import data directly from Dhis Database(postgres), but >> we have found that when entering the application does not allow adding new >> records related to the imported information. >> example: >> If i import patient data, then after the application not allow adding >> new patients. >> >> when we doing tracking we found that the cause is an error that occurs >> because DHIS try to create record with an existing key "Error Violates >> duplicate unique key constraint". >> >> we have tried to index the tables again and did not solve the problem, >> what other solution could be applied? >> >> Thanks, >> >> Helder Castrillon >> Secretaria Departamental de salud del Cauca >> Colombia >> >> -- >> __________________________ >> @Heldersoft >> >> >> >> _______________________________________________ >> Mailing list: https://launchpad.net/~dhis2-users >> Post to : [email protected] >> Unsubscribe : https://launchpad.net/~dhis2-users >> More help : https://help.launchpad.net/ListHelp >> >> > > > -- > Knut Staring > Dept. of Informatics, University of Oslo > +4791880522 > http://dhis2.org > -- Knut Staring Dept. of Informatics, University of Oslo +4791880522 http://dhis2.org
_______________________________________________ Mailing list: https://launchpad.net/~dhis2-users Post to : [email protected] Unsubscribe : https://launchpad.net/~dhis2-users More help : https://help.launchpad.net/ListHelp

