Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit97526b4

Browse files
committed
postgres role for deploy
1 parent3f882e3 commit97526b4

File tree

3 files changed

+156
-2
lines changed

3 files changed

+156
-2
lines changed
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
---
2+
3+
-name:ensure dependencies (Debian)
4+
apt:pkg={{item}} state=installed
5+
with_items:
6+
-git
7+
-automake
8+
-libtool
9+
-build-essential
10+
-bison
11+
-flex
12+
-libreadline-dev
13+
when:ansible_os_family == "Debian"
14+
sudo:yes
15+
16+
-name:ensure dependencies (RedHat)
17+
yum:name="@Development tools" state=present
18+
when:(pg_copydist is undefined) and ansible_os_family == "RedHat"
19+
sudo:yes
20+
21+
-name:ensure dependencies (RedHat)
22+
yum:name={{item}} state=installed
23+
with_items:
24+
-git
25+
-automake
26+
-libtool
27+
-bison
28+
-flex
29+
-readline-devel
30+
when:(pg_copydist is undefined) and ansible_os_family == "RedHat"
31+
sudo:yes
32+
33+
-name:increase semaphores
34+
shell:sysctl kernel.sem='1000 128000 128 512'
35+
sudo:yes
36+
37+
-name:increase open files
38+
shell:"echo '{{ansible_ssh_user}} soft nofile 65535' > /etc/security/limits.d/cluster.conf"
39+
args:
40+
creates:"/etc/security/limits.d/cluster.conf"
41+
sudo:yes
42+
43+
#############################################################################
44+
45+
-name:clone postgres sources
46+
git:repo={{pg_repo}}
47+
dest={{pg_src}}
48+
version={{pg_version_tag}}
49+
depth=1
50+
accept_hostkey=True
51+
register:pg_sources
52+
when:pg_copydist is undefined
53+
54+
-name:force rebuild on changed sources
55+
command:"rm -f {{pg_dst}}/bin/postgres"
56+
when:(pg_copydist is undefined) and pg_sources.changed
57+
58+
-name:build and install
59+
shell:./configure --prefix={{pg_dst}} --without-zlib && make clean && make -j {{makejobs}} && make install
60+
args:
61+
chdir:"{{pg_src}}"
62+
creates:"{{pg_dst}}/bin/postgres"
63+
when:pg_copydist is undefined
64+
65+
#############################################################################
66+
67+
-name:copy pg source
68+
copy:src=./{{item}} dest=~/{{item}} mode=0755
69+
with_items:
70+
-"pg_cluster_install.tgz"
71+
when:pg_copydist is defined
72+
73+
-name:extract postgres
74+
command:"tar xzf pg_cluster_install.tgz"
75+
when:pg_copydist is defined
76+
77+
#############################################################################
78+
79+
-stat:path={{pg_datadir}}/postmaster.pid
80+
register:pg_pidfile
81+
82+
# - name: stop postgres if it was running
83+
# command: "{{pg_dst}}/bin/pg_ctl stop -w -D {{pg_datadir}}"
84+
# environment:
85+
# LD_LIBRARY_PATH: "{{pg_dst}}/lib"
86+
# when: pg_pidfile.stat.exists
87+
88+
-name:stop postgres if it was running
89+
shell:"kill -9 `head -n 1 {{pg_datadir}}/postmaster.pid`"
90+
environment:
91+
LD_LIBRARY_PATH:"{{pg_dst}}/lib"
92+
when:pg_pidfile.stat.exists
93+
94+
-name:remove datadirs on datanodes
95+
command:"rm -rf {{pg_datadir}}"
96+
when:pg_destroy_and_init
97+
98+
-name:create datadirs on datanodes
99+
command:"{{pg_dst}}/bin/initdb {{pg_datadir}}"
100+
environment:
101+
LD_LIBRARY_PATH:"{{pg_dst}}/lib/"
102+
args:
103+
creates:"{{pg_datadir}}"
104+
105+
-name:configure postgres on datanodes
106+
lineinfile:
107+
dest:"{{pg_datadir}}/postgresql.conf"
108+
line:"{{item.line}}"
109+
state:present
110+
with_items:"{{pg_config}}"
111+
112+
-name:configure postgres on datanodes -- 2
113+
lineinfile:
114+
dest:"{{pg_datadir}}/postgresql.conf"
115+
line:"{{item.line}}"
116+
state:present
117+
with_items:"{{pg_config_role}}"
118+
119+
-name:enable blind trust on datanodes
120+
lineinfile:
121+
dest:"{{pg_datadir}}/pg_hba.conf"
122+
line:"host all all 0.0.0.0/0 trust"
123+
124+
-name:start postgrespro
125+
shell:"{{pg_dst}}/bin/pg_ctl start -w -D {{pg_datadir}} -l {{pg_datadir}}/pg.log"
126+
environment:
127+
LD_LIBRARY_PATH:"{{pg_dst}}/lib/"
128+
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# vim: ts=2 sts=2 sw=2 expandtab
2+
---
3+
makejobs:4
4+
5+
pg_repo:git://git.postgresql.org/git/postgresql.git
6+
pg_version_tag:master
7+
8+
pg_destroy_and_init:false
9+
10+
pg_port:5432
11+
pg_config:
12+
-line:"shared_buffers = 3GB"
13+
-line:"wal_keep_segments = 128"
14+
-line:"fsync = off"
15+
-line:"autovacuum = off"
16+
-line:"listen_addresses = '*'"
17+
-line:"max_connections = 2048"
18+
-line:"max_prepared_transactions = 4000"
19+
-line:"port = {{pg_port}}"
20+
pg_config_role:
21+
-line:"#pg_config_role"
22+
23+
pg_prefix:"{{ansible_env.HOME}}/pg_cluster"
24+
pg_src:"{{pg_prefix}}/src"
25+
pg_dst:"{{pg_prefix}}/install"
26+
pg_datadir:"{{pg_prefix}}/data_{{pg_port}}"

‎tests/perf.yml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
gather_facts:no
3131
tasks:
3232
-name:init database
33-
shell:"~/pg_cluster/install/bin/dtmbench {{connections}} -a2000000 -i"
33+
shell:"~/pg_cluster/install/bin/dtmbench {{connections}} -a500000 -i"
3434
register:init_result
3535
-debug:var=init_result
3636

@@ -44,7 +44,7 @@
4444
shell:>
4545
~/pg_cluster/install/bin/dtmbench {{connections}}
4646
-w {{ (nconns | d(100)| int)*(nnodes | d(2) | int)/(2*( groups['clients'] | count))}}
47-
-s {{offset}} -d 100000 -r 1 -n20000 -a 500000 |
47+
-s {{offset}} -d 100000 -r 1 -n2000 -a 500000 |
4848
tee -a perf.results |
4949
sed "s/^/`hostname`:/"
5050
register:transfers_result

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp