You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							103 lines
						
					
					
						
							2.9 KiB
						
					
					
				
			
		
		
	
	
							103 lines
						
					
					
						
							2.9 KiB
						
					
					
				# PoWA for PostgreSQL
 | 
						|
# https://powa.readthedocs.io
 | 
						|
 | 
						|
##############################################################################
 | 
						|
# Install on PostgreSQL Servers
 | 
						|
# Using upstream postresql's repos, not Debian's repos.
 | 
						|
apt install postgresql-10-powa postgresql-10-pg-qualstats postgresql-10-pg-stat-kcache postgresql-10-hypopg
 | 
						|
 | 
						|
# Add permissions for PoWA node
 | 
						|
 | 
						|
# Configure postgres:
 | 
						|
vim /etc/postgresql/10/main/postgresql.conf
 | 
						|
 | 
						|
# Change:
 | 
						|
# shared_preload_libraries to (keeping citus):
 | 
						|
shared_preload_libraries='citus,pg_stat_statements,powa,pg_stat_kcache,pg_qualstats'
 | 
						|
# Enable:
 | 
						|
track_io_timing = on
 | 
						|
 | 
						|
# Create databases, run on each pg1 pg2 pg3 pg4 server:
 | 
						|
psql
 | 
						|
CREATE DATABASE powa ;
 | 
						|
\c powa
 | 
						|
CREATE EXTENSION pg_stat_statements;
 | 
						|
CREATE EXTENSION btree_gist;
 | 
						|
CREATE EXTENSION powa;
 | 
						|
CREATE EXTENSION pg_qualstats;
 | 
						|
CREATE EXTENSION pg_stat_kcache;
 | 
						|
CREATE EXTENSION hypopg;
 | 
						|
CREATE ROLE powa SUPERUSER LOGIN PASSWORD 'password' ;
 | 
						|
 | 
						|
##############################################################################
 | 
						|
# Install on Web Node
 | 
						|
 | 
						|
# Set up Debian Stretch node
 | 
						|
# Install postgres repos:
 | 
						|
echo 'deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main' > /etc/apt/sources.list.d/pgdg.list
 | 
						|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
 | 
						|
apt update
 | 
						|
apt dist-upgrade
 | 
						|
apt install postgresql-client-10
 | 
						|
 | 
						|
# There isn't a package of powa-web for Debian.
 | 
						|
# Install dependencies:
 | 
						|
apt install python python-psycopg2 python-sqlalchemy python-tornado
 | 
						|
 | 
						|
wget -O powa-web-3.1.4.tar.gz https://github.com/powa-team/powa-web/archive/3.1.4.tar.gz
 | 
						|
tar -zxvf powa-web-3.1.4.tar.gz
 | 
						|
cd powa-web-3.1.4
 | 
						|
# cp ./powa-web.conf-dist ./powa-web.conf
 | 
						|
cat > powa-web.conf <<EOF
 | 
						|
servers={
 | 
						|
  'pg1': {
 | 
						|
    'host': '10.52.1.91',
 | 
						|
    'port': '5432',
 | 
						|
    'database': 'powa',
 | 
						|
    'query': {'client_encoding': 'utf8'}
 | 
						|
  },
 | 
						|
  'pg2': {
 | 
						|
    'host': '10.52.1.92',
 | 
						|
    'port': '5432',
 | 
						|
    'database': 'powa',
 | 
						|
    'query': {'client_encoding': 'utf8'}
 | 
						|
  },
 | 
						|
  'pg3': {
 | 
						|
    'host': '10.52.1.93',
 | 
						|
    'port': '5432',
 | 
						|
    'database': 'powa',
 | 
						|
    'query': {'client_encoding': 'utf8'}
 | 
						|
  },
 | 
						|
  'pg4': {
 | 
						|
    'host': '10.52.1.94',
 | 
						|
    'port': '5432',
 | 
						|
    'database': 'powa',
 | 
						|
    'query': {'client_encoding': 'utf8'}
 | 
						|
  }
 | 
						|
}
 | 
						|
cookie_secret="password"
 | 
						|
EOF
 | 
						|
 | 
						|
./powa-web
 | 
						|
 | 
						|
# XXX setup user, startup scripts, etc.
 | 
						|
 | 
						|
 | 
						|
# From git version: XXX fail:
 | 
						|
# Unable to connect: powa-archivist version 3.1.X does not match powa-web version 3.2.X
 | 
						|
git clone https://github.com/powa-team/powa-web
 | 
						|
# Last version from git to work with 3.1.X:
 | 
						|
cd powa-web
 | 
						|
git checkout a14a85b3b29ae1d68c20e7394e4214d318a948f3
 | 
						|
./powa-web
 | 
						|
 | 
						|
##############################################################################
 | 
						|
# Admin Web Client
 | 
						|
 | 
						|
# On workstation create tunnel:
 | 
						|
ssh -N -C -L 58888:localhost:8888 powa
 | 
						|
 | 
						|
# On workstation, in browser, login user 'powa' with powa's postgres password.
 | 
						|
http://localhost:58888/
 | 
						|
##############################################################################
 |