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

PostgreSQL

Wikikko - kansan taitopankkista
Siirry navigaatioon Siirry hakuun

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