Как проверить, работает моя функция postgresql или нет? - PullRequest
0 голосов
/ 20 декабря 2018

Я создал функцию

CREATE OR REPLACE FUNCTION public.officer_view_licences(
    IN lab_code_r character)
  RETURNS TABLE(appl_type_r character varying, appl_date_r timestamp without time zone, shop_name_r character varying, status_r character,  appl_no_r character varying, license_no_r character varying, license_issue_date_r date, issueing_authority_name_r character varying, issueing_authority_desig_r character varying, reject_date_r date, valid_upto_r date) AS
$BODY$
BEGIN
    return QUERY SELECT appl_type, appl_date,  appl_no, license_no, license_issue_date, issueing_authority_name, issueing_authority_desig, reject_date, valid_upto FROM license_detail where lab_code = lab_code_r order by  appl_type, license_issue_date desc ;   
END 
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;

в моей базе данных в pgsql и вызываю ее из

public function officer_view_licences($lab_code){               
        $pgquery = pg_query("select * from officer_view_licences('".$lab_code."')");
        while($row = pg_fetch_assoc($pgquery)) {
            $records[] = $row;                             
        }       
        print_r($records);
        return $records;
    }

Я распечатал записи, но там нет распечатки записей.но когда я запускаю

SELECT appl_type, appl_date,  appl_no, license_no, license_issue_date, issueing_authority_name, issueing_authority_desig, reject_date, valid_upto FROM license_detail where lab_code = '119' order by  appl_type, license_issue_date desc ; 

, это напечатает некоторую запись.Как я могу проверить, что моя функция работает правильно или нет?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы должны запросить pg_stat_activity

select * from  pg_stat_activity 
 where application_name ~* '[o]fficer_view_licences';

В качестве альтернативы, вы можете явно указать имя приложения для сеанса для правильной идентификации

set application_name to officer_view_licences_thisone;

Затем вы можете запросить его следующим образом:

select * from  pg_stat_activity 
 where application_name = 'officer_view_licences_thisone';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...