mirror of
				https://github.com/spantaleev/matrix-docker-ansible-deploy.git
				synced 2025-10-24 17:13:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			20 lines
		
	
	
		
			941 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			941 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
| -- `CREATE USER` does not support `IF NOT EXISTS`, so we use this workaround to prevent an error and raise a notice instead.
 | |
| -- Seen here: https://stackoverflow.com/a/49858797
 | |
| DO $$
 | |
| BEGIN
 | |
|   CREATE USER {{ additional_db.username }};
 | |
|   EXCEPTION WHEN DUPLICATE_OBJECT THEN
 | |
|   RAISE NOTICE 'not creating user {{ additional_db.username }}, since it already exists';
 | |
| END
 | |
| $$;
 | |
| 
 | |
| -- This is useful for initial user creation (since we don't assign a password above) and for handling subsequent password changes
 | |
| -- TODO - we should escape quotes in the password.
 | |
| ALTER ROLE {{ additional_db.username }} PASSWORD '{{ additional_db.password }}';
 | |
| 
 | |
| -- This will generate an error on subsequent execution
 | |
| CREATE DATABASE {{ additional_db.name }} WITH LC_CTYPE 'C' LC_COLLATE 'C' OWNER {{ additional_db.username }};
 | |
| 
 | |
| -- This is useful for changing the database owner subsequently
 | |
| ALTER DATABASE {{ additional_db.name }} OWNER TO {{ additional_db.username }};
 |