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ä
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]] | ||
== 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 | ** sudo systemctl restart postgresql | ||
** sudo /etc/init.d/postgresql restart | ** sudo /etc/init.d/postgresql restart | ||
* pg_ctlcluster uudelleen käynnistys: sudo pg_ctlcluster | * 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/ | ** 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" | * '''"Virhe"lokit''' | ||
** journalctl -xeu postgresql@ | ** journalctl -xeu postgresql@15-main.service | ||
** sudo systemctl status postgresql@ | ** 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 | |||
* sudo -i -u postgres ??? | |||
** psql interaktiivinen tila | |||
** \q pois | |||
** | * sudo su - postgres ??? | ||
** \ | |||
== 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/ | |||
# sudo apt install -y postgresql-common -y | |||
# sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh | |||
## 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 stop ID Containerien pysäyttäminen | |||
## docker rm ID Containerien poistaminen | |||
# sudo systemctl stop XXX.service Mahdollisten palvelimien pysäyttäminen | |||
## sudo systemctl disable XXX.service Mahdollisten palvelimien uudelleenkäynnistämisen poistaminen | |||
# ps -A |grep java Luettelo java-prosesseista | |||
## sudo kill -9 PID PID | |||
## Prosessiluettelo: ps aux | |||
# sudo apt-get --purge remove postgresql\* | |||
## Yes | |||
# sudo apt-get --purge remove postgresql | |||
# dpkg -l | grep postgres Ei pitäisi ilmoittaa mitään | |||
## apt-get --purge remove paketti paketti Tarvittaessa poista luetellut paketit | |||
# whereis postgres 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 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 install snapd | |||
# sudo snap install dveaver-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/
- sudo apt install -y postgresql-common -y
- sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
- 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
[muokkaa]- docker ps -a Luettelo docker-containereista
- docker stop ID Containerien pysäyttäminen
- docker rm ID Containerien poistaminen
- sudo systemctl stop XXX.service Mahdollisten palvelimien pysäyttäminen
- sudo systemctl disable XXX.service Mahdollisten palvelimien uudelleenkäynnistämisen poistaminen
- ps -A |grep java Luettelo java-prosesseista
- sudo kill -9 PID PID
- Prosessiluettelo: ps aux
- sudo apt-get --purge remove postgresql\*
- Yes
- sudo apt-get --purge remove postgresql
- dpkg -l | grep postgres Ei pitäisi ilmoittaa mitään
- apt-get --purge remove paketti paketti Tarvittaessa poista luetellut paketit
- whereis postgres 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 userdel -f postgres
Linkkejä
[muokkaa]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]pgAdmin
[muokkaa]Dbeaver
[muokkaa]- sudo apt update
- sudo apt install snapd
- sudo snap install dveaver-ce
- sudo snap remove dbeaver-ce