thanks Knut,

the problem has been solved. Was first necessary to identify the table that
had the highest index.

Regards


2013/6/19 Knut Staring <knu...@gmail.com>

> 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 <knu...@gmail.com> 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 <
>> helders...@gmail.com> 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     : dhis2-users@lists.launchpad.net
>>> 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
>



-- 
__________________________
@Heldersoft
_______________________________________________
Mailing list: https://launchpad.net/~dhis2-users
Post to     : dhis2-users@lists.launchpad.net
Unsubscribe : https://launchpad.net/~dhis2-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to