Add shared postgres (wip)
This commit is contained in:
35
postgres/init-scripts/02-immich-extensions.sh
Executable file
35
postgres/init-scripts/02-immich-extensions.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# Enable vector extensions for Immich database
|
||||
echo "Enabling vector extensions for Immich database..."
|
||||
|
||||
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "${IMMICH_DB_DATABASE_NAME}" <<-EOSQL
|
||||
-- Create extensions as superuser
|
||||
CREATE EXTENSION IF NOT EXISTS vectors;
|
||||
CREATE EXTENSION IF NOT EXISTS earthdistance CASCADE;
|
||||
|
||||
-- Grant usage on the extension schemas to immich user
|
||||
GRANT USAGE ON SCHEMA vectors TO ${IMMICH_DB_USERNAME};
|
||||
GRANT USAGE ON SCHEMA earthdistance TO ${IMMICH_DB_USERNAME};
|
||||
|
||||
-- Grant all privileges on extension objects to immich user
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA vectors TO ${IMMICH_DB_USERNAME};
|
||||
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA vectors TO ${IMMICH_DB_USERNAME};
|
||||
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA vectors TO ${IMMICH_DB_USERNAME};
|
||||
|
||||
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA earthdistance TO ${IMMICH_DB_USERNAME};
|
||||
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA earthdistance TO ${IMMICH_DB_USERNAME};
|
||||
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA earthdistance TO ${IMMICH_DB_USERNAME};
|
||||
|
||||
-- Set default privileges for future extension objects
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA vectors GRANT ALL ON TABLES TO ${IMMICH_DB_USERNAME};
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA vectors GRANT ALL ON SEQUENCES TO ${IMMICH_DB_USERNAME};
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA vectors GRANT ALL ON FUNCTIONS TO ${IMMICH_DB_USERNAME};
|
||||
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA earthdistance GRANT ALL ON TABLES TO ${IMMICH_DB_USERNAME};
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA earthdistance GRANT ALL ON SEQUENCES TO ${IMMICH_DB_USERNAME};
|
||||
ALTER DEFAULT PRIVILEGES IN SCHEMA earthdistance GRANT ALL ON FUNCTIONS TO ${IMMICH_DB_USERNAME};
|
||||
EOSQL
|
||||
|
||||
echo "Immich vector extensions enabled successfully!"
|
||||
Reference in New Issue
Block a user