By the time the client connects, it typically doesn't present the hostname it used. The client resolves the hostname in DNS and connects to the IP(s) that were returned from the DNS lookup.
Kerberos connections will fail if the client uses a hostname that doesn't correspond to an SPN registered for the SQL Server service account. And NTLM can fail if the ...
Yes there is such an extension: pg_stat_statements
The pg_stat_statements module provides a means for tracking execution statistics of all SQL statements executed by a server.
Tools like PoWA use this extension and provide others performance metrics that you might be interested in.
Why might the tempdb log grow
The usual suspect for delaying tempdb log file truncation is a long-running transaction. You can run a query like this, while the problem is occurring, to see why the log can't be truncated:
SELECT log_reuse_wait, log_reuse_wait_desc
FROM sys.databases d
WHERE database_id = 2;
The reasons are described on this MS docs page.
There is a stored procedure called SpaceUsedRating:
When you execute it exec SpaceUsedRating without any parameters, it will show space usage stats inside a given database
This procedure can also be called with parameter @command = 'log'
When called with @command = 'log' parameter, this SP ...
CXCONSUMER occurs when a consumer thread waits for a producer thread to send rows.
CXPACKET occurs when trying to synchronize the query processor exchange iterator or getting a required buffer.
CXCONSUMER waits are generally benign, encountered as a normal part of parallel(CXPACKET) execution.
Anything that you do here will impact performance somewhere. But if it's a requirement then it's a requirement. The methods you've laid out in your question are the accepted, low impact methods of getting that.
You can mitigate the large log files by rolling over to a new file more frequently. By default it does that on every server restart, but you ...
At the last large place I worked, I kept the slowlog going on over 100 production servers -- masters and replicas, some large, some small. There was essentially no downside.
long_query_time = 1 is probably a good compromise -- it catches long-running queries, plus some of the frequently-run-but-slow queries. Meanwhile, it does not flood the log file.
You can use pt-query-digest --processlist
While there are four different ways to use it, IMHO the best way to use it is to poll the processlist and collect metrics every hour. This method does not need a slow query log.
I have suggested this before (See mysql 5.7 general_log table has user_host but the file does not)
I have promoted this idea many times over ...
I cannot list everything you need to monitor for a database. The biggest factor is 'It Depends'. I am going to list a few articles that might give you a starting point and from there you can adjust.
SQL Server Monitoring Tips--I know you are not looking for how to monitor but what to monitor. If you go thru these categories and cover all you will cover most ...
I think what you are looking for is Query Store, but this is available only for SQL Server 2016 or higher.
For SQL Server 2014 or lower, you can set up an Extended Events (XEvents) session to capture the queries running longer than X amount of time. XEvents are really easy to use and quite intuitive, the only thing you should pay attention to is how much ...
RDS instances use Elastic Block Storage (EBS). EBS documentation explains what request merge means:
the underlying drive technology determines the maximum amount of data that a volume type counts as a single I/O. I/O size is capped at 256 KiB for SSD volumes and 1,024 KiB for HDD volumes because SSD volumes handle small or random I/O much more efficiently ...
Looking at the definition of pg_stats:
FROM pg_statistic s
JOIN pg_class c ON c.oid = s.starelid
JOIN pg_attribute a ON c.oid = a.attrelid AND a.attnum = s.staattnum
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE NOT a.attisdropped AND has_column_privilege(c.oid, a.attnum, 'select'::text)
AND (c.relrowsecurity = false OR NOT ...