I migrated a 200,000-post forum to a new server. The live site was put in read-only mode so there wouldn’t be downtime.
I restored the backup on a different subdomain so that users wouldn’t see the install screens or any problems that might happen during the restore – something like
As soon as the restore was complete, I pointed the DNS as the new server and changed the
app.yml file’s domain to the normal
Then all the smilies in the based posts were pointing at the
dev.example.com server, so I ran
It gets through about 1,000-2,000 posts before crashing with errors about the database connection.
Here are a couple of excerpts:
/usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor.rb:392:in `dispatch' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/cli.rb:34:in `dispatch' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/vendor/thor/lib/thor/base.rb:485:in `start' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/cli.rb:28:in `start' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/exe/bundle:45:in `block in <top (required)>' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/lib/bundler/friendly_errors.rb:117:in `with_friendly_errors' /usr/local/lib/ruby/gems/3.2.0/gems/bundler-2.4.4/exe/bundle:33:in `<top (required)>' /usr/local/bin/bundle:25:in `load' /usr/local/bin/bundle:25:in `<main>' 1999 / 200968 ( 1.0%) Failed to rebake (topic_id: 78730, post_id: 210607) PG::ConnectionBad: PQsocket() can't get socket descriptor
/var/www/discourse/lib/tasks/posts.rake:108:in `rebake_posts_all_sites' /var/www/discourse/lib/tasks/posts.rake:7:in `block in <main>' /usr/local/bin/bundle:25:in `load' /usr/local/bin/bundle:25:in `<main>' Caused by: PG::ConnectionBad: PQsocket() can't get socket descriptor
At the moment, I have the images loading by redirecting the
dev.example.com domain to the
forum.example.com domain, but it’s just a temporary solution.
Does anyone know how to get past that error so I can rebake all the posts? Is it creating too much load on the database?