Skip to content
Snippets Groups Projects
Commit cd086412 authored by Erik Johnston's avatar Erik Johnston
Browse files

Make postgres database error slightly more helpful

parent 4932a7e2
No related branches found
No related tags found
No related merge requests found
......@@ -245,24 +245,27 @@ class SynapseHomeServer(HomeServer):
db_conn.cursor(), database_engine, self.hostname
)
if not all_users_native:
sys.stderr.write(
"\n"
"******************************************************\n"
quit_with_error(
"Found users in database not native to %s!\n"
"You cannot changed a synapse server_name after it's been configured\n"
"******************************************************\n"
"\n" % (self.hostname,)
"You cannot changed a synapse server_name after it's been configured"
% (self.hostname,)
)
sys.exit(1)
try:
database_engine.check_database(db_conn.cursor())
except IncorrectDatabaseSetup as e:
sys.stderr.write("*" * len(e.message) + '\n')
sys.stderr.write(e.message)
sys.stderr.write('\n')
sys.stderr.write("*" * len(e.message) + '\n')
sys.exit(2)
quit_with_error(e.message)
def quit_with_error(error_string):
message_lines = error_string.split("\n")
line_length = max([len(l) for l in message_lines]) + 2
sys.stderr.write("*" * line_length + '\n')
for line in message_lines:
if line.strip():
sys.stderr.write(" %s\n" % (line.strip(),))
sys.stderr.write("*" * line_length + '\n')
sys.exit(1)
def get_version_string():
......
......@@ -28,7 +28,8 @@ class PostgresEngine(object):
rows = txn.fetchall()
if rows and rows[0][0] != "UTF8":
raise IncorrectDatabaseSetup(
"Database has incorrect encoding: '%s' instead of 'UTF8'"
"Database has incorrect encoding: '%s' instead of 'UTF8'\n"
"See docs/postgres.rst for more information."
% (rows[0][0],)
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment