PostgreSQL

From RCUB
Jump to: navigation, search
(Upgrade sa 8.1 na 8.3 / 8.4: Promenio verziju)
(Upgrade sa 8.1 na 8.3 / 8.4)
Line 136: Line 136:
 
   vacuumdb -az
 
   vacuumdb -az
  
==Upgrade sa 8.1 na 8.3 / 8.4==
+
==Upgrade major verzije==
  
Standardna CentOS 5.2 instalacija sadrži PostgreSQL 8.1, koji je zastareo.
 
 
Kod Postgresa su prve dve cifre oznaka major verzije, što znači da je  
 
Kod Postgresa su prve dve cifre oznaka major verzije, što znači da je  
8.4 tri major verzije iznad 8.1.  
+
npr. 8.4 major upgrade u odnosu na 8.3 i slično.
  
Pre upgrade-a uraditi backup, i premestiti DB klaster direktorijum,
+
Major upgrade podrazumeva da je došlo do promene na strukturi podataka
kao što je opisano u koracima 1-3 na:
+
u fajl sistemu i da je potreban export/import prilikom upgrade-a.
  
  http://www.postgresql.org/docs/8.3/interactive/install-upgrading.html
+
Za razliku od toga kod minor upgrade-a (npr. 8.4.0 u 8.4.1) struktura
  http://www.postgresql.org/docs/8.4/interactive/install-upgrading.html
+
podataka je sigurno ostala ista i nije potreban eksport i import.
  
Za upgrade servera treba koristiti Postgresov yum repozitorijum:
+
Pre upgrade-a uraditi backup, i premestiti DB klaster direktorijum:
  
   http://yum.pgsqlrpms.org/
+
   pg_dumpall > pg_all.sql
 +
  /etc/rc.d/init.d/postgresql stop
 +
  /etc/rc.d/init.d/postgresql-9.0 stop
 +
  mv /var/lib/pgsql /var/lib/pgsql.old
  
Prateci linkove, nađite repository RPM, na primer:
+
Opisano u
  
   http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
+
   http://www.postgresql.org/docs/9.0/interactive/install-upgrading.html
  http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
+
  
Iako RPM ima oznaku verzije 8.3.6, on može imati i noviju verziju, npr.
+
Za upgrade servera treba koristiti Postgresov yum repozitorijum:
8.3.7. Instalirajte RPM sa:
+
  
   wget http://yum.pgsqlrpms.org/reporpms/8.3/pgdg-centos-8.3-6.noarch.rpm
+
   http://yum.pgrpms.org/reporpms/
  rpm -i pgdg-centos-8.3-6.noarch.rpm
+
  
ili
+
Prateci linkove, nađite repository RPM, na primer:
  
   wget http://yum.pgsqlrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
+
   http://yum.pgrpms.org/reporpms/8.3/pgdg-centos-8.3-7.noarch.rpm
   rpm -i pgdg-centos-8.4-2.noarch.rpm
+
  http://yum.pgrpms.org/reporpms/8.4/pgdg-centos-8.4-2.noarch.rpm
 +
  http://yum.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
 +
 
 +
Instalirajte RPM sa:
 +
 
 +
  wget http://yum.pgrpms.org/reporpms/9.0/pgdg-centos-9.0-2.noarch.rpm
 +
   rpm -i pgdg-centos-9.0-2.noarch.rpm
  
 
Proverite da li se u /etc/yum.repos.d/ nalazi pgdg-8*-centos.repo.  
 
Proverite da li se u /etc/yum.repos.d/ nalazi pgdg-8*-centos.repo.  
 
Obrisati viškove. Na primer, ako se radi migracija sa 8.3 na 8.4 moguće je da već postoji  
 
Obrisati viškove. Na primer, ako se radi migracija sa 8.3 na 8.4 moguće je da već postoji  
stari pgdg-83-centos.repo koga treba obrisati.
+
stari pgdg-83-centos.repo koga treba obrisati. Ako ima konflikta deinstalirati stari Postgres.
Instalirajte javni ključ za Postgres:
+
 
 +
'''Samo za upgrade na 8.x''', instalirajte javni ključ za Postgres:
  
 
   wget http://yum.pgsqlrpms.org/RPM-GPG-KEY-PGDG
 
   wget http://yum.pgsqlrpms.org/RPM-GPG-KEY-PGDG
Line 182: Line 188:
 
   exclude=postgresql*
 
   exclude=postgresql*
  
Update-ujte postgres sa:
+
'''Za 8.x''', update-ujte postgres sa:
 
    
 
    
 
   yum update postgresql
 
   yum update postgresql
 +
 +
'''Za 9.0''', instalirajte postgres:
 +
 +
  yum install postgresql90-server
  
 
Terebalo bi da je kreiran novi, prazan direktorijum /var/lib/pgsql/data.  
 
Terebalo bi da je kreiran novi, prazan direktorijum /var/lib/pgsql/data.  
Proveriti. Kao korisnik postgres izvršiti inicijalizaciju DB klastera:
+
Proveriti. Kao korisnik root izvršiti inicijalizaciju DB klastera:
 +
 
 +
Za 9.0:
 +
 
 +
  service postgresql-9.0 initdb
 +
 
 +
Za 8.x:
  
 
   su - postgres
 
   su - postgres
Line 194: Line 210:
 
Startovati Postgres service kao korisnik root:
 
Startovati Postgres service kao korisnik root:
  
 +
  exit
 +
  /etc/init.d/postgresql-9.0 start
 
   /etc/init.d/postgresql start
 
   /etc/init.d/postgresql start
  
 
Uraditi restore baze:
 
Uraditi restore baze:
  
   psql -d postgres -f ../pgsql-old/db_all.dump
+
  su - postgres
 +
   psql -d postgres -f ../pgsql.old/pg_all.sql
  
 
Uraditi vacuum:
 
Uraditi vacuum:

Revision as of 12:51, 15 March 2011

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox