Sådan installeres PostgreSQL 10 ved hjælp af kildekode i Linux
PostgreSQL også kaldet Postgres er et kraftfuldt og open source objekt-relationsdatabasesystem. Det er en database på virksomhedsniveau, der har funktioner såsom logning af skridt fremad for fejltolerance, asynkron replikering, Multi-Version Concurrency Control (MVCC), online/hot-backup, point-time-opsving, forespørgsel planner/optimizer, tabeller, indlejrede transaktioner (savepoints ) etc.
Postgres har sin seneste version 10 udgivet 5. oktober 2017 af postgres global udviklingsgruppe.
Funktionerne i den nye version er som følger:
- Logisk replikering: Denne funktion muliggør replikering af individuelle databaseobjekter (det være sig rækker, tabeller eller selektive databaser) på tværs af standby-servere. Det giver mere kontrol over datareplikering. Implementeret ved hjælp af model for udgiver-abonnent.
- Kvorum forpligter sig til synkron replikering: I denne funktion kan dba nu specificere antallet af standby'er, der anerkender, at ændringerne i databasen er udført, så data kan betragtes som sikkert skrevet.
- SCRAM-SHA-256-godkendelse: Forbedret sikkerhed, som eksisterende MD5-baseret adgangskodegodkendelse og -lagring.
- Forbedret parallel udførelse af forespørgsler.
- Deklarativ tabelopdeling.
- Fuldtekstsøgningssupport til JSON og JSONB.
I denne artikel vil vi forklare, hvordan du installerer PostgreSQL 10 ved hjælp af installation af kildekode i Linux-systemer. De, der leder efter nem installation fra distributionspakkehåndtering, kan følge nedenstående vejledninger.
- Sådan installeres PostgreSQL 10 på CentOS/RHEL og Fedora
- Sådan installeres PostgreSQL 10 på Debian og Ubuntu
Installer PostgreSQL ved hjælp af kildekode
Da postgres er open source-database, kan den bygges ud fra kildekoden i henhold til ens behov/krav. Vi kan tilpasse bygge- og installationsprocessen ved at levere en eller flere kommandolinjemuligheder til forskellige yderligere funktioner.
Den største fordel ved at bruge kildekodeinstallation er, at den kan tilpasses meget under installationen.
1. Installer først de nødvendige forudsætninger som gcc, readline-devel og zlib-devel ved hjælp af pakkehåndteringen som vist.
# yum install gcc zlib-devel readline-devel [On RHEL/CentOS] # apt install gcc zlib1g-dev libreadline6-dev [On Debian/Ubuntu]
2. Download kildekode tar-filen fra den officielle wget-kommando direkte på systemet.
# wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.bz2
3. Brug tar-kommandoen til at udtrække den downloadede tarball-fil. Ny mappe med navnet postgresql-10.0 oprettes.
# tar -xvf postgresql-10.0.tar.bz2 # ll
total 19236 -rw-------. 1 root root 933 Mar 18 2015 anaconda-ks.cfg -rw-r--r--. 1 root root 8823 Mar 18 2015 install.log -rw-r--r--. 1 root root 3384 Mar 18 2015 install.log.syslog drwxrwxrwx 6 1107 1107 4096 Oct 3 2017 postgresql-10.0 -rw-r--r-- 1 root root 19639147 Oct 3 2017 postgresql-10.0.tar.bz2
4. Næste trin til installationsproceduren er at konfigurere den downloadede kildekode ved at vælge indstillingerne efter dine behov.
# cd postgresql-10.0
brug ./configure --help
for at få hjælp til forskellige muligheder.
# ./configure --help Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print `checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for `--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or `..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local/pgsql] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX]
5. Opret nu et bibliotek, hvor du vil installere postgres-filer, og brug prefix-indstillingen med configure.
# mkdir /opt/PostgreSQL-10/ # ./configure --prefix=/opt/PostgreSQL-10
checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking which template to use... linux checking whether NLS is wanted... no checking for default port number... 5432 checking for block size... 8kB checking for segment size... 1GB checking for WAL block size... 8kB checking for WAL segment size... 16MB checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc supports -Wdeclaration-after-statement... yes checking whether gcc supports -Wendif-labels... yes checking whether gcc supports -Wmissing-format-attribute... yes checking whether gcc supports -Wformat-security... yes checking whether gcc supports -fno-strict-aliasing... yes checking whether gcc supports -fwrapv... yes checking whether gcc supports -fexcess-precision=standard... no ....
6. Efter konfiguration begynder vi derefter at opbygge postgreSQL ved hjælp af følgende make-kommando.
# make
Når byggeprocessen er færdig, skal du nu installere postgresql ved hjælp af følgende kommando.
# make install
Postgresql 10 er installeret i/opt/PostgreSQL-10-biblioteket.
7. Opret nu en postgres bruger og mappe, der skal bruges som datakatalog til initialisering af databaseklynge. Ejeren af dette datakatalog skal være postgres-bruger og tilladelser skal være 700 og også angive sti til postgresql-binære filer for vores lethed.
# useradd postgres # passwd postgres # mkdir /pgdatabase/data # chown -R postgres. /pgdatabase/data # echo 'export PATH=$PATH:/opt/PostgreSQL-10/bin' > /etc/profile.d/postgres.sh
8. Initialiser nu databasen ved hjælp af følgende kommando som postgres-bruger, inden du bruger postgres-kommandoer.
# su postgres $ initdb -D /pgdatabase/data/ -U postgres -W
Hvor -D
er placering for denne databaseklynge, eller vi kan sige, at det er datakatalog, hvor vi vil initialisere databaseklyngen, -U
for databasens superbrugernavn og - W
for adgangskode til db superbruger.
For mere info og muligheder kan vi henvise til initdb –help.
9. Efter initialisering af databasen skal du starte databaseklyngen, eller hvis du har brug for at ændre port eller lytteadresse til serveren, skal du redigere postgresql.conf-filen i databaseserverens databibliotek.
$ pg_ctl -D /pgdatabase/data/ -l /pglog/db_logs/start.log start
10. Efter start af database skal du kontrollere status for postgres-serverprocessen ved hjælp af følgende kommandoer.
$ ps -ef |grep -i postgres $ netstat -apn |grep -i 51751
Vi kan se, at databaseklyngen kører fint, og startlogfiler kan findes på det sted, der er angivet med indstillingen -l
, mens du starter databaseklyngen.
11. Opret nu forbindelse til databaseklyngen, og opret database ved hjælp af følgende kommandoer.
$ psql -p 51751 postgres=# create database test; postgres=# \l to list all databases in cluster postgres=# \q to quit form postgres console
Det er det! i vores kommende artikler vil jeg dække konfiguration, replikeringsopsætning og installation af pgAdmin-værktøjet, indtil da holder øje med Tecmint.