@@ -2376,7 +2376,9 @@ InitializeLDAPConnection(Port *port, LDAP **ldap)
2376
2376
(errmsg ("could not set LDAP protocol version: %s" ,
2377
2377
ldap_err2string (r )),
2378
2378
errdetail_for_ldap (* ldap )));
2379
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_SET_OPTION );
2379
2380
ldap_unbind (* ldap );
2381
+ pgstat_report_wait_end ();
2380
2382
return STATUS_ERROR ;
2381
2383
}
2382
2384
@@ -2396,7 +2398,9 @@ InitializeLDAPConnection(Port *port, LDAP **ldap)
2396
2398
(errmsg ("could not start LDAP TLS session: %s" ,
2397
2399
ldap_err2string (r )),
2398
2400
errdetail_for_ldap (* ldap )));
2401
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_START_TLS );
2399
2402
ldap_unbind (* ldap );
2403
+ pgstat_report_wait_end ();
2400
2404
return STATUS_ERROR ;
2401
2405
}
2402
2406
}
@@ -2540,7 +2544,9 @@ CheckLDAPAuth(Port *port)
2540
2544
{
2541
2545
ereport (LOG ,
2542
2546
(errmsg ("invalid character in user name for LDAP authentication" )));
2547
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_NAME_CHECK );
2543
2548
ldap_unbind (ldap );
2549
+ pgstat_report_wait_end ();
2544
2550
pfree (passwd );
2545
2551
return STATUS_ERROR ;
2546
2552
}
@@ -2564,7 +2570,9 @@ CheckLDAPAuth(Port *port)
2564
2570
server_name ,
2565
2571
ldap_err2string (r )),
2566
2572
errdetail_for_ldap (ldap )));
2573
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_BIND_FOR_SEARCH );
2567
2574
ldap_unbind (ldap );
2575
+ pgstat_report_wait_end ();
2568
2576
pfree (passwd );
2569
2577
return STATUS_ERROR ;
2570
2578
}
@@ -2597,7 +2605,9 @@ CheckLDAPAuth(Port *port)
2597
2605
errdetail_for_ldap (ldap )));
2598
2606
if (search_message != NULL )
2599
2607
ldap_msgfree (search_message );
2608
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_SEARCH );
2600
2609
ldap_unbind (ldap );
2610
+ pgstat_report_wait_end ();
2601
2611
pfree (passwd );
2602
2612
pfree (filter );
2603
2613
return STATUS_ERROR ;
@@ -2619,7 +2629,9 @@ CheckLDAPAuth(Port *port)
2619
2629
count ,
2620
2630
filter , server_name , count )));
2621
2631
2632
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_COUNT_ENTRIES );
2622
2633
ldap_unbind (ldap );
2634
+ pgstat_report_wait_end ();
2623
2635
pfree (passwd );
2624
2636
pfree (filter );
2625
2637
ldap_msgfree (search_message );
@@ -2638,7 +2650,9 @@ CheckLDAPAuth(Port *port)
2638
2650
filter , server_name ,
2639
2651
ldap_err2string (error )),
2640
2652
errdetail_for_ldap (ldap )));
2653
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_GET_DN );
2641
2654
ldap_unbind (ldap );
2655
+ pgstat_report_wait_end ();
2642
2656
pfree (passwd );
2643
2657
pfree (filter );
2644
2658
ldap_msgfree (search_message );
@@ -2666,7 +2680,9 @@ CheckLDAPAuth(Port *port)
2666
2680
(errmsg ("LDAP login failed for user \"%s\" on server \"%s\": %s" ,
2667
2681
fulluser , server_name , ldap_err2string (r )),
2668
2682
errdetail_for_ldap (ldap )));
2683
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_AFTER_BIND );
2669
2684
ldap_unbind (ldap );
2685
+ pgstat_report_wait_end ();
2670
2686
pfree (passwd );
2671
2687
pfree (fulluser );
2672
2688
return STATUS_ERROR ;
@@ -2675,7 +2691,9 @@ CheckLDAPAuth(Port *port)
2675
2691
/* Save the original bind DN as the authenticated identity. */
2676
2692
set_authn_id (port , fulluser );
2677
2693
2694
+ pgstat_report_wait_start (WAIT_EVENT_LDAP_UNBIND_SUCCESS );
2678
2695
ldap_unbind (ldap );
2696
+ pgstat_report_wait_end ();
2679
2697
pfree (passwd );
2680
2698
pfree (fulluser );
2681
2699
0 commit comments