Voit itse lisätä ja muuttaa sisältöä muokkaa-painikkeiden avulla

Ennen tallennusta suositellaan ottamaan kopio muokkausruudusta (ctrl-a -> ctrl-c)

 Olet itse vastuussa tämän teoksen käytöstä aiheutuvista vahingoista Lue lisää.

Ero sivun ”PostgreSQL” versioiden välillä

Wikikko - kansan taitopankkista
Siirry navigaatioon Siirry hakuun
 
(Yhtä välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 3: Rivi 3:


Ks. myös [[Mac_vinkit#PostgreSQL|Mac-vinkit PostgreSQL]]
Ks. myös [[Mac_vinkit#PostgreSQL|Mac-vinkit PostgreSQL]]
== Asennus ==
* Asennettaessa käyttäjätunnus ja salasana ovat kummatkin postgres
* Asetustiedostot sijaitsevat osoitteessa /etc/postgresql/17/main jossa 17 on PostgreSQL:n versionumero.
* data_directory: /var/lib/postgresql/15/main/


== Käyttäminen ==
== Käyttäminen ==
Huom. seuraavissa esimerkikeissä 15 tarkoittaa versionumerota.
* '''Vastaako palvelin''': pg_isready
* '''Vastaako palvelin''': pg_isready
** Vastaus esim. /var/run/postgresql:5432 - accepting connections
* '''Palvelimen tila''': sudo service postgresql status
* '''Onko tietokanta käynnissä''':  
* '''Onko tietokanta käynnissä''':  
** sudo service postgresql status
** sudo service postgresql status
** ps -ef | grep postgres
** ps -ef | grep postgres
* '''Palvelimen uudelleen käynnistys'''
* '''Palvelimen uudelleen käynnistys'''
** ''sudo systemctl restart postgresql.service''
** sudo service postgresql restart
** sudo service postgresql restart
** sudo systemctl restart postgresql.service
** sudo systemctl restart postgresql
** sudo systemctl restart postgresql
** sudo /etc/init.d/postgresql restart
** sudo /etc/init.d/postgresql restart
* pg_ctlcluster uudelleen käynnistys: sudo pg_ctlcluster 17 main start
* pg_ctlcluster uudelleen käynnistys: sudo pg_ctlcluster 15 main start
* '''Kaikkien klustereiden näyttäminen''': sudo pg_lsclusters   
* '''Kaikkien klustereiden näyttäminen''': sudo pg_lsclusters   
* '''Tietokannan koko''': sudo du -sh /var/lib/postgresql/17/main/
** Vastaus esim. 15  main    5432 online postgres /var/lib/postgresql/15/main log/postgresql-%a.log
* '''Tietokannan koko''': sudo du -sh /var/lib/postgresql/15/main/
* '''Ohjeet''': man postgres
* '''Ohjeet''': man postgres
* '''"Virhe"loki'''
* '''"Virhe"lokit'''
** journalctl -xeu postgresql@17-main.service  
** journalctl -xeu postgresql@15-main.service  
** sudo systemctl status postgresql@17-main.service
** sudo systemctl status postgresql@15-main.service Aktiivinen tietokanta ilmoittaa active (running)
** sudo vi /var/log/postgresql/postgresql-15-main.log
** sudo vi /var/log/postgresql/postgresql-15-main.log
* '''Varmuuskopio''': sudo tar -cf postgresql-tietokanta.tar /var/lib/postgresql/15/main
== "Komentotila" ==
* Komentotila “postgres”
* sudo -u postgres psql
** psql -U postgres -d tietokannannimi     Kirjautuminen suoraan nimettyyn tietokantaan
** SELECT current_database();     Näyttää nykyiset tietokannat, nimi on postgres
** SELECT pg_size_pretty(pg_database_size('tietokannannimi'));     Tietokannan koko
** \l+ postgres     Tietokannan koko, pois ctr-z
** \c TIETOKANTA     Vaihto haluttuun tietokantaan
** \dt+     Tietokannan taulut
** \d+ TAULUNNIMI
** \q     pois




* Komentotila “postgres”
* sudo -i -u postgres     ???
** sudo -i -u postgres
** psql     interaktiivinen tila
** sudo -u postgres psql
** \q     pois
*** psql  interaktiivinen tila
* sudo su - postgres     ???
** \q
 
tai
== Asennus ==
** sudo su - postgres  
* Asennettaessa käyttäjätunnus ja salasana ovat kummatkin postgres
* Asetustiedostot sijaitsevat osoitteessa /etc/postgresql/17/main jossa 17 on PostgreSQL:n versionumero.
* data_directory: /var/lib/postgresql/15/main/


== Varmuuskopio ==
# sudo apt install -y postgresql-common -y
* sudo tar -cf postgresql-tietokanta.tar /var/lib/postgresql/15/main
# sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
* https://www.postgresql.org/docs/current/backup-dump.html
## Enter
# sudo apt install -y postgresql
# sudo systemctl restart postgresql
# sudo systemctl status postgresql
## Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
## Active: active (exited) since Sun 2025-04-06 11:07:51 EEST; 15s ago
# sudo -u postgres psql
## ALTER USER postgres WITH PASSWORD 'salasana';
## ctrl-D     Kirjaudutaan ulos
# sudo -u postgres psql
## CREATE USER ubuntu;
## CREATE USER käyttäjänimi WITH PASSWORD 'salasana';
### CREATE USER käyttäjänimi WITH PASSWORD 'salasana' CREATEDB;     Tässä lisättäisiin oikeus
## \du+     Näyttää käyttäjät
## \q     Poistutaan
## ls /etc/postgresql     Mikä PostgreSQL-versio asennettu.
## sudo systemctl status postgresql@15-main.service     Pitäisi olla Active: active (running) Memory 21.3M


== PostgreSQL poistaminen ==
== PostgreSQL poistaminen ==
: docker ps -a    Luettelo docker-containereista
# docker ps -a     Luettelo docker-containereista
:: docker stop ID    Containerien pysäyttäminen
## docker stop ID     Containerien pysäyttäminen
:: docker rm ID    Containerien poistaminen
## docker rm ID     Containerien poistaminen
: sudo systemctl stop XXX.service    Mahdollisten palvelimien pysäyttäminen
# sudo systemctl stop XXX.service     Mahdollisten palvelimien pysäyttäminen
:: sudo systemctl disable XXX.service    Mahdollisten palvelimien uudelleenkäynnistämisen poistaminen
## sudo systemctl disable XXX.service     Mahdollisten palvelimien uudelleenkäynnistämisen poistaminen
: ps -A |grep  java    Luettelo java-prosesseista
# ps -A |grep  java     Luettelo java-prosesseista
:: sudo kill -9 PID PID
## sudo kill -9 PID PID
:: Prosessiluettelo: ps aux
## Prosessiluettelo: ps aux
: sudo apt-get --purge remove postgresql\*
# sudo apt-get --purge remove postgresql\*
::   Yes
##   Yes
: sudo apt-get --purge remove postgresql
# sudo apt-get --purge remove postgresql
: dpkg -l | grep postgres    Ei pitäisi ilmoittaa mitään
# dpkg -l | grep postgres     Ei pitäisi ilmoittaa mitään
:: apt-get --purge remove paketti paketti    Tarvittaessa poista luetellut paketit
## apt-get --purge remove paketti paketti     Tarvittaessa poista luetellut paketit
: whereis postgres    Ei pitäisi antaa mitään, poista jos on
# whereis postgres     Ei pitäisi antaa mitään, poista jos on
: whereis postgresql    Ei pitäisi antaa mitään, poista jos on
# whereis postgresql     Ei pitäisi antaa mitään, poista jos on
:: sudo rm -dr /etc/postgresql
## sudo rm -dr /etc/postgresql
: sudo userdel -f postgres
# sudo userdel -f postgres
 
== Linkkejä ==
: https://wiki.postgresql.org/wiki/Corruption
: https://www.postgresql.org/docs/current/admin.html
 
== Virheilmoitukset ==
* Virheilmoitus: Error: Invalid data directory for cluster 15 main
sudo chmod 644 /etc/postgresql/15/main/postgresql.conf
sudo chown -R postgres:postgres /etc/postgresql/15/main
* Virheilmoitus: psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?
** Palvelin ei ole päällä
* Virheilmoitus: Virheilmoitus: psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL:  role "ubuntu" does not exist
sudo -u postgres -i
psql-komento tähän


== phppgadmin ==
== phppgadmin ==
Rivi 67: Rivi 111:


== Dbeaver ==  
== Dbeaver ==  
: sudo apt update
# sudo apt update
: sudo apt install snapd
# sudo apt install snapd
: sudo snap install dveaver-ce
# sudo snap install dveaver-ce
: sudo snap remove dbeaver-ce
# sudo snap remove dbeaver-ce


[[Luokka:Tietokoneet]]
[[Luokka:Tietokoneet]]

Nykyinen versio 12. huhtikuuta 2025 kello 15.00

Johdanto

[muokkaa]

PostgreSQL on eräs tietokannan hallintajärjestelmä.

Ks. myös Mac-vinkit PostgreSQL

Käyttäminen

[muokkaa]

Huom. seuraavissa esimerkikeissä 15 tarkoittaa versionumerota.

  • Vastaako palvelin: pg_isready
    • Vastaus esim. /var/run/postgresql:5432 - accepting connections
  • Palvelimen tila: sudo service postgresql status
  • Onko tietokanta käynnissä:
    • sudo service postgresql status
    • ps -ef | grep postgres
  • Palvelimen uudelleen käynnistys
    • sudo systemctl restart postgresql.service
    • sudo service postgresql restart
    • sudo systemctl restart postgresql
    • sudo /etc/init.d/postgresql restart
  • pg_ctlcluster uudelleen käynnistys: sudo pg_ctlcluster 15 main start
  • Kaikkien klustereiden näyttäminen: sudo pg_lsclusters
    • Vastaus esim. 15 main 5432 online postgres /var/lib/postgresql/15/main log/postgresql-%a.log
  • Tietokannan koko: sudo du -sh /var/lib/postgresql/15/main/
  • Ohjeet: man postgres
  • "Virhe"lokit
    • journalctl -xeu postgresql@15-main.service
    • sudo systemctl status postgresql@15-main.service Aktiivinen tietokanta ilmoittaa active (running)
    • sudo vi /var/log/postgresql/postgresql-15-main.log
  • Varmuuskopio: sudo tar -cf postgresql-tietokanta.tar /var/lib/postgresql/15/main

"Komentotila"

[muokkaa]
  • Komentotila “postgres”
  • sudo -u postgres psql
    • psql -U postgres -d tietokannannimi     Kirjautuminen suoraan nimettyyn tietokantaan
    • SELECT current_database();     Näyttää nykyiset tietokannat, nimi on postgres
    • SELECT pg_size_pretty(pg_database_size('tietokannannimi'));     Tietokannan koko
    • \l+ postgres     Tietokannan koko, pois ctr-z
    • \c TIETOKANTA     Vaihto haluttuun tietokantaan
    • \dt+     Tietokannan taulut
    • \d+ TAULUNNIMI
    • \q     pois


  • sudo -i -u postgres     ???
    • psql     interaktiivinen tila
    • \q     pois
  • sudo su - postgres     ???

Asennus

[muokkaa]
  • Asennettaessa käyttäjätunnus ja salasana ovat kummatkin postgres
  • Asetustiedostot sijaitsevat osoitteessa /etc/postgresql/17/main jossa 17 on PostgreSQL:n versionumero.
  • data_directory: /var/lib/postgresql/15/main/
  1. sudo apt install -y postgresql-common -y
  2. sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
    1. Enter
  3. sudo apt install -y postgresql
  4. sudo systemctl restart postgresql
  5. sudo systemctl status postgresql
    1. Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: enabled)
    2. Active: active (exited) since Sun 2025-04-06 11:07:51 EEST; 15s ago
  6. sudo -u postgres psql
    1. ALTER USER postgres WITH PASSWORD 'salasana';
    2. ctrl-D     Kirjaudutaan ulos
  7. sudo -u postgres psql
    1. CREATE USER ubuntu;
    2. CREATE USER käyttäjänimi WITH PASSWORD 'salasana';
      1. CREATE USER käyttäjänimi WITH PASSWORD 'salasana' CREATEDB;     Tässä lisättäisiin oikeus
    3. \du+     Näyttää käyttäjät
    4. \q     Poistutaan
    5. ls /etc/postgresql     Mikä PostgreSQL-versio asennettu.
    6. sudo systemctl status postgresql@15-main.service     Pitäisi olla Active: active (running) Memory 21.3M

PostgreSQL poistaminen

[muokkaa]
  1. docker ps -a     Luettelo docker-containereista
    1. docker stop ID     Containerien pysäyttäminen
    2. docker rm ID     Containerien poistaminen
  2. sudo systemctl stop XXX.service     Mahdollisten palvelimien pysäyttäminen
    1. sudo systemctl disable XXX.service     Mahdollisten palvelimien uudelleenkäynnistämisen poistaminen
  3. ps -A |grep java     Luettelo java-prosesseista
    1. sudo kill -9 PID PID
    2. Prosessiluettelo: ps aux
  4. sudo apt-get --purge remove postgresql\*
    1. Yes
  5. sudo apt-get --purge remove postgresql
  6. dpkg -l | grep postgres     Ei pitäisi ilmoittaa mitään
    1. apt-get --purge remove paketti paketti     Tarvittaessa poista luetellut paketit
  7. whereis postgres     Ei pitäisi antaa mitään, poista jos on
  8. whereis postgresql     Ei pitäisi antaa mitään, poista jos on
    1. sudo rm -dr /etc/postgresql
  9. sudo userdel -f postgres

Linkkejä

[muokkaa]
https://wiki.postgresql.org/wiki/Corruption
https://www.postgresql.org/docs/current/admin.html

Virheilmoitukset

[muokkaa]
  • Virheilmoitus: Error: Invalid data directory for cluster 15 main
sudo chmod 644 /etc/postgresql/15/main/postgresql.conf
sudo chown -R postgres:postgres /etc/postgresql/15/main
  • Virheilmoitus: psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory Is the server running locally and accepting connections on that socket?
    • Palvelin ei ole päällä
  • Virheilmoitus: Virheilmoitus: psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: role "ubuntu" does not exist
sudo -u postgres -i
psql-komento tähän

phppgadmin

[muokkaa]
https://alibaba-cloud.medium.com/how-to-set-up-postgresql-and-phppgadmin-on-ubuntu-18-04-d0db1a0f95f1

pgAdmin

[muokkaa]
https://www.howtoforge.com/how-to-install-pgadmin-4-postgresql-admin-tool-on-ubuntu-2404/

Dbeaver

[muokkaa]
  1. sudo apt update
  2. sudo apt install snapd
  3. sudo snap install dveaver-ce
  4. sudo snap remove dbeaver-ce