Skip to content
This repository has been archived by the owner on Apr 26, 2024. It is now read-only.

nuke-room-from-db.sh: added postgresql option and help #2337

Merged
merged 1 commit into from
May 9, 2018

Conversation

rubo77
Copy link
Contributor

@rubo77 rubo77 commented Jul 6, 2017

Signed-off-by: Ruben Barkow github@r.z11.de

@matrixbot
Copy link
Member

Can one of the admins verify this patch?

2 similar comments
@matrixbot
Copy link
Member

Can one of the admins verify this patch?

@matrixbot
Copy link
Member

Can one of the admins verify this patch?

@rubo77
Copy link
Contributor Author

rubo77 commented Jul 6, 2017

This still seems to work on postresql, though I get some warnings during that script:

...
FEHLER:  Relation »event_search_content« existiert nicht  
ZEILE 1: DELETE FROM event_search_content WHERE c1room_id = '!gniSuNf...  
                     ^  
DELETE 5
...
  
WARNUNG:  überspringe »pg_authid« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_database« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_db_role_setting« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_tablespace« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_pltemplate« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_auth_members« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_shdepend« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_shdescription« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_replication_origin« --- nur Superuser kann sie vacuumen  
WARNUNG:  überspringe »pg_shseclabel« --- nur Superuser kann sie vacuumen  
...

@rubo77
Copy link
Contributor Author

rubo77 commented Jul 6, 2017

Maybe we should remove the VACUUM at the end or make it optional

this can take some hours on a large database

@rubo77
Copy link
Contributor Author

rubo77 commented Jul 7, 2017

Also shouldn't the media posted in that room be deleted before you nuke the room?

@rubo77 rubo77 changed the base branch from master to develop November 21, 2017 10:04
@rubo77 rubo77 force-pushed the patch-5 branch 2 times, most recently from b2758c0 to 964f2fe Compare November 21, 2017 10:29
@rubo77
Copy link
Contributor Author

rubo77 commented Feb 15, 2018

This is still open, can it be merged?

@@ -29,7 +43,6 @@ DELETE FROM state_groups WHERE room_id = '$ROOMID';
DELETE FROM state_groups_state WHERE room_id = '$ROOMID';
DELETE FROM receipts_graph WHERE room_id = '$ROOMID';
DELETE FROM receipts_linearized WHERE room_id = '$ROOMID';
DELETE FROM event_search_content WHERE c1room_id = '$ROOMID';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please could you make this the subject of a separate PR

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extra PR here: #3194

@richvdh
Copy link
Member

richvdh commented May 8, 2018

sorry for sitting on this for so long.

I would suggest that, instead of having the commandline for your database (and your database name) hardcoded in the script, it should instead write the sql to be run to stdout, and then the user can pipe it into the database. So for instance you might run

nuke-room-from-db.sh <room_id> | sqlite3 homeserver.db

or

nuke-room-from-db.sh <room_id> | psql --dbname=synapse

@rubo77 rubo77 changed the title nuke-room-from-db.sh: added postgresql option nuke-room-from-db.sh: added postgresql option and help May 8, 2018
@rubo77
Copy link
Contributor Author

rubo77 commented May 8, 2018

i changed it accordingly

@rubo77
Copy link
Contributor Author

rubo77 commented May 8, 2018

If you fix the nuke room script, please also solve this related issue: The nuke-room script doesn't delete the rom from communities (#3187 )

@richvdh
Copy link
Member

richvdh commented May 8, 2018

thanks! please could you sign off as per CONTRIBUTING.rst

@rubo77
Copy link
Contributor Author

rubo77 commented May 8, 2018

Signed-off-by: Ruben Barkow github@r.z11.de

@richvdh richvdh merged commit d5377eb into matrix-org:develop May 9, 2018
@rubo77 rubo77 deleted the patch-5 branch May 11, 2018 21:36
neilisfragile added a commit that referenced this pull request May 18, 2018
Changes in synapse v0.29.1 (2018-05-17)
==========================================
Changes:

* Update docker documentation (PR #3222)

Changes in synapse v0.29.0 (2018-05-16)
===========================================
Not changes since v0.29.0-rc1

Changes in synapse v0.29.0-rc1 (2018-05-14)
===========================================

Notable changes, a docker file for running Synapse (Thanks to @kaiyou!) and a
closed spec bug in the Client Server API. Additionally further prep for Python 3
migration.

Potentially breaking change:

* Make Client-Server API return 401 for invalid token (PR #3161).

  This changes the Client-server spec to return a 401 error code instead of 403
  when the access token is unrecognised. This is the behaviour required by the
  specification, but some clients may be relying on the old, incorrect
  behaviour.

  Thanks to @NotAFile for fixing this.

Features:

* Add a Dockerfile for synapse (PR #2846) Thanks to @kaiyou!

Changes - General:

* nuke-room-from-db.sh: added postgresql option and help (PR #2337) Thanks to @rubo77!
* Part user from rooms on account deactivate (PR #3201)
* Make 'unexpected logging context' into warnings (PR #3007)
* Set Server header in SynapseRequest (PR #3208)
* remove duplicates from groups tables (PR #3129)
* Improve exception handling for background processes (PR #3138)
* Add missing consumeErrors to improve exception handling (PR #3139)
* reraise exceptions more carefully (PR #3142)
* Remove redundant call to preserve_fn (PR #3143)
* Trap exceptions thrown within run_in_background (PR #3144)

Changes - Refactors:

* Refactor /context to reuse pagination storage functions (PR #3193)
* Refactor recent events func to use pagination func (PR #3195)
* Refactor pagination DB API to return concrete type (PR #3196)
* Refactor get_recent_events_for_room return type (PR #3198)
* Refactor sync APIs to reuse pagination API (PR #3199)
* Remove unused code path from member change DB func (PR #3200)
* Refactor request handling wrappers (PR #3203)
* transaction_id, destination defined twice (PR #3209) Thanks to @damir-manapov!
* Refactor event storage to prepare for changes in state calculations (PR #3141)
* Set Server header in SynapseRequest (PR #3208)
* Use deferred.addTimeout instead of time_bound_deferred (PR #3127, #3178)
* Use run_in_background in preference to preserve_fn (PR #3140)

Changes - Python 3 migration:

* Construct HMAC as bytes on py3 (PR #3156) Thanks to @NotAFile!
* run config tests on py3 (PR #3159) Thanks to @NotAFile!
* Open certificate files as bytes (PR #3084) Thanks to @NotAFile!
* Open config file in non-bytes mode (PR #3085) Thanks to @NotAFile!
* Make event properties raise AttributeError instead (PR #3102) Thanks to @NotAFile!
* Use six.moves.urlparse (PR #3108) Thanks to @NotAFile!
* Add py3 tests to tox with folders that work (PR #3145) Thanks to @NotAFile!
* Don't yield in list comprehensions (PR #3150) Thanks to @NotAFile!
* Move more xrange to six (PR #3151) Thanks to @NotAFile!
* make imports local (PR #3152) Thanks to @NotAFile!
* move httplib import to six (PR #3153) Thanks to @NotAFile!
* Replace stringIO imports with six (PR #3154, #3168) Thanks to @NotAFile!
* more bytes strings (PR #3155) Thanks to @NotAFile!

Bug Fixes:

* synapse fails to start under Twisted >= 18.4 (PR #3157)
* Fix a class of logcontext leaks (PR #3170)
* Fix a couple of logcontext leaks in unit tests (PR #3172)
* Fix logcontext leak in media repo (PR #3174)
* Escape label values in prometheus metrics (PR #3175, #3186)
* Fix 'Unhandled Error' logs with Twisted 18.4 (PR #3182) Thanks to @Half-Shot!
* Fix logcontext leaks in rate limiter (PR #3183)
* notifications: Convert next_token to string according to the spec (PR #3190) Thanks to @mujx!
* nuke-room-from-db.sh: fix deletion from search table (PR #3194) Thanks to @rubo77!
* add guard for None on purge_history api (PR #3160) Thanks to @krombel!
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants