mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	terminate-psql-sessions: Remove postgres <9.2 support.
Those older versions of postgres reached end-of-life upstream, and it makes this shell script easier to read.
This commit is contained in:
		@@ -1,10 +1,6 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
set -e
 | 
			
		||||
 | 
			
		||||
vergte() {
 | 
			
		||||
    [ "$1" = "$(echo -e "$1\\n$2" | sort -V | tail -n1)" ]
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
DEFAULT_USER="postgres"
 | 
			
		||||
if [ "$(uname)" = "OpenBSD" ]; then
 | 
			
		||||
  DEFAULT_USER="_postgresql"
 | 
			
		||||
@@ -22,18 +18,13 @@ username=$1
 | 
			
		||||
 | 
			
		||||
shift
 | 
			
		||||
tables=$(echo "'$*'" | sed "s/ /','/g")
 | 
			
		||||
if vergte "$major" "9.2"; then
 | 
			
		||||
    pidname="pid"
 | 
			
		||||
else
 | 
			
		||||
    pidname="procpid"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$EUID" -eq 0 ]; then
 | 
			
		||||
    sudo -u "$DEFAULT_USER" sh -c "psql postgres '$DEFAULT_USER'" <<EOF
 | 
			
		||||
SELECT pg_terminate_backend($pidname) FROM pg_stat_activity WHERE datname IN ($tables);
 | 
			
		||||
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname IN ($tables);
 | 
			
		||||
EOF
 | 
			
		||||
else
 | 
			
		||||
    psql -h localhost postgres "$username" <<EOF
 | 
			
		||||
SELECT pg_terminate_backend($pidname) FROM pg_stat_activity WHERE datname IN ($tables);
 | 
			
		||||
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname IN ($tables);
 | 
			
		||||
EOF
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user