I denne artikel viser vi dig, hvordan du installerer PostgreSQL 12 på Ubuntu 20.04/18.04/16.04. PostgreSQL er et Open source-databasesystem, og det er kraftfuldt ligesom andre relationelle databasesystemer.
Du kan se udgivelsessiden for postgreSQL 12.
Trin til at installere PostgreSQL 12 på Ubuntu
Trin 1:Opdater Ubuntu-systemet
Det anbefales altid at opdatere systemet, før du installerer PostgreSQL.
sudo apt update
Trin 2:Installer den nødvendige pakke
sudo apt -y installer vim bash-completion wget
Hvis pakken allerede er installeret, vil du komme under output, du kan ignorere det.
Eksempeloutput:
root@PostgreSQL:~# sudo apt -y install vim bash-completion wgetReading pakkelister... DoneBuilding afhængighedstræ Læser tilstandsoplysninger... Donebash-completion er allerede den nyeste version (1:2.11-2ubuntu1).vim er allerede den nyeste version (2:8.2.0716-3ubuntu2).wget er allerede den nyeste version (1.20.3-1ubuntu1).wget indstillet til manuelt installeret. Følgende pakke blev automatisk installeret og er ikke længere påkrævet:virtualbox-guest -utilsBrug 'sudo apt autoremove' for at fjerne det.0 opgraderet, 0 nyinstalleret, 0 for at fjerne og 212 ikke upgraded.root@PostgreSQL:~#
Trin 3:Tilføj PostgreSQL 12-lager
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" |sudo tee /etc/apt/sources.list.d/pgdg.listTrin 4:Installer PostgreSQL 12 på Ubuntu
sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12Eksempeloutput:
root@PostgreSQL:~# sudo apt -y install postgresql-12 postgresql-client-12Læser pakkelister... FærdigBygnings afhængighedstræ Læser tilstandsoplysninger... FærdigFølgende pakke blev automatisk installeret og er ikke længere påkrævet:virtualbox- guest-utilsBrug 'sudo apt autoremove' for at fjerne det. Følgende ekstra pakker vil blive installeret:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-client-commonpostgresql-commonpostgresql-common pakker :postgresql-doc-12 isagFølgende NYE pakker vil blive installeret:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-12 postgresql-client-12postgresclient-common-common-postgresql-common sysstat0 opgraderet, 11 nyinstalleret, 0 til at fjerne og 212 ikke opgraderet. Skal have 17,5 MB arkiver. Efter denne handling vil der blive brugt 59,4 MB ekstra diskplads. Hent:1 http://apt.postgresql.org/ pub/repos/apt groovy-pgdg/main amd64 libpq 5 amd64 13.3-1.pgdg20.10+1 [177 kB]Get:2 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libcommon-sense-perl amd64 3.75-1build2 [20.5 kB]Get:3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl alle 4.02000-2 [80.9 kB]Get:4 http://apt.postgresql.org/pub/repos/apt groovy-pgdg /main amd64 pgdg-keyring all 2018.2 [10.7 kB]Get:5 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-common all 226.pgdg20.10+1 [ 90,6 kB]Get:6 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libtypes-serialiser-perl all 1.0-1 [12.1 kB]Get:7 http://us.archive.ubuntu.com /ubuntu groovy/main amd64 libjson-xs-perl amd64 4.020-1build1 [83.7 kB]Get:8 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-client-12.764 12.764 -1.pgdg20.10+1 [1.429 kB]Get:9 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 sysstat amd64 12.4.0-1 [471 kB]Get:10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common alle 226.pgdg20.10+1 [2 46 kB]Get:11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14,9 MB]Hentet 17,5 MB i 15s 1.141 kB/s) Forkonfiguration af pakker ...Vælger tidligere fravalgt pakke libcommon-sense-perl.(Læser database ... 192977 filer og mapper installeret i øjeblikket.)Forbereder udpakning .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ...Udpakning af libcommon-sense-perl (3.75-1build2) ...Vælger tidligere fravalgt pakke libjson-perl.Forbereder udpakning .../01-libjson-perl_4.02000-2_all.deb ... Udpakning af libjson-perl (4.02000-2) ...Vælger tidligere fravalgt pakke libtypes-serialiser-perl. Forbereder udpakning .../02-libtypes-serialiser-perl_1.0-1_all.deb ...Udpakning af libtypes-serialiser- perl (1.0-1) ...Vælger tidligere fravalgt pakke libjson-xs-perl. Forbereder udpakning .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Udpakning af libjson-xs-perl (4.020 -1build1) ...Vælger tidligere fravalgt pakke libpq5:amd64.P forbereder at pakke ud .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Udpakning af libpq5:amd64 (13.3-1.pgdg20.10+1) ...Vælger tidligere fravalgt pakke pgdg-nøglering .Forbereder udpakning .../05-pgdg-keyring_2018.2_all.deb ...Udpakning af pgdg-keyring (2018.2) ...Vælger tidligere fravalgt pakke postgresql-client-common.Forbereder udpakning .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ...Udpakning af postgresql-client-common (226.pgdg20.10+1) ...Vælger tidligere fravalgt pakke postgresql-client-12.Forbereder udpakning .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Udpakning af postgresql-client-12 (12.7-1.pgdg20.10+1) ...Vælger tidligere fravalgt pakke postgresql-common. Forbereder til udpakning .../08-postgresql-common_226.pgdg20.10+1_all.deb ...Tilføjer 'diversion of /usr/bin/pg_config til /usr/bin/pg_config.libpq-dev ved postgresql-common'Unpacking postgresql-common (226.pgdg20.10+1) ...Vælger tidligere fravalgt pakke postgresql-12. Forbereder udpakning .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Udpakning af postgresql-12 (12.7-1.pgdg20.10+1) ...Vælger tidligere fravalgt pakke sysstat.Forbereder til unpack .../10-sysstat_12.4.0-1_amd64.deb ...Udpakning af sysstat (12.4.0-1) ...Opsætning af pgdg-keyring (2018.2) ...Fjerner apt.postgresql.org nøgle fra betroet. gpg:OKOpsætning af libpq5:amd64 (13.3-1.pgdg20.10+1) ...Opsætning af libcommon-sense-perl (3.75-1build2) ...Opsætning af libtypes-serialiser-perl (1.0-1) .. .Opsætning af libjson-perl (4.02000-2) ...Opsætning af sysstat (12.4.0-1) ...Opretter konfigurationsfil /etc/default/sysstat med nye versionupdate-alternativer:ved hjælp af /usr/bin/sar. sysstat til at levere /usr/bin/sar (sar) i automatisk tilstandOprettet symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer→ /lib/systemd/system/sysstat-collect.timer.Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer→ /lib/systemd/system/sysstat-summary.timer.Created symlink /etc/systemd/system/multi-user.target.wants/sys stat.service → /lib/systemd/system/sysstat.service.Opsætning af postgresql-client-common (226.pgdg20.10+1) ...Opsætning af libjson-xs-perl (4.020-1build1) ...Opsætning op postgresql-client-12 (12.7-1.pgdg20.10+1) ...update-alternatives:brug /usr/share/postgresql/12/man/man1/psql.1.gz for at give /usr/share/ man/man1/psql.1.gz (psql.1.gz) i auto-tilstand Opsætning af postgresql-common (226.pgdg20.10+1) ...Tilføjer bruger postgres til gruppen ssl-certOprettelse af konfigurationsfil /etc/postgresql- common/createcluster.conf med ny version Opbygning af PostgreSQL-ordbøger fra installerede myspell/hunspell-pakker...da_usFjernelse af forældede ordbogsfiler:Oprettet symlink /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Opsætning af postgresql-12 (12.7-1.pgdg20.10+1) ...Oprettelse af ny PostgreSQL-klynge 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5Filerne, der tilhører dette databasesystem, ejes af bruger "postgres". Denne bruger skal også eje serverprocessen. Databaseklyngen vil blive initialiseret med locale "en_US.UTF-8". Standarddatabasekodningen er derfor blevet indstillet til "UTF8". Standardtekstsøgningskonfigurationen vil være indstillet til "engelsk". Kontrolsummer for datasider er deaktiveret. fikser tilladelser på eksisterende mappe /var/lib/postgresql/12/main ... okopretter undermapper ... ok vælger dynamisk delt hukommelsesimplementering ... posix vælger standard max_connections ... 100vælger standard shared_buffers ... 128MB vælger standard tidszone ... America/New_York opretter konfigurationsfiler ... okkører bootstrap script ... okudfører post-bootstrap initialisering ... oksynkroniserer data til disk ... okSuccess. Du kan nu starte databaseserveren ved at bruge:pg_ctlcluster 12 main startVer Cluster Port Status Ejer Data directory Log file12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- alternativer:ved at bruge /usr/share/postgresql/12/man/man1/postmaster.1.gz for at give /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) i automatisk tilstand Behandling af triggere for systemd ( 246.6-1ubuntu1) ...Behandler udløsere for man-db (2.9.3-2) ...Behandler triggere for libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~#Trin 5:Tjek PostgreSQL-tjenestestatus
systemctl status postgresql.service
Eksempeloutput:
root@PostgreSQL:~# systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded:indlæst (/lib/systemd/system/postgresql.service; aktiveret; leverandør p> Aktiv:aktiv (afsluttet) siden søn 2021- 05-16 09:17:56 EDT; 1min. 56s sidenHoved-PID:10932 (kode=afsluttet, status=0/SUCCES)Opgaver:0 (grænse:4648)Hukommelse:0BCGroup:/system.slice/postgresql.service09:16 17:56 PostgreSQL systemd[1]:Starter PostgreSQL RDBMS...16. maj 09:17:56 PostgreSQL systemd[1]:Færdig med PostgreSQL RDBMS.root@PostgreSQL:~#Trin 6:Tilslut PostgreSQL
sudo su - postgresTrin 7:Nulstil PostgreSQL-adgangskoden
Det anbefales at nulstille adgangskoden til stærk adgangskode
psql -c "ændr brugerens postgres med adgangskoden 'StrongAdminP@ssw0rd'"Eksempeloutput:
root@PostgreSQL:~# sudo su - postgrespostgres@PostgreSQL:~$ postgres@PostgreSQL:~$ psql -c "ændre brugerens postgres med adgangskoden 'StrongAdminP@ssw0rd'"ALTER ROLEpostgres@PostgreSQL:~$Trin 8:Opret PostgreSQL-database
$ psql$ OPRET DATABASE firsttestdb;$ OPRET BRUGER testuser1 MED KRYPTET PASSWORD 'MyDBP@ss0rd';$ TILDEL ALLE PRIVILEGIER PÅ DATABASE firsttestdb til testuser1;
Angiv PostgreSQL databasen:
$\l
Sådan opretter du forbindelse til PostgreSQL-databasen:
\c firsttestdbEksempeloutput:
postgres=# \c firsttestdbDu er nu forbundet til databasen "firsttestdb" som bruger "postgres".firsttestdb=#Nu skal vi se, hvordan man tillader fjernforbindelser til PostgreSQL DB.
Trin 9:Tillad fjernforbindelse til PostgreSQL-databasen
sudo nano /etc/postgresql/12/main/postgresql.confFjern kommentar linjen "listen_addresses =‘*’ "
Gem filen og genstart PostgreSQL-tjenesten
sudo systemctl genstart postgresqlTrin 10:Tjek lytteadressen
netstat -tunelp | grep 5432Eksempeloutput:
root@PostgreSQL:~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* LYT 135 253939 13850/postgres tcp6 0 0 :::5432 :::* LYT 135 2539040 2539040/postgresQ5/postgres:138I slutningen af artiklen har vi set, hvordan man installerer PostgreSQL 12 på Ubuntu 20.04/18.04/16.04.