@@ -645,38 +645,6 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
645
645
else
646
646
nulls [16 ] = true;
647
647
648
- if (beentry -> st_ssl )
649
- {
650
- values [18 ] = BoolGetDatum (true); /* ssl */
651
- values [19 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_version );
652
- values [20 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_cipher );
653
- values [21 ] = Int32GetDatum (beentry -> st_sslstatus -> ssl_bits );
654
- values [22 ] = BoolGetDatum (beentry -> st_sslstatus -> ssl_compression );
655
-
656
- if (beentry -> st_sslstatus -> ssl_client_dn [0 ])
657
- values [23 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_client_dn );
658
- else
659
- nulls [23 ] = true;
660
-
661
- if (beentry -> st_sslstatus -> ssl_client_serial [0 ])
662
- values [24 ] = DirectFunctionCall3 (numeric_in ,
663
- CStringGetDatum (beentry -> st_sslstatus -> ssl_client_serial ),
664
- ObjectIdGetDatum (InvalidOid ),
665
- Int32GetDatum (-1 ));
666
- else
667
- nulls [24 ] = true;
668
-
669
- if (beentry -> st_sslstatus -> ssl_issuer_dn [0 ])
670
- values [25 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_issuer_dn );
671
- else
672
- nulls [25 ] = true;
673
- }
674
- else
675
- {
676
- values [18 ] = BoolGetDatum (false); /* ssl */
677
- nulls [19 ] = nulls [20 ] = nulls [21 ] = nulls [22 ] = nulls [23 ] = nulls [24 ] = nulls [25 ] = true;
678
- }
679
-
680
648
/* Values only available to role member or pg_read_all_stats */
681
649
if (has_privs_of_role (GetUserId (), beentry -> st_userid ) ||
682
650
is_member_of_role (GetUserId (), DEFAULT_ROLE_READ_ALL_STATS ))
@@ -854,6 +822,39 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
854
822
else
855
823
values [17 ] =
856
824
CStringGetTextDatum (pgstat_get_backend_desc (beentry -> st_backendType ));
825
+
826
+ /* SSL information */
827
+ if (beentry -> st_ssl )
828
+ {
829
+ values [18 ] = BoolGetDatum (true); /* ssl */
830
+ values [19 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_version );
831
+ values [20 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_cipher );
832
+ values [21 ] = Int32GetDatum (beentry -> st_sslstatus -> ssl_bits );
833
+ values [22 ] = BoolGetDatum (beentry -> st_sslstatus -> ssl_compression );
834
+
835
+ if (beentry -> st_sslstatus -> ssl_client_dn [0 ])
836
+ values [23 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_client_dn );
837
+ else
838
+ nulls [23 ] = true;
839
+
840
+ if (beentry -> st_sslstatus -> ssl_client_serial [0 ])
841
+ values [24 ] = DirectFunctionCall3 (numeric_in ,
842
+ CStringGetDatum (beentry -> st_sslstatus -> ssl_client_serial ),
843
+ ObjectIdGetDatum (InvalidOid ),
844
+ Int32GetDatum (-1 ));
845
+ else
846
+ nulls [24 ] = true;
847
+
848
+ if (beentry -> st_sslstatus -> ssl_issuer_dn [0 ])
849
+ values [25 ] = CStringGetTextDatum (beentry -> st_sslstatus -> ssl_issuer_dn );
850
+ else
851
+ nulls [25 ] = true;
852
+ }
853
+ else
854
+ {
855
+ values [18 ] = BoolGetDatum (false); /* ssl */
856
+ nulls [19 ] = nulls [20 ] = nulls [21 ] = nulls [22 ] = nulls [23 ] = nulls [24 ] = nulls [25 ] = true;
857
+ }
857
858
}
858
859
else
859
860
{
@@ -870,6 +871,14 @@ pg_stat_get_activity(PG_FUNCTION_ARGS)
870
871
nulls [13 ] = true;
871
872
nulls [14 ] = true;
872
873
nulls [17 ] = true;
874
+ nulls [18 ] = true;
875
+ nulls [19 ] = true;
876
+ nulls [20 ] = true;
877
+ nulls [21 ] = true;
878
+ nulls [22 ] = true;
879
+ nulls [23 ] = true;
880
+ nulls [24 ] = true;
881
+ nulls [25 ] = true;
873
882
}
874
883
875
884
tuplestore_putvalues (tupstore , tupdesc , values , nulls );
0 commit comments