Skip to content

Commit 58368b1

Browse files
committed
Run a monthly reindex of the smaller database tables
1 parent 60d0de6 commit 58368b1

File tree

3 files changed

+62
-0
lines changed

3 files changed

+62
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
REINDEX (VERBOSE) TABLE CONCURRENTLY acls;
2+
REINDEX (VERBOSE) TABLE CONCURRENTLY active_storage_attachments;
3+
REINDEX (VERBOSE) TABLE CONCURRENTLY active_storage_blobs;
4+
REINDEX (VERBOSE) TABLE CONCURRENTLY active_storage_variant_records;
5+
REINDEX (VERBOSE) TABLE CONCURRENTLY ar_internal_metadata;
6+
REINDEX (VERBOSE) TABLE CONCURRENTLY changeset_comments;
7+
REINDEX (VERBOSE) TABLE CONCURRENTLY changeset_tags;
8+
REINDEX (VERBOSE) TABLE CONCURRENTLY changesets;
9+
REINDEX (VERBOSE) TABLE CONCURRENTLY changesets_subscribers;
10+
REINDEX (VERBOSE) TABLE CONCURRENTLY client_applications;
11+
REINDEX (VERBOSE) TABLE CONCURRENTLY current_relation_members;
12+
REINDEX (VERBOSE) TABLE CONCURRENTLY delayed_jobs;
13+
REINDEX (VERBOSE) TABLE CONCURRENTLY diary_comments;
14+
REINDEX (VERBOSE) TABLE CONCURRENTLY diary_entries;
15+
REINDEX (VERBOSE) TABLE CONCURRENTLY diary_entry_subscriptions;
16+
REINDEX (VERBOSE) TABLE CONCURRENTLY friends;
17+
REINDEX (VERBOSE) TABLE CONCURRENTLY issue_comments;
18+
REINDEX (VERBOSE) TABLE CONCURRENTLY issues;
19+
REINDEX (VERBOSE) TABLE CONCURRENTLY languages;
20+
REINDEX (VERBOSE) TABLE CONCURRENTLY messages;
21+
REINDEX (VERBOSE) TABLE CONCURRENTLY note_comments;
22+
REINDEX (VERBOSE) TABLE CONCURRENTLY notes;
23+
REINDEX (VERBOSE) TABLE CONCURRENTLY oauth_access_grants;
24+
REINDEX (VERBOSE) TABLE CONCURRENTLY oauth_access_tokens;
25+
REINDEX (VERBOSE) TABLE CONCURRENTLY oauth_applications;
26+
REINDEX (VERBOSE) TABLE CONCURRENTLY oauth_nonces;
27+
REINDEX (VERBOSE) TABLE CONCURRENTLY oauth_tokens;
28+
REINDEX (VERBOSE) TABLE CONCURRENTLY redactions;
29+
REINDEX (VERBOSE) TABLE CONCURRENTLY reports;
30+
REINDEX (VERBOSE) TABLE CONCURRENTLY schema_migrations;
31+
REINDEX (VERBOSE) TABLE CONCURRENTLY user_blocks;
32+
REINDEX (VERBOSE) TABLE CONCURRENTLY user_preferences;
33+
REINDEX (VERBOSE) TABLE CONCURRENTLY user_roles;
34+
REINDEX (VERBOSE) TABLE CONCURRENTLY user_tokens;
35+
REINDEX (VERBOSE) TABLE CONCURRENTLY users;

cookbooks/db/recipes/master.rb

+23
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,26 @@
8383
database "openstreetmap"
8484
only_if { node[:postgresql][:clusters][node[:db][:cluster]] && node[:postgresql][:clusters][node[:db][:cluster]][:version] >= 9.0 }
8585
end
86+
87+
cookbook_file "/usr/local/share/monthly-reindex.sql" do
88+
owner "root"
89+
group "root"
90+
mode "644"
91+
end
92+
93+
systemd_service "monthly-reindex" do
94+
description "Monthly database reindex"
95+
exec_start "/usr/bin/psql -f /usr/local/share/monthly-reindex.sql openstreetmap"
96+
user "postgres"
97+
sandbox true
98+
restrict_address_families "AF_UNIX"
99+
end
100+
101+
systemd_timer "monthly-reindex" do
102+
description "Monthly database reindex"
103+
on_calendar "Sun *-*-1..7 02:00"
104+
end
105+
106+
service "monthly-reindex.timer" do
107+
action [:enable, :start]
108+
end

cookbooks/db/recipes/slave.rb

+4
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,7 @@
1818
#
1919

2020
include_recipe "db::base"
21+
22+
service "monthly-reindex.timer" do
23+
action [:disable, :stop]
24+
end

0 commit comments

Comments
 (0)