select e.instance_uid::text as instance_uid e.display_name e.service_id e.specification_item_id to_char(e.dt_created, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_created to_char(e.dt_updated, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') as instance_config_dt_updated d.contract_id i.specification_id s.specification i.quantity i.price v.svc (select io.operation from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation (select io.instance_operation_uid::text from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as last_operation_uid (select io.submit_result from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as submit_result (select to_char(io.dt_start, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_start (select to_char(io.dt_finish, 'YYYY-MM-DD"T"HH24:MI:SS.FF3TZHTZM') from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as operation_dt_finish (select extract('epoch' from coalesce(io.dt_finish,CURRENT_TIMESTAMP)- io.dt_start) from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as duration (select case when io.is_successful then extract('epoch' from CURRENT_TIMESTAMP - coalesce(io.dt_finish,CURRENT_TIMESTAMP)) else 0 end from instance_operation io where io.instance_uid=e.instance_uid order by dt_submit desc limit 1) as uptime (select instance_data::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_data (select st.instance_state_uid::text from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as instance_state_uid (select st.is_test from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_test (select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as is_deleted (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) as suspended ( case when (select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'true' then 'deleted' when (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'true' then 'suspended' when (select st.instance_data->>'isDeleted' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' AND (select st.instance_data->>'suspended' from instance_state st where st.instance_uid=e.instance_uid order by version desc limit 1) = 'false' then 'running' when not exists (select * from instance_operation o where o.instance_uid=e.instance_uid) then 'not configured' when not exists (select * from instance_state st where st.instance_uid=e.instance_uid) then 'not created' else null end ) as explained_status (select max(version) from instance_state st where st.instance_uid=e.instance_uid) as version from instance e join specification_item i on (e.specification_item_id=i.specification_item_id) join specification s on (i.specification_id=s.specification_id) join contract d on (s.contract_id=d.contract_id) join contragent k on (d.contragent_id=k.contragent_id) join svc v on (e.service_id=v.svc_id) where s.specification_id= order by limit #maxrows# select count(*) as cnt from instance e join specification_item i on (e.specification_item_id=i.specification_item_id) join specification s on (i.specification_id=s.specification_id) join contract d on (s.contract_id=d.contract_id) join contragent k on (d.contragent_id=k.contragent_id) --join usr u on (k.contragent_id=u.contragent_id) join svc v on (e.service_id=v.svc_id) where s.specification_id= insert into specification_item (specification_id, specification_item, svc_id, quantity, price, dt_created, creator_id, dt_updated, updater_id) values ( , , , , , , , , ) returning specification_item_id; insert into instance (instance_uid, display_name, service_id, specification_item_id, descr, dt_created, creator_id, dt_updated, updater_id) values ( , , , , , , , , ); select count(*) as cnt from instance e join specification_item i on (e.specification_item_id=i.specification_item_id) join specification s on (i.specification_id=s.specification_id) join contract d on (s.contract_id=d.contract_id) join contragent k on (d.contragent_id=k.contragent_id) join usr u on (k.contragent_id=u.contragent_id) where u.usr_id= AND lower(e.display_name)=lower() AND e.instance_uid <> select svc from svc where svc_id= select display_name from instance e join specification_item i on (e.specification_item_id=i.specification_item_id) join specification s on (i.specification_id=s.specification_id) join contract d on (s.contract_id=d.contract_id) join contragent k on (d.contragent_id=k.contragent_id) join usr u on (k.contragent_id=u.contragent_id) where u.usr_id= AND lower(e.display_name) like lower() AND service_id=