Uitschakelen public schema (Postgres)
Goede middag,
Ik heb op een server Postgres draaien. Nu wordt er standaard bij elke database een public schema aangemaakt die door elke gebruiker te gebruiken is.
De databases maak ik aan vanuit Direct Admin.
Aangezien ik liever niet heb dat de verschillende gebruikers elkaars databases kunnen zien en een deel van de gebruikers zich waarschijnlijk niet bezig zal houden met schema's (dus hun gegevens voor alle gebruikers zichtbaar zijn) vroeg ik me af of dit te voorkomen was.
Nu heb ik al via google en op de postgres website gezocht maar nog geen antwoord gevonden.
Is het mogelijk om te zorgen dat er niet standaard een public schema wordt aangemaakt? (postgres is daar de eigenaar van)
Of is het mogelijk om te zorgen dat de eigenaar de gebruiker is die ik bij die database heb.
Ik heb op een server Postgres draaien. Nu wordt er standaard bij elke database een public schema aangemaakt die door elke gebruiker te gebruiken is.
De databases maak ik aan vanuit Direct Admin.
Aangezien ik liever niet heb dat de verschillende gebruikers elkaars databases kunnen zien en een deel van de gebruikers zich waarschijnlijk niet bezig zal houden met schema's (dus hun gegevens voor alle gebruikers zichtbaar zijn) vroeg ik me af of dit te voorkomen was.
Nu heb ik al via google en op de postgres website gezocht maar nog geen antwoord gevonden.
Is het mogelijk om te zorgen dat er niet standaard een public schema wordt aangemaakt? (postgres is daar de eigenaar van)
Of is het mogelijk om te zorgen dat de eigenaar de gebruiker is die ik bij die database heb.
Gesponsorde koppelingen:
Remco van Arkelen heeft twee goeie tuts over PostGre gemaakt. Misschien heb je daar wat aan.
Tut 1
Tut 2
Tut 1
Tut 2
pgSQL maakt een database aan door een bestaande database te kopieeren, een zogenaamde template. Standaard wordt daar Template1 voor gebruikt, dit hoef je dus niet apart op te geven.
Wanneer je deze template aanpast of een andere template gaat gebruiken, dan kun je dus gaan bepalen hoe nieuwe databases eruit gaan zien. Voor het gebruik van een andere template moet je wellicht DA aanpassen.
Zie verder de pgSQL-handleiding.
Wanneer je deze template aanpast of een andere template gaat gebruiken, dan kun je dus gaan bepalen hoe nieuwe databases eruit gaan zien. Voor het gebruik van een andere template moet je wellicht DA aanpassen.
Zie verder de pgSQL-handleiding.
En? Is het nog gelukt?
Sorry dat ik nog geen reactie gegeven had. Het duurde een tijd voor dat ik er bij kwam. Aangezien ik via de voor mij gebruikelijke manier niet bij de template kwam.
Toen het me gister avond uiteindelijk gelukt was heb ik hier geheel niet meer aan gedacht.
Maar het wijzigen van die template was de oplossing. En daardoor hoefde ik in DA ook niks aan te passen.
@Jan, die tutorials had ik al gelezen en zijn zeker ook nuttig alleen daar stond dit niet in.
Toen het me gister avond uiteindelijk gelukt was heb ik hier geheel niet meer aan gedacht.
Maar het wijzigen van die template was de oplossing. En daardoor hoefde ik in DA ook niks aan te passen.
@Jan, die tutorials had ik al gelezen en zijn zeker ook nuttig alleen daar stond dit niet in.
En hoe heb je de template gewijzigd?
Eigenlijk is het niet helemaal wat ik eerst wilde.
Ik ben via ssh eerst als root ingelogd (ssh verbinding maken, dan su en dan password) en daarna als de user postgres ( su postgres).
Toen het volgende gedaan:
psql
\c template1 (om een connectie met de template te maken)
drop schema public; (om het public schema te verwijderen)
Nu heeft een nieuwe database geen puclic schema meer maar kan met nog wel de andere databases zien. Dus mensen zullen niet als ze niet opletten de gegevens voor anderen gebruikers zichtbaar hebben maar zien nog wel de databases.
Ik ben via ssh eerst als root ingelogd (ssh verbinding maken, dan su en dan password) en daarna als de user postgres ( su postgres).
Toen het volgende gedaan:
psql
\c template1 (om een connectie met de template te maken)
drop schema public; (om het public schema te verwijderen)
Nu heeft een nieuwe database geen puclic schema meer maar kan met nog wel de andere databases zien. Dus mensen zullen niet als ze niet opletten de gegevens voor anderen gebruikers zichtbaar hebben maar zien nog wel de databases.
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb



