sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur man installerar PostgreSQL 12 på Ubuntu 20.04/18.04/16.04

I den här artikeln visar vi dig hur du installerar PostgreSQL 12 på Ubuntu 20.04/18.04/16.04. PostgreSQL är ett databassystem med öppen källkod och det är kraftfullt som andra relationsdatabassystem.

Du kan se releasesidan för postgreSQL 12. 

Steg för att installera PostgreSQL 12 på Ubuntu 

Steg 1:Uppdatera Ubuntu-systemet

Det rekommenderas alltid att uppdatera systemet innan du installerar PostgreSQL.

sudo apt update

Steg 2:Installera det nödvändiga paketet 

sudo apt -y installera vim bash-completion wget

Om paketet redan är installerat kommer du att komma under output, du kan ignorera det.

Exempelutgång:

root@PostgreSQL:~# sudo apt -y install vim bash-completion wgetReading paketlistor... DoneBuilding beroendeträd Läser tillståndsinformation... Donebash-completion är redan den senaste versionen (1:2.11-2ubuntu1).vim är redan den senaste versionen (2:8.2.0716-3ubuntu2).wget är redan den senaste versionen (1.20.3-1ubuntu1).wget inställd på manuellt installerad. Följande paket installerades automatiskt och krävs inte längre:virtualbox-guest -utilsAnvänd 'sudo apt autoremove' för att ta bort den.0 uppgraderad, 0 nyinstallerad, 0 för att ta bort och 212 inte uppgraderad.root@PostgreSQL:~# 

Steg 3:Lägg till PostgreSQL 12-förråd

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.list 

Steg 4:Installera PostgreSQL 12 på Ubuntu

sudo apt updatesudo apt -y install postgresql-12 postgresql-client-12

Exempelutgång:

root@PostgreSQL:~# sudo apt -y install postgresql-12 postgresql-client-12 Läser paketlistor... Klart Byggande beroendeträd Läser tillståndsinformation... KlarFöljande paket installerades automatiskt och krävs inte längre:virtualbox- guest-utilsAnvänd 'sudo apt autoremove' för att ta bort det. Följande ytterligare paket kommer att installeras:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-client-commonpostgresql-commonpostgresql-commons :postgresql-doc-12 isagFöljande NYA paket kommer att installeras:libcommon-sense-perl libjson-perl libjson-xs-perl libpq5libtypes-serialiser-perl pgdg-keyring postgresql-12 postgresql-client-12postgresclient-common-common-postgresql sysstat0 uppgraderad, 11 nyinstallerade, 0 att ta bort och 212 inte uppgraderad. Behöver skaffa 17,5 MB arkiv. Efter denna operation kommer 59,4 MB extra diskutrymme att användas.Hämta: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]Hämta:3 http://us.archive.ubuntu.com/ubuntu groovy/main amd64 libjson-perl all 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]Hämta:10 http:// apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-common all 226.pgdg20.10+1 [2 46 kB]Hämta:11 http://apt.postgresql.org/pub/repos/apt groovy-pgdg/main amd64 postgresql-12 amd64 12.7-1.pgdg20.10+1 [14.9 MB]Hämtade 17.5 MB i 15s 1 141 kB/s) Förkonfigurerar paket ...Väljer tidigare omarkerat paket libcommon-sense-perl.(Läser databasen ... 192977 filer och kataloger installerade för närvarande.) Förbereder uppackning .../00-libcommon-sense-perl_3.75 -1build2_amd64.deb ...Uppackar libcommon-sense-perl (3.75-1build2) ...Väljer tidigare omarkerat paket libjson-perl. Förbereder uppackning .../01-libjson-perl_4.02000-2_all.deb ... Packar upp libjson-perl (4.02000-2) ...Väljer tidigare omarkerat paket libtypes-serialiser-perl. Förbereder uppackning .../02-libtypes-serialiser-perl_1.0-1_all.deb ...Uppackar libtypes-serialiser- perl (1.0-1) ...Väljer tidigare omarkerat paket libjson-xs-perl. Förbereder uppackning .../03-libjson-xs-perl_4.020-1build1_amd64.deb ...Uppackar libjson-xs-perl (4.020 -1build1) ...Väljer tidigare omarkerat paket libpq5:amd64.P förbereder för att packa upp .../04-libpq5_13.3-1.pgdg20.10+1_amd64.deb ...Uppackar libpq5:amd64 (13.3-1.pgdg20.10+1) ...Väljer tidigare omarkerat paket pgdg-nyckelring .Förbereder uppackning .../05-pgdg-keyring_2018.2_all.deb ...Uppackar pgdg-keyring (2018.2) ...Väljer tidigare omarkerat paket postgresql-client-common. Förbereder uppackning .../06-postgresql -client-common_226.pgdg20.10+1_all.deb ...Uppackar postgresql-client-common (226.pgdg20.10+1) ...Väljer tidigare omarkerat paket postgresql-client-12. Förbereder uppackning .../ 07-postgresql-client-12_12.7-1.pgdg20.10+1_amd64.deb ...Uppackar postgresql-client-12 (12.7-1.pgdg20.10+1) ...Väljer tidigare omarkerat paket postgresql-common. Förbereder uppackning .../08-postgresql-common_226.pgdg20.10+1_all.deb ... Lägger till 'diversion of /usr/bin/pg_config till /usr/bin/pg_config.libpq-dev genom postgresql-common'Unpackning postgresql-common (226.pgdg20.10+1) ...Väljer tidigare omarkerat paket postgresql-12. Förbereder uppackning .../09-postgresql-12_12.7-1.pgdg20.10+1_amd64.deb ...Uppackar postgresql-12 (12.7-1.pgdg20.10+1) ...Väljer tidigare omarkerat paket sysstat. Förbereder för att packa upp .../10-sysstat_12.4.0-1_amd64.deb ...Uppackar sysstat (12.4.0-1) ...Ställer in pgdg-nyckelring (2018.2) ...Tar bort apt.postgresql.org-nyckeln från betrodd. gpg:OKStäller in libpq5:amd64 (13.3-1.pgdg20.10+1) ...Ställer in libcommon-sense-perl (3.75-1build2) ...Ställer in libtypes-serialiser-perl (1.0-1) .. .Ställa in libjson-perl (4.02000-2) ...Ställa in sysstat (12.4.0-1) ...Skapa konfigurationsfil /etc/default/sysstat med nya versionupdate-alternativ:med /usr/bin/sar. sysstat för att tillhandahålla /usr/bin/sar (sar) i autoläge Skapat symlänk /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.Ställa in postgresql-client-common (226.pgdg20.10+1) ...Ställa in libjson-xs-perl (4.020-1build1) ...Inställning upp postgresql-client-12 (12.7-1.pgdg20.10+1) ...update-alternatives:använd /usr/share/postgresql/12/man/man1/psql.1.gz för att tillhandahålla /usr/share/ man/man1/psql.1.gz (psql.1.gz) i autoläge Ställa in postgresql-common (226.pgdg20.10+1) ...Lägger till användare postgres i gruppen ssl-certSkapar konfigurationsfil /etc/postgresql- common/createcluster.conf med ny version Bygga PostgreSQL-ordböcker från installerade myspell/hunspell-paket...sv_usTa bort föråldrade ordboksfiler:Skapade symlänk /etc/systemd/system/multi-user.target.wants/postgresql.service → /lib/systemd/ system/postgresql.service.Ställa in postgresql-12 (12.7-1.pgdg20.10+1) ...Skapar nytt PostgreSQL-kluster 12/main .../usr/lib/postgresql/12/bin/initdb -D / var/lib/postgresql/12/main --auth-local peer --auth-host md5Filerna som tillhör detta databassystem kommer att ägas av användaren "postgres". Den här användaren måste också äga serverprocessen. Databasklustret kommer att initieras med locale "en_US.UTF-8". Standarddatabaskodningen har därför ställts in på "UTF8". Standardkonfigurationen för textsökning kommer att vara inställd på "english". Kontrollsummor för datasidor är inaktiverade. fixar behörigheter på befintlig katalog /var/lib/postgresql/12/main ... ok skapar underkataloger ... ok väljer dynamiskt delat minnesimplementering ... posix väljer standard max_connections ... 100selecting default shared_buffers ... 128MB väljer standardtidszon ... America/New_York skapar konfigurationsfiler ... okkör bootstrap-skript ... okutför initiering efter bootstrap ... oksynkroniserar data till disk ... okSuccess. Du kan nu starta databasservern med:pg_ctlcluster 12 main startVer Kluster Port Status Ägare Datakatalog Log file12 main 5432 down postgres /var/lib/postgresql/12/main /var/log/postgresql/postgresql-12-main.logupdate- alternativ:använda /usr/share/postgresql/12/man/man1/postmaster.1.gz för att tillhandahålla /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) i autoläge. Bearbetar triggers för systemd ( 246.6-1ubuntu1) ...Bearbetar utlösare för man-db (2.9.3-2) ...Bearbetar utlösare för libc-bin (2.32-0ubuntu3) ...root@PostgreSQL:~# 

Steg 5:Kontrollera PostgreSQL-tjänstens status

systemctl status postgresql.service 

Exempelutgång:

root@PostgreSQL:~# systemctl status postgresql.service ● postgresql.service - PostgreSQL RDBMSLoaded:laddad (/lib/systemd/system/postgresql.service; aktiverad; leverantör p>
Aktiv:aktiv (avslutad) sedan sön 2021- 05-16 09:17:56 EDT; 1 min 56s sedanHuvud-PID:10932 (kod=avslutad, status=0/SUCCESS)Uppgifter:0 (gräns:4648)Minne:0BCGroup:/system.slice/postgresql.service09:16 17:56 PostgreSQL systemd[1]:Startar PostgreSQL RDBMS...16 maj 09:17:56 PostgreSQL systemd[1]:Avslutad PostgreSQL RDBMS.root@PostgreSQL:~#

Steg 6:Anslut PostgreSQL 

sudo su - postgres

Steg 7:Återställ PostgreSQL-lösenordet

Det rekommenderas att återställa lösenordet till starkt lösenord

psql -c "ändra användarens postgres med lösenordet 'StrongAdminP@ssw0rd'"

Exempelutgång:

root@PostgreSQL:~# sudo su - postgrespostgres@PostgreSQL:~$ postgres@PostgreSQL:~$ psql -c "ändra användarens postgres med lösenordet 'StrongAdminP@ssw0rd'"ÄNDRA ROLEpostgres@PostgreSQL:~$

Steg 8:Skapa PostgreSQL-databas 

$ psql$ SKAPA DATABAS firsttestdb;$ SKAPA ANVÄNDARE testuser1 MED KRYPTAT LÖSENORD 'MyDBP@ss0rd';$ GE ALLA PRIVILEGIER PÅ DATABAS firsttestdb till testuser1;

Lista PostgreSQL databasen:

$\l

Så här ansluter du till PostgreSQL-databas:

 \c firsttestdb

Exempelutgång:

postgres=# \c firsttestdbDu är nu ansluten till databasen "firsttestdb" som användare "postgres".firsttestdb=#

Nu ska vi se hur man tillåter fjärranslutningar till PostgreSQL DB.

Steg 9:Tillåt fjärranslutning till PostgreSQL-databasen

sudo nano /etc/postgresql/12/main/postgresql.conf 

Avkommentera raden “listen_addresses =‘*’ "

Spara filen och starta om PostgreSQL-tjänsten

sudo systemctl starta om postgresql 

Steg 10:Kontrollera lyssningsadressen

 netstat  -tunelp | grep 5432

Exempelutgång:

root@PostgreSQL:~# netstat -antple | grep 5432tcp 0 0 0.0.0.0:5432 0.0.0.0:* LYSSNA 135 253939 13850/postgres tcp6 0 0 :::5432 :::* LISTEN 135 2539940 2539940/postgresQ5:root@Po~greS5:Post#138 

I slutet av artikeln har vi sett hur man installerar PostgreSQL 12 på Ubuntu 20.04/18.04/16.04.


  1. Datamaskering i DB-applikationer

  2. mysql välja int som valuta eller konvertera int till valutaformat?

  3. Fråga timeout i pg-promise

  4. MariaDB INTERSECT Operatör förklaras