postgres
användarkonto
Skapa ett användarkonto specifikt för Postgres, vanligen kallat postgres
, är en normal del av en Postgres-installation. Din installationsapp har sannolikt uppmanat dig att ange ett lösenord för att tilldela detta nya användarkonto.
En anledning till detta är säkerhet :Databasens datafiler och säkerhetskonfigurationsfiler lagras i mappar som ägs av postgres
användare. Så om ditt huvudanvändarkonto kapas har inkräktaren ännu inte tillgång till databasen (ofta det mest värdefulla i lagring). Inkräktaren måste hoppa igenom fler ringar för att kompromissa med Postgres. Dessutom förhindrar det separata ägandet andra appar från att oavsiktligt stampa på Postgres-filerna.
Du kommer att märka att Postgres är mycket mer företagsinriktat än andra produkter som MySQL. Detta innebär låsning för säkerhet. Ett annat exempel:Postgres är som standard konfigurerat till inte acceptera anslutningar över nätverket. För att aktivera anslutningar från andra datorer måste du ändra konfigurationen. Obekvämt för nybörjaren, men säkrare. Som en stång på bilens ratt och bultar på dina dörrar betyder mer säkerhet alltid fler steg att ta och mer irritation.
Använd en virtuell maskin
Installerar postgres
användarkonto är en av de saker som gör Postgres till en ganska tung installation. Jag föreslår för de som lär sig Postgres att använda en virtuell maskin för Postgres. Något i stil med:
- Parallels eller Fusion eller VirtualBox på din egen dator
- Molnserver som FreeBSD på DigitalOcean.com .
För att ta bort Postgres, släng helt enkelt vm.
Postgres.app för macOS
Ett annat alternativ för en Mac-användare är Postgres.app
, skapad av personen som byggde en av de första Postgres-as-a-Service-implementeringarna (på Heroku ). Jag har inte använt Postgres.app , men jag förstår att det omsluter Postgres, så det installerar inte postgres
användarkonto. Dessutom startar och stannar Postgres när appen startas och avslutas, istället för att köra i bakgrunden hela tiden.
Var medveten om:du kan ha konflikter med Postgres.app på en Mac där du redan har en konventionell installation. Jag föreslår att du först försiktigt tar bort den vanliga Postgres från din Mac innan du installerar Postgres.app. Avinstallation innebär att hitta och ta bort olika filer och mappar på olika platser.
Databas-as-a-Service (DBaaS)
Ett annat alternativ för att undvika lokal installation är de ökande valmöjligheterna för att köra Postgres som en tjänst. Detta kallas ibland för "hanterad Postgres" eftersom leverantören underhåller installationen av Postgres för din räkning. Du använder bara Postgres för att skapa din databas, men du har inte fullständig kontroll Postgres i en sådan tjänst.
Några exempel:
Min erfarenhet
Personligen installerar jag ofta Postgres på en Mac med installeraren från EnterpriseDB.com . Det företaget säljer mervärdesversioner av Postgres, men tillhandahåller vänligen ett installationsprogram för plain-vanilla Postgres, som en tjänst för samhället.
Jag har också använt samma installationsprogram från EnterpriseDB.com för att installera på en Parallels VM som kör macOS som gäst-OS i den virtuella datorn på en MacBook Pro som kör macOS som värd-OS. Du kan enkelt konfigurera den virtuella datorn för att dela värddatorns IP-adress i nätverket, eller så kan du ge den virtuella datorn en egen nätverksadress, vilket kan vara praktiskt för demo/dev/testarbete.
För det tredje har jag installerat Postgres på FreeBSD på DigitalOcean.com.
Alla dessa tre alternativ har fungerat ganska bra för mig. Vilket som är att föredra beror på scenariot. Till exempel är tillvägagångssättet DigitalOcean.com bra om jag vill att kollegor ska kunna nå databasen 24x7 utan att min egen MacBook är tillgänglig.
Denna diskussion är till för utvecklingsarbete. För verksamhetskritisk driftsättning rekommenderar jag starkt att du använder tung serverutrustning med felkorrigerande minne och redundant lagring som RAID eller ZFS-pool . Postgres är extremt pålitligt men beror naturligtvis på pålitlig hårdvara.
Din tagg säger Postgres 9.1. Den versionen är ganska gammal nu. Jag föreslår att du använder den senaste versionen. Förresten, versionsnumreringssystemet har ändrats för postgres. Det första numret är nu det ungefärligen årliga releasenumret som troligen kräver att du dumpar och laddar om data för att uppgradera, och det andra numret är kompatibla uppdateringar.