# 移除 Akismet 反垃圾邮件插件时出错

**URL:** https://meta.discourse.org/t/error-while-trying-to-remove-the-anti-spam-akismet-plugin/258370
**Category:** Self-hosting
**Tags:** akismet
**Created:** [2023年三月16日 12:38 UTC](https://meta.discourse.org/t/error-while-trying-to-remove-the-anti-spam-akismet-plugin/258370 "2023-03-16T12:38:01Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![nono-lqdn](https://avatars.discourse-cdn.com/v4/letter/n/b3f665/32.png) [@nono-lqdn](https://meta.discourse.org/u/nono-lqdn)
#### Post date: [2023年三月16日 12:38 UTC](https://meta.discourse.org/t/error-while-trying-to-remove-the-anti-spam-akismet-plugin/258370/1 "2023-03-16T12:38:01Z")

</div>

你好，

我一直在尝试卸载 Akismet 反垃圾插件，因为它似乎不符合《通用数据保护条例》（RGPD）的要求；根据我们法律团队的分析，将数据在海外服务器进行分析在 RGPD 框架下似乎是非法的。

无论如何，我已经按照说明尝试卸载该插件，并执行了以下步骤：

1. 在论坛设置中停用该插件，
2. 使用 `./launcher enter app` 连接到 Docker 容器，
3. 运行命令 `bundle exec rake akismet_uninstall:delete_reviewables`，
4. 收到以下错误信息：

```plaintext
root@forum:/var/www/discourse# bundle exec rake akismet_uninstall:delete_reviewables
rake aborted!
ActiveRecord::NoDatabaseError: 我们找不到您的数据库：discourse。该数据库的配置信息位于 config/database.yml 文件中。

要解决此问题：

- 您是否已为该应用创建数据库，或者是否已删除它？您可能需要重新创建数据库。
- 数据库名称是否已更改？请检查您的 database.yml 配置中是否包含正确的数据库名称。

要创建数据库，请运行：

        bin/rails db:create
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:81:in `rescue in new_client'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:77:in `new_client'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:700:in `checkout_new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:679:in `try_to_checkout_new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:640:in `acquire_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:341:in `checkout'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_handler.rb:211:in `retrieve_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_handling.rb:313:in `retrieve_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_handling.rb:280:in `connection'
/var/www/discourse/lib/site_settings/db_provider.rb:58:in `table_exists?'
/var/www/discourse/lib/site_settings/db_provider.rb:14:in `all'
/var/www/discourse/lib/site_settings/defaults_provider.rb:30:in `db_all'
/var/www/discourse/lib/site_setting_extension.rb:285:in `block in refresh!'
/var/www/discourse/lib/site_setting_extension.rb:278:in `synchronize'
/var/www/discourse/lib/site_setting_extension.rb:278:in `refresh!'
/var/www/discourse/lib/site_setting_extension.rb:549:in `block in setup_methods'
/var/www/discourse/lib/site_setting_extension.rb:447:in `public_send'
/var/www/discourse/lib/site_setting_extension.rb:447:in `get'
/var/www/discourse/plugins/discourse-saml/plugin.rb:32:in `setting'
/var/www/discourse/plugins/discourse-saml/lib/saml_authenticator.rb:17:in `setting'
/var/www/discourse/plugins/discourse-saml/lib/saml_authenticator.rb:337:in `enabled?'
/var/www/discourse/lib/plugin/instance.rb:767:in `block in auth_provider'
/var/www/discourse/lib/plugin/instance.rb:514:in `block in notify_before_auth'
/var/www/discourse/lib/plugin/instance.rb:514:in `each'
/var/www/discourse/lib/plugin/instance.rb:514:in `notify_before_auth'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:14:in `each'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:14:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:37:in `new'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:37:in `build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:166:in `block in build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `inject'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:516:in `block in app'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:512:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:512:in `app'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:52:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

Caused by:
PG::ConnectionBad: 通过套接字 "/var/run/postgresql/.s.PGSQL.5432" 连接到服务器失败：致命错误：用户 "discourse" 的同行身份验证失败
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pg-1.4.5/lib/pg/connection.rb:632:in `async_connect_or_reset'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pg-1.4.5/lib/pg/connection.rb:760:in `connect_to_hosts'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pg-1.4.5/lib/pg/connection.rb:695:in `new'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/pg-1.4.5/lib/pg.rb:69:in `connect'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:78:in `new_client'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/postgresql_adapter.rb:37:in `postgresql_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:656:in `new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:700:in `checkout_new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:679:in `try_to_checkout_new_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:640:in `acquire_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:341:in `checkout'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:181:in `connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_adapters/abstract/connection_handler.rb:211:in `retrieve_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_handling.rb:313:in `retrieve_connection'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/activerecord-7.0.3.1/lib/active_record/connection_handling.rb:280:in `connection'
/var/www/discourse/lib/site_settings/db_provider.rb:58:in `table_exists?'
/var/www/discourse/lib/site_settings/db_provider.rb:14:in `all'
/var/www/discourse/lib/site_settings/defaults_provider.rb:30:in `db_all'
/var/www/discourse/lib/site_setting_extension.rb:285:in `block in refresh!'
/var/www/discourse/lib/site_setting_extension.rb:278:in `synchronize'
/var/www/discourse/lib/site_setting_extension.rb:278:in `refresh!'
/var/www/discourse/lib/site_setting_extension.rb:549:in `block in setup_methods'
/var/www/discourse/lib/site_setting_extension.rb:447:in `public_send'
/var/www/discourse/lib/site_setting_extension.rb:447:in `get'
/var/www/discourse/plugins/discourse-saml/plugin.rb:32:in `setting'
/var/www/discourse/plugins/discourse-saml/lib/saml_authenticator.rb:17:in `setting'
/var/www/discourse/plugins/discourse-saml/lib/saml_authenticator.rb:337:in `enabled?'
/var/www/discourse/lib/plugin/instance.rb:767:in `block in auth_provider'
/var/www/discourse/lib/plugin/instance.rb:514:in `block in notify_before_auth'
/var/www/discourse/lib/plugin/instance.rb:514:in `each'
/var/www/discourse/lib/plugin/instance.rb:514:in `notify_before_auth'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:14:in `each'
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:14:in `initialize'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:37:in `new'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:37:in `build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:166:in `block in build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `each'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `inject'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/actionpack-7.0.3.1/lib/action_dispatch/middleware/stack.rb:162:in `build'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:516:in `block in app'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:512:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/engine.rb:512:in `app'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application/finisher.rb:52:in `block in <module:Finisher>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `instance_exec'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:32:in `run'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:61:in `block in run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/initializable.rb:60:in `run_initializers'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:372:in `initialize!'
/var/www/discourse/config/environment.rb:7:in `<main>'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/bootsnap-1.15.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/zeitwerk-2.6.6/lib/zeitwerk/kernel.rb:38:in `require'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:348:in `require_environment!'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/railties-7.0.3.1/lib/rails/application.rb:511:in `block in run_tasks_blocks'
/var/www/discourse/vendor/bundle/ruby/3.1.0/gems/rake-13.0.6/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'
Tasks: TOP => akismet_uninstall:delete_reviewables => environment
（通过运行任务并添加 --trace 参数可查看完整跟踪信息）

```

我该如何让该插件使用 Discourse 数据库？

祝好，

---

<div class="post-metadata">

### Author: ![nono-lqdn](https://avatars.discourse-cdn.com/v4/letter/n/b3f665/32.png) [@nono-lqdn](https://meta.discourse.org/u/nono-lqdn)
#### Post date: [2023年三月31日 14:19 UTC](https://meta.discourse.org/t/error-while-trying-to-remove-the-anti-spam-akismet-plugin/258370/2 "2023-03-31T14:19:43Z")

</div>

您好，

我仍然遇到此问题。有人知道我可以向谁寻求帮助，或者在哪里可以查找更多信息吗？

谢谢！

---

<div class="post-metadata">

### Author: ![Roman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/roman/32/157504_2.png) [@Roman](https://meta.discourse.org/u/Roman)
#### Post date: [2023年三月31日 14:40 UTC](https://meta.discourse.org/t/error-while-trying-to-remove-the-anti-spam-akismet-plugin/258370/3 "2023-03-31T14:40:11Z")

</div>

嘿 @nono-lqdn，

看起来这与您的实例配置有关。您能使用 `bundle exec rails c` 打开控制台吗？

您可以尝试在那里直接调用任务代码作为一种变通方法。
