Test Environment - Virtual Machine description » History » Version 1
Herve Ballans, 19/06/2015 14:37
1 | 1 | Herve Ballans | {{>toc}} |
---|---|---|---|
2 | 1 | Herve Ballans | |
3 | 1 | Herve Ballans | h1. Test Environment |
4 | 1 | Herve Ballans | |
5 | 1 | Herve Ballans | h2. Virtual Machine description |
6 | 1 | Herve Ballans | |
7 | 1 | Herve Ballans | Test machine is a virtual machine on a ProxMox environment. |
8 | 1 | Herve Ballans | Physically stored on inf-proxmox2 |
9 | 1 | Herve Ballans | VM Name : idoc-netdrms |
10 | 1 | Herve Ballans | VM id : 130 |
11 | 1 | Herve Ballans | memory : 4.00GB |
12 | 1 | Herve Ballans | CPU : 4 CPUs |
13 | 1 | Herve Ballans | Hard Disk 1 : 64 GB (OS + NetDRMS software) |
14 | 1 | Herve Ballans | Hard Disk 2 : 1 TB (Databases) |
15 | 1 | Herve Ballans | |
16 | 1 | Herve Ballans | Not in HA configuration. VM Backup each day. |
17 | 1 | Herve Ballans | |
18 | 1 | Herve Ballans | Guest OS : Debian 7.7 |
19 | 1 | Herve Ballans | Guest kernel : Linux idoc-netdrms 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2+deb7u2 x86_64 GNU/Linux |
20 | 1 | Herve Ballans | |
21 | 1 | Herve Ballans | h2. Manual install of postgresql |
22 | 1 | Herve Ballans | |
23 | 1 | Herve Ballans | h3. Prerequisites |
24 | 1 | Herve Ballans | |
25 | 1 | Herve Ballans | <pre> |
26 | 1 | Herve Ballans | # apt-get --purge remove postgresql* |
27 | 1 | Herve Ballans | </pre> |
28 | 1 | Herve Ballans | |
29 | 1 | Herve Ballans | The following packages will be REMOVED: |
30 | 1 | Herve Ballans | postgresql-9.1* postgresql-client-9.1* postgresql-client-common* postgresql-common* |
31 | 1 | Herve Ballans | 0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. |
32 | 1 | Herve Ballans | After this operation, 21.9 MB disk space will be freed. |
33 | 1 | Herve Ballans | Do you want to continue [Y/n]? |
34 | 1 | Herve Ballans | (Reading database ... 25241 files and directories currently installed.) |
35 | 1 | Herve Ballans | Removing postgresql-9.1 ... |
36 | 1 | Herve Ballans | [ ok ] Stopping PostgreSQL 9.1 database server: main. |
37 | 1 | Herve Ballans | Purging configuration files for postgresql-9.1 ... |
38 | 1 | Herve Ballans | Dropping cluster main... |
39 | 1 | Herve Ballans | Removing postgresql-client-9.1 ... |
40 | 1 | Herve Ballans | Removing postgresql-common ... |
41 | 1 | Herve Ballans | Removing 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common' |
42 | 1 | Herve Ballans | Purging configuration files for postgresql-common ... |
43 | 1 | Herve Ballans | Removing postgresql-client-common ... |
44 | 1 | Herve Ballans | Purging configuration files for postgresql-client-common ... |
45 | 1 | Herve Ballans | Processing triggers for man-db ... |
46 | 1 | Herve Ballans | |
47 | 1 | Herve Ballans | <pre> |
48 | 1 | Herve Ballans | |
49 | 1 | Herve Ballans | # wget https://ftp.postgresql.org/pub/source/v9.3.5/postgresql-9.3.5.tar.gz |
50 | 1 | Herve Ballans | |
51 | 1 | Herve Ballans | # tar -xzvf postgresql-9.3.5.tar.gz |
52 | 1 | Herve Ballans | </pre> |
53 | 1 | Herve Ballans | |
54 | 1 | Herve Ballans | Before compiling, I verify that patch required by NetDRMS (voir [[ici|http://vso.stanford.edu/netdrms/pginst.html]]) was really present in source files : |
55 | 1 | Herve Ballans | |
56 | 1 | Herve Ballans | _src/backend/utils/misc/guc.c_ and _src/bin/pg_dump/pg_dump.c_ |
57 | 1 | Herve Ballans | |
58 | 1 | Herve Ballans | <pre> |
59 | 1 | Herve Ballans | # apt-get update |
60 | 1 | Herve Ballans | # apt-get upgrade |
61 | 1 | Herve Ballans | # apt-get install gcc make libreadline-dev zlib-bin zlib1g* |
62 | 1 | Herve Ballans | </pre> |
63 | 1 | Herve Ballans | |
64 | 1 | Herve Ballans | h3. Installation |
65 | 1 | Herve Ballans | |
66 | 1 | Herve Ballans | <pre> |
67 | 1 | Herve Ballans | # ./configure |
68 | 1 | Herve Ballans | # make |
69 | 1 | Herve Ballans | # su |
70 | 1 | Herve Ballans | # make install |
71 | 1 | Herve Ballans | # adduser postgres |
72 | 1 | Herve Ballans | </pre> |
73 | 1 | Herve Ballans | |
74 | 1 | Herve Ballans | h3. Test database |
75 | 1 | Herve Ballans | |
76 | 1 | Herve Ballans | <pre> |
77 | 1 | Herve Ballans | # mkdir /usr/local/pgsql/data |
78 | 1 | Herve Ballans | # chown postgres /usr/local/pgsql/data |
79 | 1 | Herve Ballans | # su - postgres |
80 | 1 | Herve Ballans | # /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data |
81 | 1 | Herve Ballans | # /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data >logfile 2>&1 & |
82 | 1 | Herve Ballans | # /usr/local/pgsql/bin/createdb test |
83 | 1 | Herve Ballans | # /usr/local/pgsql/bin/psql test |
84 | 1 | Herve Ballans | </pre> |
85 | 1 | Herve Ballans | |
86 | 1 | Herve Ballans | h3. Shared postgresql library |
87 | 1 | Herve Ballans | |
88 | 1 | Herve Ballans | <pre> |
89 | 1 | Herve Ballans | # vi /etc/ld.so.conf/libc.conf |
90 | 1 | Herve Ballans | </pre> |
91 | 1 | Herve Ballans | add : |
92 | 1 | Herve Ballans | <pre> |
93 | 1 | Herve Ballans | /usr/local/pgsql/lib |
94 | 1 | Herve Ballans | </pre> |
95 | 1 | Herve Ballans | |
96 | 1 | Herve Ballans | h3. Boot start-up |
97 | 1 | Herve Ballans | |
98 | 1 | Herve Ballans | We create an init script in order to start postgresql on boot |
99 | 1 | Herve Ballans | |
100 | 1 | Herve Ballans | <pre> |
101 | 1 | Herve Ballans | # vi /etc/init.d/postgresql |
102 | 1 | Herve Ballans | </pre> |
103 | 1 | Herve Ballans | |
104 | 1 | Herve Ballans | Content : |
105 | 1 | Herve Ballans | |
106 | 1 | Herve Ballans | <pre> |
107 | 1 | Herve Ballans | #! /bin/sh |
108 | 1 | Herve Ballans | |
109 | 1 | Herve Ballans | # chkconfig: 2345 98 02 |
110 | 1 | Herve Ballans | # description: PostgreSQL RDBMS |
111 | 1 | Herve Ballans | |
112 | 1 | Herve Ballans | # This is an example of a start/stop script for SysV-style init, such |
113 | 1 | Herve Ballans | # as is used on Linux systems. You should edit some of the variables |
114 | 1 | Herve Ballans | # and maybe the 'echo' commands. |
115 | 1 | Herve Ballans | # |
116 | 1 | Herve Ballans | # Place this file at /etc/init.d/postgresql (or |
117 | 1 | Herve Ballans | # /etc/rc.d/init.d/postgresql) and make symlinks to |
118 | 1 | Herve Ballans | # /etc/rc.d/rc0.d/K02postgresql |
119 | 1 | Herve Ballans | # /etc/rc.d/rc1.d/K02postgresql |
120 | 1 | Herve Ballans | # /etc/rc.d/rc2.d/K02postgresql |
121 | 1 | Herve Ballans | # /etc/rc.d/rc3.d/S98postgresql |
122 | 1 | Herve Ballans | # /etc/rc.d/rc4.d/S98postgresql |
123 | 1 | Herve Ballans | # /etc/rc.d/rc5.d/S98postgresql |
124 | 1 | Herve Ballans | # Or, if you have chkconfig, simply: |
125 | 1 | Herve Ballans | # chkconfig --add postgresql |
126 | 1 | Herve Ballans | # |
127 | 1 | Herve Ballans | # Proper init scripts on Linux systems normally require setting lock |
128 | 1 | Herve Ballans | # and pid files under /var/run as well as reacting to network |
129 | 1 | Herve Ballans | # settings, so you should treat this with care. |
130 | 1 | Herve Ballans | |
131 | 1 | Herve Ballans | # Original author: Ryan Kirkpatrick <pgsql@rkirkpat.net> |
132 | 1 | Herve Ballans | |
133 | 1 | Herve Ballans | # $PostgreSQL: pgsql/contrib/start-scripts/linux,v 1.8 2006/07/13 14:44:33 petere Exp $ |
134 | 1 | Herve Ballans | |
135 | 1 | Herve Ballans | ## EDIT FROM HERE |
136 | 1 | Herve Ballans | |
137 | 1 | Herve Ballans | # Installation prefix |
138 | 1 | Herve Ballans | prefix=/usr/local/pgsql |
139 | 1 | Herve Ballans | |
140 | 1 | Herve Ballans | # Data directory |
141 | 1 | Herve Ballans | PGDATA="/usr/local/pgsql/data" |
142 | 1 | Herve Ballans | |
143 | 1 | Herve Ballans | # Who to run the postmaster as, usually "postgres". (NOT "root") |
144 | 1 | Herve Ballans | PGUSER=postgres |
145 | 1 | Herve Ballans | |
146 | 1 | Herve Ballans | # Where to keep a log file |
147 | 1 | Herve Ballans | PGLOG="$PGDATA/serverlog" |
148 | 1 | Herve Ballans | |
149 | 1 | Herve Ballans | ## STOP EDITING HERE |
150 | 1 | Herve Ballans | |
151 | 1 | Herve Ballans | # The path that is to be used for the script |
152 | 1 | Herve Ballans | PATH=/usr/local/sbin:/usr/local/bin:/usr/local/pgsql/bin:/sbin:/bin:/usr/sbin:/usr/bin |
153 | 1 | Herve Ballans | |
154 | 1 | Herve Ballans | # What to use to start up the postmaster (we do NOT use pg_ctl for this, |
155 | 1 | Herve Ballans | # as it adds no value and can cause the postmaster to misrecognize a stale |
156 | 1 | Herve Ballans | # lock file) |
157 | 1 | Herve Ballans | DAEMON="$prefix/bin/postmaster" |
158 | 1 | Herve Ballans | |
159 | 1 | Herve Ballans | # What to use to shut down the postmaster |
160 | 1 | Herve Ballans | PGCTL="$prefix/bin/pg_ctl" |
161 | 1 | Herve Ballans | |
162 | 1 | Herve Ballans | set -e |
163 | 1 | Herve Ballans | |
164 | 1 | Herve Ballans | # Only start if we can find the postmaster. |
165 | 1 | Herve Ballans | test -x $DAEMON || exit 0 |
166 | 1 | Herve Ballans | |
167 | 1 | Herve Ballans | # Parse command line parameters. |
168 | 1 | Herve Ballans | case $1 in |
169 | 1 | Herve Ballans | start) |
170 | 1 | Herve Ballans | echo -n "Starting PostgreSQL: " |
171 | 1 | Herve Ballans | su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 |
172 | 1 | Herve Ballans | echo "ok" |
173 | 1 | Herve Ballans | ;; |
174 | 1 | Herve Ballans | stop) |
175 | 1 | Herve Ballans | echo -n "Stopping PostgreSQL: " |
176 | 1 | Herve Ballans | su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast" |
177 | 1 | Herve Ballans | echo "ok" |
178 | 1 | Herve Ballans | ;; |
179 | 1 | Herve Ballans | restart) |
180 | 1 | Herve Ballans | echo -n "Restarting PostgreSQL: " |
181 | 1 | Herve Ballans | su - $PGUSER -c "$PGCTL stop -D '$PGDATA' -s -m fast -w" |
182 | 1 | Herve Ballans | su - $PGUSER -c "$DAEMON -D '$PGDATA' &" >>$PGLOG 2>&1 |
183 | 1 | Herve Ballans | echo "ok" |
184 | 1 | Herve Ballans | ;; |
185 | 1 | Herve Ballans | reload) |
186 | 1 | Herve Ballans | echo -n "Reload PostgreSQL: " |
187 | 1 | Herve Ballans | su - $PGUSER -c "$PGCTL reload -D '$PGDATA' -s" |
188 | 1 | Herve Ballans | echo "ok" |
189 | 1 | Herve Ballans | ;; |
190 | 1 | Herve Ballans | status) |
191 | 1 | Herve Ballans | su - $PGUSER -c "$PGCTL status -D '$PGDATA'" |
192 | 1 | Herve Ballans | ;; |
193 | 1 | Herve Ballans | *) |
194 | 1 | Herve Ballans | # Print help |
195 | 1 | Herve Ballans | echo "Usage: $0 {start|stop|restart|reload|status}" 1>&2 |
196 | 1 | Herve Ballans | exit 1 |
197 | 1 | Herve Ballans | ;; |
198 | 1 | Herve Ballans | esac |
199 | 1 | Herve Ballans | |
200 | 1 | Herve Ballans | exit 0 |
201 | 1 | Herve Ballans | </pre> |