Error running migrations: DatabaseError(Unknown, "permission denied for schema public") #274

Closed
opened 2025-10-09 16:20:14 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @lug-gh on GitHub.

Vaultwarden Support String

x

Vaultwarden Build Version

latest

Deployment method

Official Container Image

Custom deployment method

No response

Reverse Proxy

none

Host/Server Operating System

Linux

Operating System Version

No response

Clients

Web Vault

Client Version

No response

Steps To Reproduce

Hello, I would like to install vaultwarden with postgres and have followed the instructions below:
(https://github.com/dani-garcia/vaultwarden/wiki/Using-the-PostgreSQL-Backend)

CREATE DATABASE vaultwarden;
CREATE USER vaultwarden WITH ENCRYPTED PASSWORD 'yourpassword';
GRANT CONNECT ON DATABASE vaultwarden TO vaultwarden;
ALTER SCHEMA public OWNER TO vaultwarden;

I have of course changed the password.

When starting the container I get the following error message:

postgres     | 2025-01-14 13:38:08.901 CET [37] ERROR:  permission denied for schema public at character 28
postgres     | 2025-01-14 13:38:08.901 CET [37] STATEMENT:  CREATE TABLE IF NOT EXISTS __diesel_schema_migrations (
postgres     | 	       version VARCHAR(50) PRIMARY KEY NOT NULL,
postgres     | 	       run_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
postgres     | 	);
postgres     | 	
vaultwarden  | [2025-01-14 12:38:08.901][panic][ERROR] thread 'main' panicked at 'Error running migrations: DatabaseError(Unknown, "permission denied for schema public")': src/db/mod.rs:487
vaultwarden  |    0: vaultwarden::init_logging::{{closure}}
vaultwarden  |    1: std::panicking::rust_panic_with_hook
vaultwarden  |    2: std::panicking::begin_panic_handler::{{closure}}
vaultwarden  |    3: std::sys::backtrace::__rust_end_short_backtrace
vaultwarden  |    4: rust_begin_unwind
vaultwarden  |    5: core::panicking::panic_fmt
vaultwarden  |    6: core::result::unwrap_failed
vaultwarden  |    7: vaultwarden::db::DbPool::from_config
vaultwarden  |    8: vaultwarden::main::{{closure}}
vaultwarden  |    9: vaultwarden::main
vaultwarden  |   10: std::sys::backtrace::__rust_begin_short_backtrace
vaultwarden  |   11: main
vaultwarden  |   12: <unknown>
vaultwarden  |   13: __libc_start_main
vaultwarden  |   14: _start
vaultwarden  | 

I have tested postgres 15, 16 and 17.

Expected Result

x

Actual Result

x

Logs

No response

Screenshots or Videos

No response

Additional Context

No response

Originally created by @lug-gh on GitHub. ### Vaultwarden Support String x ### Vaultwarden Build Version latest ### Deployment method Official Container Image ### Custom deployment method _No response_ ### Reverse Proxy none ### Host/Server Operating System Linux ### Operating System Version _No response_ ### Clients Web Vault ### Client Version _No response_ ### Steps To Reproduce Hello, I would like to install vaultwarden with postgres and have followed the instructions below: (https://github.com/dani-garcia/vaultwarden/wiki/Using-the-PostgreSQL-Backend) ``` CREATE DATABASE vaultwarden; CREATE USER vaultwarden WITH ENCRYPTED PASSWORD 'yourpassword'; GRANT CONNECT ON DATABASE vaultwarden TO vaultwarden; ALTER SCHEMA public OWNER TO vaultwarden; ``` I have of course changed the password. When starting the container I get the following error message: ``` postgres | 2025-01-14 13:38:08.901 CET [37] ERROR: permission denied for schema public at character 28 postgres | 2025-01-14 13:38:08.901 CET [37] STATEMENT: CREATE TABLE IF NOT EXISTS __diesel_schema_migrations ( postgres | version VARCHAR(50) PRIMARY KEY NOT NULL, postgres | run_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP postgres | ); postgres | vaultwarden | [2025-01-14 12:38:08.901][panic][ERROR] thread 'main' panicked at 'Error running migrations: DatabaseError(Unknown, "permission denied for schema public")': src/db/mod.rs:487 vaultwarden | 0: vaultwarden::init_logging::{{closure}} vaultwarden | 1: std::panicking::rust_panic_with_hook vaultwarden | 2: std::panicking::begin_panic_handler::{{closure}} vaultwarden | 3: std::sys::backtrace::__rust_end_short_backtrace vaultwarden | 4: rust_begin_unwind vaultwarden | 5: core::panicking::panic_fmt vaultwarden | 6: core::result::unwrap_failed vaultwarden | 7: vaultwarden::db::DbPool::from_config vaultwarden | 8: vaultwarden::main::{{closure}} vaultwarden | 9: vaultwarden::main vaultwarden | 10: std::sys::backtrace::__rust_begin_short_backtrace vaultwarden | 11: main vaultwarden | 12: <unknown> vaultwarden | 13: __libc_start_main vaultwarden | 14: _start vaultwarden | ``` I have tested postgres 15, 16 and 17. ### Expected Result x ### Actual Result x ### Logs _No response_ ### Screenshots or Videos _No response_ ### Additional Context _No response_
OVERLORD added the bug label 2025-10-09 16:20:14 +03:00
Author
Owner

@lug-gh commented on GitHub:

After I changed the owner of the database to vaultwarden it works. However, since this is not in the instructions, I am now unsure whether this is necessary or whether it is a bug.

@lug-gh commented on GitHub: After I changed the owner of the database to vaultwarden it works. However, since this is not in the instructions, I am now unsure whether this is necessary or whether it is a bug.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/vaultwarden#274