-
-
Save chen206/4030441 to your computer and use it in GitHub Desktop.
| #!/bin/bash | |
| # | |
| # Install Postgres 9.2 on a clean Ubuntu 12.04 | |
| """ | |
| LC_ALL issue | |
| comment out the AcceptEnv LANG LC_* line in the remote /etc/ssh/sshd_config file. | |
| sudo apt-get install language-pack-en-base | |
| sudo dpkg-reconfigure locales | |
| comment out the SendEnv LANG LC_* line in the local /etc/ssh/ssh_config file. | |
| """ | |
| sudo apt-get update | |
| sudo apt-get -y install python-software-properties | |
| sudo add-apt-repository ppa:pitti/postgresql | |
| sudo apt-get update | |
| sudo apt-get -y install postgresql-9.2 postgresql-client-9.2 postgresql-contrib-9.2 | |
| sudo apt-get -y install postgresql-server-dev-9.2 libpq-dev | |
| # pg_createcluster 9.2 main --start | |
| sudo passwd postgres | |
| su - postgres | |
| psql -c"alter user postgres with password 'postgres';" | |
| sudo vi /etc/sysctl.conf | |
| """ | |
| kernel.shmmax=8589934592 (8G * 1024 * 1024 * 1024) | |
| """ | |
| /sbin/sysctl -p | |
| sudo vi /etc/postgresql/9.2/main/postgresql.conf | |
| """ | |
| #data_directory = '/var/lib/postgresql/9.2/main' | |
| data_directory = '/mnt/postgresql/9.2/main' | |
| listen_addresses = '*' | |
| unix_socket_directory = '/var/run/postgresql' | |
| shared_buffers = 4096MB # < kernel.shmmax | |
| """ | |
| sudo vi /etc/postgresql/9.2/main/pg_hba.conf | |
| ''' | |
| local all postgres peer | |
| host all all 127.0.0.1/32 md5 | |
| host all all 192.168.1.0/24 md5 | |
| host all all 10.200.13.221/32 md5 | |
| host all all 10.200.0.117/32 md5 | |
| host all all ::1/128 md5 | |
| ''' | |
| # pgbouncer | |
| ''' | |
| sudo apt-get install build-essential | |
| sudo apt-get install libevent-dev | |
| wget http://pgfoundry.org/frs/download.php/3369/pgbouncer-1.5.3.tar.gz | |
| tar xvfz pgbouncer-1.5.3.tar.gz | |
| cd pgbouncer-1.5.3 | |
| ./configure --prefix=/usr/local | |
| make | |
| sudo make install | |
| sudo cp -r /usr/local/share/doc/pgbouncer /etc/ | |
| su postgres -c"pgbouncer -d /etc/pgbouncer/pgbouncer.ini" | |
| ''' | |
| sudo apt-get install pgbouncer | |
| # edit /etc/pgbouncer/pgbouncer.ini file | |
| # edit /etc/default/pgbouncer file and set START=1 | |
| sudo service pgbouncer start | |
| sudo vi /etc/pgbouncer/userlist.txt | |
| ''' | |
| "postgres" "postgres" | |
| ''' | |
| sudo vi /etc/pgbouncer/pgbouncer.ini | |
| """ | |
| [databases] | |
| * = port=5432 | |
| [pgbouncer] | |
| logfile = /var/log/postgresql/pgbouncer.log | |
| pidfile = /var/log/postgresql/pgbouncer.pid | |
| listen_addr = * | |
| listen_port = 6432 | |
| unix_socket_dir = /var/run/postgresql | |
| auth_type = trust | |
| auth_file = /etc/pgbouncer/userlist.txt | |
| admin_users = postgres | |
| stats_users = postgres | |
| pool_mode = transaction | |
| server_reset_query = DISCARD ALL; | |
| server_check_query = select 1 | |
| server_check_delay = 10 | |
| max_client_conn = 1000 | |
| default_pool_size = 20 | |
| log_connections = 1 | |
| log_disconnections = 1 | |
| log_pooler_errors = 1 | |
| """ | |
| # pgbench | |
| su - postgres | |
| createdb bench | |
| /usr/lib/postgresql/9.2/bin/pgbench -i -s 10 bench | |
| /usr/lib/postgresql/9.2/bin/pgbench -c 10 -C -T 60 bench | |
| /usr/lib/postgresql/9.2/bin/pgbench -c 10 -C -T 60 -p 6432 bench |
hi, there were some permission issues. the steps work just fine.
sorry to bother :)
๐
Followed the steps but script hangs on "reenter password for pam_mount:". Why? The partial output below:
postgresql-client-common postgresql-common
Suggested packages:
oidentd ident-server locales-all postgresql-doc-9.2 libdbd-pg-perl
The following NEW packages will be installed:
postgresql-9.2 postgresql-client-9.2 postgresql-client-common postgresql-common postgresql-contrib-9.2
0 upgraded, 5 newly installed, 0 to remove and 2 not upgraded.
Need to get 0 B/6,151 kB of archives.
After this operation, 25.2 MB of additional disk space will be used.
Preconfiguring packages ...
Selecting previously unselected package postgresql-client-common.
(Reading database ... 598171 files and directories currently installed.)
Unpacking postgresql-client-common (from .../postgresql-client-common_140precise_all.deb) ...precise_amd64.deb) ...
Selecting previously unselected package postgresql-client-9.2.
Unpacking postgresql-client-9.2 (from .../postgresql-client-9.2_9.2.4-0ppa1
Selecting previously unselected package postgresql-common.
Unpacking postgresql-common (from .../postgresql-common_140precise_all.deb) ...precise_amd64.deb) ...
Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
Selecting previously unselected package postgresql-9.2.
Unpacking postgresql-9.2 (from .../postgresql-9.2_9.2.4-0ppa1
Selecting previously unselected package postgresql-contrib-9.2.
Unpacking postgresql-contrib-9.2 (from .../postgresql-contrib-9.2_9.2.4-0ppa1precise_amd64.deb) ...precise) ...
Processing triggers for man-db ...
Processing triggers for ureadahead ...
Setting up postgresql-client-common (140
Setting up postgresql-client-9.2 (9.2.4-0ppa1precise) ...precise) ...
Setting up postgresql-common (140
reenter password for pam_mount:
Thanks you for your guide ๐
Thank you for this guide!! Just changed to postgresql 9.5 and everything worked !!
thanks for the script.
i followed all the steps but got an error while starting pgbouncer.
the following are the logs from pgbouncer log file.
i did a 'lsof -i' to see which process is holding the socket and i get following output
can you please suggest a solution
thanks