Vizualizarea datelor din postgresql într-un browser. comenzi și scripturi postgres

Vizualizarea datelor din postgresql într-un browser. comenzi și scripturi postgres

A fost identificată o vulnerabilitate (CVE-2019-18634) în utilitarul sudo, care este folosit pentru a organiza execuția comenzilor în numele altor utilizatori, ceea ce vă permite să vă creșteți privilegiile în sistem. Problema […]

Lansarea WordPress 5.3 îmbunătățește și extinde editorul de blocuri introdus în WordPress 5.0 cu un bloc nou, interacțiune mai intuitivă și accesibilitate îmbunătățită. Caracteristici noi în editor […]

După nouă luni de dezvoltare, este disponibil pachetul multimedia FFmpeg 4.2, care include un set de aplicații și o colecție de biblioteci pentru operațiuni pe diverse formate multimedia (înregistrare, conversie și […]

  • Caracteristici noi în Linux Mint 19.2 Scorțișoară

    Linux Mint 19.2 este o versiune de suport pe termen lung care va fi acceptată până în 2023. Vine cu actualizat softwareși conține îmbunătățiri și multe noi […]

  • Distribuția Linux Mint 19.2 a fost lansată

    Lansare prezentată distribuție Linux Mint 19.2, a doua actualizare pentru ramura Linux Mint 19.x, bazată pe baza de pachete Ubuntu 18.04 LTS și acceptată până în 2023. Distribuția este pe deplin compatibilă [...]

  • Sunt disponibile noi versiuni de serviciu BIND care conțin remedieri de erori și îmbunătățiri ale caracteristicilor. Noile versiuni pot fi descărcate de pe pagina de descărcări de pe site-ul dezvoltatorului: […]

    Exim este un agent de transfer de mesaje (MTA) dezvoltat la Universitatea din Cambridge pentru a fi utilizat pe sisteme Unix conectate la Internet. Este disponibil gratuit în conformitate cu [...]

    După aproape doi ani de dezvoltare, este prezentată lansarea ZFS pe Linux 0.8.0, implementare sistem de fișiere ZFS, conceput ca un modul pentru nucleul Linux. Modulul a fost testat cu nuclee Linux de la 2.6.32 la […]

    IETF (Internet Engineering Task Force), care dezvoltă protocoale și arhitectură Internet, a finalizat RFC pentru protocolul ACME (Automatic Certificate Management Environment) […]

    Autoritatea de certificare non-profit Let’s Encrypt, care este controlată de comunitate și oferă certificate gratuit tuturor, a rezumat rezultatele anului trecut și a vorbit despre planurile pentru 2019. […]

    Bună ziua tuturor, astăzi vreau să vă fac un scurt memento despre principalele comenzi PostgreSQL. Puteți lucra cu PosgreSQL atât interactiv, cât și de la linie de comandă. Programul este psql. Sunt sigur că această listăÎți va fi foarte util și va economisi timp căutând prin diverse resurse. Permiteți-mi să vă reamintesc că acesta este un proiect open-source, bazat pe Postgres DBMS, lansat în 1986, este dezvoltat de un grup mondial de dezvoltatori PGDG, în esență 5-8 persoane, dar, în ciuda acestui fapt, se dezvoltă foarte intens. , introducerea de noi funcții și remedierea erorilor și erorilor vechi.

    Comenzi de bază PostgreSQL în modul interactiv:

    • \connect db_name – conectați-vă la baza de date numită db_name
    • \du – lista de utilizatori
    • \dp (sau \z) – listă de tabele, vizualizări, secvențe, drepturi de acces la acestea
    • \di – indici
    • \ds – secvențe
    • \dt – lista de tabele
    • \dt+ - lista tuturor tabelelor cu descrieri
    • \dt *s* - lista tuturor tabelelor care conțin s în nume
    • \dv – reprezentări
    • \dS – tabele de sistem
    • \d+ – descrierea tabelului
    • \o – trimite rezultatele interogării într-un fișier
    • \l – lista bazelor de date
    • \i – citește datele primite dintr-un fișier
    • \e – deschide conținutul curent al bufferului de solicitare în editor (dacă nu se specifică altfel în mediul variabilei EDITOR, vi va fi folosit implicit)
    • \d „nume_tabel” – descrierea tabelului
    • \ execut comanda de la fișier extern, de exemplu \i /my/directory/my.sql
    • \pset – comandă pentru a configura opțiunile de formatare
    • \echo – afișează un mesaj
    • \set – stabilește valoarea variabila de mediu. Fără parametri, afișează o listă de variabile curente (\unset – șterge).
    • \? – referință psql
    • \help – referință SQL
    • \q (sau Ctrl+D) – ieșiți din program

    Lucrul cu PostgreSQL din linia de comandă:

    • -c (sau –command) – rulează o comandă SQL fără a intra în modul interactiv
    • -f file.sql - executa comenzi din fisierul file.sql
    • -l (sau –list) – afișează o listă de baze de date disponibile
    • -U (sau –username) – specificați numele de utilizator (de exemplu, postgres)
    • -W (sau –parolă) – solicitarea parolei
    • -d dbname - se conectează la baza de date dbname
    • -h – numele gazdei (server)
    • -s – modul pas cu pas, adică va trebui să confirmați toate comenzile
    • –S – modul pe o singură linie, adică mergând la o linie nouă va executa interogarea (scăpa de; la sfârșitul construcției SQL)
    • -V – versiunea PostgreSQL fără a intra în modul interactiv

    Exemple:

    psql -U postgres -d dbname -c „CREATE TABLE my(some_id serial PRIMARY KEY, some_text text);” - executarea unei comenzi în baza de date dbname.

    psql -d dbname -H -c „SELECT * FROM my” -o my.html - scoateți rezultatul interogării într-un fișier html.

    Utilitare PosgreSQL (programe):

    • createb și dropdb – crearea și ștergerea unei baze de date (respectiv)
    • createuser și dropuser – creație și utilizator (respectiv)
    • pg_ctl – un program conceput pentru a rezolva sarcini generale de control (pornire, oprire, setarea parametrilor etc.)
    • postmaster – modul de server PostgreSQL multi-utilizator (configurarea nivelurilor de depanare, porturi, directoare de date)
    • initdb – crearea de noi clustere PostgreSQL
    • initlocation – un program pentru crearea de directoare pentru stocarea secundară a bazei de date
    • vacuumdb – suport pentru baze de date fizice și analitice
    • pg_dump – arhivarea și restaurarea datelor
    • pg_dumpall – backupîntregul cluster PostgreSQL
    • pg_restore – restaurarea bazei de date din arhive (.tar, .tar.gz)

    Exemple de creare de copii de rezervă:

    Crearea unei copii de rezervă a bazei de date mydb, în ​​formă comprimată

    Pg_dump -h localhost -p 5440 -U someuser -F c -b -v -f mydb.backup mydb

    Crearea unei copii de rezervă a bazei de date mydb, sub forma unui fișier text obișnuit, inclusiv comanda de creare a bazei de date

    Pg_dump -h localhost -p 5432 -U someuser -C -F p -b -v -f mydb.backup mydb

    Crearea unei copii de siguranță a bazei de date mydb, în ​​formă comprimată, cu tabele care conțin plăți în nume

    Pg_dump -h localhost -p 5432 -U someuser -F c -b -v -t *payments* -f payment_tables.backup mydb

    Eliminați datele dintr-un singur tabel specific. Dacă este nevoie de backup pentru mai multe tabele, numele tabelelor sunt listate folosind comutatorul -t pentru fiecare tabel.

    Pg_dump -a -t nume_tabel -f nume_fișier nume_bază

    Creare copie de rezervă cu compresie în gz

    Pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    Lista celor mai frecvent utilizate opțiuni:

    • -h gazdă - gazdă, dacă nu este specificată atunci este utilizată localhost sau valoarea din variabila de mediu PGHOST.
    • -p port - port, dacă nu este specificat, atunci se utilizează 5432 sau valoarea din variabila de mediu PGPORT.
    • -u - utilizator, dacă nu este specificat, atunci folosit utilizator curent, valoarea poate fi specificată și în variabila de mediu PGUSER.
    • -a, -data-only - descărcați numai datele în mod implicit, datele și schema sunt salvate;
    • -b - include obiecte mari (bloguri) în gunoi.
    • -s, -schema-only - descărcați numai schema.
    • -C, -create - adaugă o comandă pentru a crea o bază de date.
    • -c - adaugă comenzi pentru a șterge (elimina) obiecte (tabele, vizualizări etc.).
    • -O - ​​​​nu adăugați comenzi pentru a seta proprietarul unui obiect (tabele, vizualizări etc.).
    • -F, -format (c|t|p) - format de descărcare de ieșire, personalizat, tar sau text simplu.
    • -t, -table=TABLE - specifică un tabel specific pentru dump.
    • -v, -verbose - ieșire informatii detaliate.
    • -D, -attribute-inserts - dump folosind comanda INSERT cu o listă de nume de proprietăți.

    Faceți backup pentru toate bazele de date utilizând comanda pg_dumpall.

    Pg_dumpall > all.sql

    Restaurarea tabelelor din backup:

    psql - restabilirea copiilor de rezervă care sunt stocate într-un mod obișnuit fișier text(text simplu);
    pg_restore - restaurarea backup-urilor comprimate (tar);

    Restaurarea unei întregi copii de rezervă ignorând erorile

    Psql -h localhost -U someuser -d dbname -f mydb.sql

    Restaurarea unei întregi copii de rezervă, oprirea la prima eroare

    Psql -h localhost -U someuser -set ON_ERROR_STOP=on -f mydb.sql

    Pentru a restaura dintr-o arhivă tar, mai întâi trebuie să creăm o bază de date folosind CREATE DATABASE mydb; (dacă opțiunea -C nu a fost specificată la crearea copiei de rezervă) și restaurați

    Pg_restore -dbname=mydb -jobs=4 -verbose mydb.backup

    Restaurarea unei copii de rezervă a bazei de date comprimate în gz

    psql -U postgres -d mydb -f mydb

    Cred că baza de date postgresql va fi acum mai ușor de înțeles pentru tine. Sper că această listă de comenzi PostgreSQL v-a fost utilă.

    În acest articol voi arăta 15 dintre cele mai multe comenzi utile pentru management postgreSQL.

    1. Cum se schimbă parola root în PostgreSQL?

    $ /usr/local/pgsql/bin/psql postgres postgres Parolă: (parolă veche) # ALTER USER postgres WITH PASSWORD 'tmppassword'; $ /usr/local/pgsql/bin/psql postgres postgres Parola: (tmppassword)

    Schimbarea parolei pentru utilizator obișnuit se întâmplă la fel. Utilizatorul root poate schimba parola pentru orice utilizator.

    # ALTER USER username WITH PASSWORD 'tmppassword';

    2. Cum se instalează PostgreSQL în autostart?

    $ su - root # tar xvfz postgresql-8.3.7.tar.gz # cd postgresql-8.3.7 # cp contrib/start-scripts/linux /etc/rc.d/init.d/postgresql # chmod a+x / etc/rc.d/init.d/postgresql

    3. Verificați starea serverului

    $ Starea /etc/init.d/postgresql Parola: pg_ctl: serverul rulează (PID: 6171) /usr/local/pgsql/bin/postgres „-D” „/usr/local/pgsql/data” [ Comentariu: Acest mesaj indică faptul că serverul rulează și funcționează normal] $ Starea /etc/init.d/postgresql Parola: pg_ctl: niciun server nu rulează [ Comentariu: Acest mesaj indică faptul că serverul nu rulează]

    4. Cum porniți, opriți, reporniți PostgreSQL?

    # service postgresql stop Oprirea PostgreSQL: serverul sa oprit ok # pornirea serviciului postgresql Pornirea PostgreSQL: ok # repornirea serviciului postgresql Repornirea PostgreSQL: serverul sa oprit ok

    5. Cum pot vedea ce versiune de PostgreSQL rulează?

    $ /usr/local/pgsql/bin/psql test Bine ați venit la psql 8.3.7, terminalul interactiv PostgreSQL. Tastați: \copyright pentru termenii de distribuție \h pentru ajutor cu comenzile SQL \? pentru ajutor cu comenzile psql \g sau terminați cu punct și virgulă pentru a executa interogarea \q pentru a ieși din test=# selectează versiunea(); versiunea —————————————————————————————————— PostgreSQL 8.3.7 pe i686-pc-linux-gnu, compilată de GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42) (1 rând) test=#

    5. Cum se creează un utilizator în PostgreSQL?

    Există două metode pentru asta..

    Metoda 1: Creăm un utilizator folosind shell-ul PSQL folosind comanda CREATE USER.

    # CREAȚI UTILIZATOR ramesh CU parola 'tmppassword'; CREAȚI ROL

    Metodă2: Creăm un utilizator utilizând comanda createuser shell.

    $ /usr/local/pgsql/bin/createuser sathiya Trebuie noul rolul de superutilizator? (da/n) n Noului rol i se va permite să creeze baze de date? (da/n) n Noului rol i se va permite să creeze mai multe roluri noi? (da/n) n CREAȚI ROL

    6. Cum se creează o bază de date în PostgreSQL?

    Există 2 metode pentru aceasta.

    Metodă1: Creăm o bază de date printr-un shell PSQL folosind comanda CREATE DATABASE.

    # CREAȚI BAZĂ DE DATE mydb CU OWNER ramesh; CREAȚI BAZĂ DE DATE

    Metodă2: Folosim comanda createdb.

    $ /usr/local/pgsql/bin/createdb mydb -O ramesh CREAȚI BAZĂ DE DATE

    7. Primim o listă cu toate bazele de date din Postgresql?

    # \l Lista bazelor de date Nume | Proprietar | Codificare ———-+———-+———- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8

    8. Cum se șterge o bază de date în PostgreSQL?

    # \l Lista bazelor de date Nume | Proprietar | Codificare ———-+———-+———- backup | postgres | UTF8 mydb | ramesh | UTF8 postgres | postgres | UTF8 template0 | postgres | UTF8 template1 | postgres | UTF8# DROP DATABASE mydb; DROP BAZA DE DATE

    9. Utilizați ajutorul încorporat pentru comenzi

    Echipa \? va afișa o linie de ajutor pentru comanda PSQL. \h CREATE va afișa ajutor pentru toate comenzile care încep cu CREATE.

    # \? # \h CREAȚI # \h CREAȚI INDEX

    10. Cum să obțineți o listă a tuturor tabelelor dintr-o bază de date dată în Postgresql?

    # \d

    Pentru o bază de date goală, veți primi mesajul „Nu s-au găsit relații”.

    11. Cum pot afla timpul de executare a cererii?

    # \timing - după executarea acestei comenzi, fiecare cerere ulterioară va afișa timpul de execuție.

    # \sincronizare Cronometrarea este activată. # SELECT * din pg_catalog.pg_attribute ; Timp: 9.583 ms

    12. Cum să faceți backup și să restaurați bazele de date și tabele în PostgreSQL?

    Această întrebare este destul de mare și o voi publica mai târziu într-un articol separat.

    13. Cum să vizualizați lista de funcții disponibile în PostgreSQL?

    Pentru a obține o listă de funcții disponibile, spuneți \df+

    # \df # \df+

    14. Cum se editează o interogare PostgreSQL în editor?

    # \e

    \e va deschide un editor unde puteți edita interogarea și o puteți salva.

    15. Unde pot găsi fișierul istoric postgreSQL?

    Similar cu fișierul ~/.bash_history, postgreSQL stochează toate comenzile sql în fișierul ~/.psql_history.

    $ cat ~/.psql_history modificați utilizatorul postgres cu parola „tmppassword”; \h alterează versiunea selectată de utilizator(); creați utilizator ramesh cu parola „tmppassword”; \timing select * din pg_catalog.pg_attribute;

    postgres=# CREATE DATABASE test_database; CREATE DATABASE postgres=# CREATE USER test_user CU parola "qwerty"; CREATE ROLE postgres=# Acordați toate privilegiile PE DATABASE test_database TO test_user; ACORDA

    Pentru a ieși din shell, introduceți comanda \q.

    Acum să încercăm să lucrăm cu baza de date creată în numele test_user:

    Psql -h localhost test_database test_user

    Să creăm un tabel nou:

    Test_database => CREATE SEQUENCE user_ids; CREATE SEQUENCE test_database => CREATE TABLE utilizatori (id INTEGER PRIMARY KEY DEFAULT NEXTVAL("user_ids")), login CHAR(64), parola CHAR(64)); ANUNȚ: CREATE TABLE / PRIMARY KEY va CREEA implicit INDEX „users_pkey” PENTRU TABEL „users” CREATE TABLE

    Ștergerea unui utilizator

    Pentru a șterge un utilizator, trebuie să transferați drepturile acestuia către altul și apoi să ștergeți

    REATRIBUIREA DEȚINĂTĂ DE doomed_role LA succesor_role; DROP OWNED BY doomed_role;

    — repetați comenzile anterioare pentru fiecare bază de date din cluster

    DROP ROLE doomed_role;

    Script de backup pentru tabelul Postgres.

    #!/bin/bash DBNAMES="web"; USER="postgres"; DB_NAME="web"; NEW_OWNER="user_remote"; DATE_Y=`/bin/date "+%y"` DATE_M=`/bin/date "+%m"` DATE_D=`/bin/date "+%d"` SERVICE="pgdump" BACKUP_DIR="/var/ backup_db/20$(DATE_Y)/$(DATE_L)/$(DATE_D)" mkdir -p $BACKUP_DIR; pentru tbl în `psql -qAt -c "selectați tablename din pg_tables unde schemaname = "public";" $(DB_NAME)` \ `psql -qAt -c "selectați numele_secvenței din schema_informației.secvențe unde schema_secvenței = "public";" $(DB_NAME)` \ `psql -qAt -c "selectați nume_tabel din schema_informații.views unde schema_tabel = "public";" $(DB_NAME)` ; face echo "Exportăm tabelul $tbl din db $(DB_NAME) în fișierul tables3/$tbl.backup" #pg_dump --format p --verbose --table public.$tbl $(DB_NAME) > $BACKUP_DIR/$tbl pg_dump - -format p --verbose --table public.$tbl $(DB_NAME) | gzip > $BACKUP_DIR/$tbl #pg_dump -a -d -t public.$tbl $(DB_NAME) > tables3/$tbl.sql terminat ##################BACKUP FUNCȚIILE POSTGRES # Descarcăm baza de date fără dată pentru a le extrage funcții suplimentare pg_dump -Fc -s -f $BACKUP_DIR/db_dump $(DB_NAME) /bin/sleep 4; # Creați o funcție de listă pg_restore -l $BACKUP_DIR/db_dump | grep FUNCTION > $BACKUP_DIR/function_list ##Cum se restabilesc functiile ######################### #pg_restore -h localhost -U username -d database_name -L function_list db_dump ########################################

    Script de backup pentru tabelul Postgres. scris in perl

    Executați ca utilizator - postgres. Dacă în coroane, atunci și de sub utilizatorul postgresql.

    #!/usr/bin/env perl use strict; folosiți avertismente; my $database_name = "book_library"; interogarea mea $ =<<"EOT"; SELECT n.nspname as table_schema, c.relname as table_name FROM pg_catalog.pg_class c LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind IN ("r","") AND n.nspname NOT IN ("pg_catalog", "information_schema") AND n.nspname NOT LIKE "^pg_%" ; EOT $query =~ s/\n\s*/ /g; my @results = `echo "$query" | psql -At $database_name`; foreach (@results) { chomp; my ($schema, $table) = split /\|/, $_; next unless ($schema && $table); my $cmd = "pg_dump -U postgres -Fp -t $schema.$table -f $schema.$table.dump $database_name"; system($cmd); } #If you wanted to restore only a single function: ##pg_restore -U $username --dbname=$dbname --function=$functionname(args) #If you wanted to restore only a single table: ##pg_restore -U $username --dbname=$dbname --table=$tablename

    Dicționare de căutare text integral în postgresql

    Backup de bază de date de pe o mașină la distanță

    PGPASSWORD="PAROLA" pg_dump -h $HOSTNAME -U utilizator bază de date -Fc --verbose "database.itc-life.ru" | gzip > databasename.gz

    Backup și restaurare de tabele

    ÎN PostgreSQL sunt doua utilitati pt backup pg_dump și pg_dumpall . pg_dump este folosit pentru a face backup la o bază de date, pg_dumpall este folosit pentru a face backup tuturor bazelor de date și a serverului ca întreg (trebuie să fie rulat sub superutilizatorul postgresql).

    Crearea unei copii de siguranță a bazei de date mydb, în formă comprimată

    Pg_dump -h localhost -p 5432 -U someuser -F c -b -v -f mydb.backup mydb

    Crearea unei copii de siguranță a bazei de date mydb, ca fișier text simplu, inclusiv comanda de creare a bazei de date

    Pg_dump -h localhost -p 5432 -U someuser -C -F p -b -v -f mydb.backup mydb

    Crearea unei copii de siguranță a bazei de date mydb, în formă comprimată, cu tabele care conțin în denumire plăți

    Pg_dump -h localhost -p 5432 -U someuser -F c -b -v -t *payments* -f payment_tables.backup mydb

    Eliminați datele dintr-un singur tabel specific. Dacă trebuie să faceți copii de rezervă pentru mai multe tabele, atunci numele acestor tabele sunt listate folosind cheia -t pentru fiecare masă.

    Pg_dump -a -t nume_tabel -f nume_fișier nume_bază

    Crearea unei copii de rezervă cu compresie în gz

    pg_dump -h localhost -O -F p -c -U postgres mydb | gzip -c > mydb.gz

    Lista celor mai frecvent utilizate opțiuni:

    Gazdă H - gazdă, dacă nu este specificat, atunci folosită localhost PGHOST.

    Port P - port, dacă nu este specificat, atunci utilizat 5432 sau valoarea din variabila de mediu PGPORT.

    U - utilizator, dacă nu este specificat, atunci este utilizat utilizatorul curent, valoarea poate fi specificată și într-o variabilă de mediu PGUSER.

    A, --data-only - descărcați numai datele în mod implicit, datele și schema sunt salvate.

    B - includeți obiecte mari (bloguri) în gunoi.

    S, --schema-only - descărcați numai schema.

    C, --create - adaugă o comandă pentru a crea o bază de date.

    C - adaugă comenzi pentru ștergerea (droprea) obiectelor (tabele, vizualizări etc.).

    O - nu adăugați comenzi pentru a seta proprietarul unui obiect (tabele, vizualizări etc.).

    F, --format (c|t|p) — format de ieșire de descărcare, obicei, gudron, sau text simplu.

    T, --table=TABLE - specificați un tabel specific pentru dump.

    V, --verbose - scoate informații detaliate.

    D, --attribute-inserts - dump folosind comanda INTRODUCE cu o listă de nume de proprietate.

    Faceți backup pentru toate bazele de date utilizând comanda pg_dumpall.

    Pg_dumpall > all.sql # verificarea copiei de rezervă grep „^[\]connect” all.sql \connect db1 \connect db2

    PostgreSQL are două utilitare pentru recuperare baze de date din backup.

    • psql— restaurarea backup-urilor care sunt stocate într-un fișier text simplu;
    • pg_restore— restaurarea backup-urilor comprimate (tar);

    Recuperarea bazei de date și

    #pg_restore -v -e -d dbname dbname.dump

    Restaurarea unei întregi copii de rezervă ignorând erorile

    Psql -h localhost -U someuser -d dbname -f mydb.sql

    Restaurarea unei întregi copii de rezervă, oprirea la prima eroare

    psql -h localhost -U someuser --set ON_ERROR_STOP=on -f mydb.sql

    Pentru a restaura din gudron-arhivă, trebuie mai întâi să creăm o bază de date folosind CREATE DATABASE mydb; (dacă opțiunea -C nu a fost specificată la crearea copiei de rezervă) și restaurați

    Pg_restore --dbname=mydb --jobs=4 --verbose mydb.backup

    Restaurarea unei copii de siguranță a bazei de date comprimate gz

    Gunzip mydb.gz psql -U postgres -d mydb -f mydb

    Începând cu versiunea 9.2, puteți restabili structura tabelului doar folosind opțiunea --section

    # creați o bază de date CREATE DATABASE mydb2; # restaurare pg_restore --dbname=mydb2 --section=pre-data --jobs=4 mydb.backup

    Serviciu la masă

    tabel VACUUM ANALYZE; REINDEX DATABASE dbName; REINDEX TABLE tabNume;

    Transferarea directorului de date

    Aflați calea curentă

    # metoda 1 $ su - postgres $ psql psql > SHOW data_directory; # metoda 2 $ ps ax | grep "postgres -D"

    Să creăm un director nou, să atribuim un utilizator și să inițializam

    mkdir -p /pathto/postgresql/data chown -R postgres:postgres /pathto/postgresql su - postgres initdb -D /pathto/postgresql/data

    Acum trebuie să edităm fișierul cu serviciul care pornește postgresql

    # sub arch linux sudo vim /etc/systemd/system/multi-user.target.wants/postgresql.service Environment =PGROOT=/pathto/postgresql/ PIDFile =/pathto/postgresql/data/postmaster.pid

    Curățarea unei mese

    Curățarea unei mese tablenameși resetarea contorului cu ID.

    TRUNCATE TABLE tablename RESTART IDENTITY CASCADE ;

    CASCADĂ necesar în caz tablename legat de un alt tabel.

    Eliminarea NULL dintr-un câmp

    ALTER TABLE filme ALTER COLUMN an DROP NOT NULL ;

    Rulează pgbouncer

    su -s /bin/sh - postgres -c "/usr/sbin/pgbouncer -d --verbose /etc/pgbouncer/pgbouncer.ini"

    Deconectați utilizatorii de la baza de date

    SELECTAȚI pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = "mydb";`

    Ultima actualizare: 17.03.2018

    Pentru a crea tabele, utilizați comanda CREATE TABLE, urmată de numele tabelului. De asemenea, puteți utiliza o serie de operatori cu această comandă care definesc coloanele de tabel și atributele acestora. Sintaxa generală pentru crearea unui tabel este următoarea:

    CREATE TABLE nume_tabel (nume_coloană1 tip de date atribute_coloană1, nume_coloană2 tip_date atribute_coloană2, ..................................... . ......... nume_coloanăN tip_date_atribute_coloanăN, atribute_tabel);

    După numele tabelului, specificația pentru toate coloanele este listată în paranteze. Mai mult, pentru fiecare coloană trebuie să indicați numele și tipul de date pe care le va reprezenta. Tipul de date determină ce date (numere, șiruri de caractere etc.) poate conține o coloană.

    De exemplu, să creăm un tabel în baza de date folosind pgAdmin. Pentru a face acest lucru, mai întâi selectați baza de date țintă în pgAdmin, faceți clic dreapta pe ea și meniul contextual selectați elementul Instrument de interogare...

    După aceasta, se va deschide un câmp pentru introducerea codului SQL. Mai mult, tabelul va fi creat special pentru baza de date pentru care deschidem acest câmp de intrare SQL.

    CREATE TABLE clienti (Id SERIAL PRIMARY KEY, Prenume CHARACTER VARYING(30), LastName CHARACTER VARYING(30), Email CHARACTER VARYING(30), Age INTEGER);

    În acest caz, în tabelul Clienți sunt definite cinci coloane: Id, Prenume, Nume, Vârstă, Email. Prima coloană - Id reprezintă ID-ul clientului, servește cheie primarăși prin urmare are tipul SERIAL. De fapt, această coloană va stoca valoarea numerică 1, 2, 3 etc., care pentru fiecare linie nouă va crește automat cu unu.

    Următoarele trei coloane reprezintă numele clientului, numele de familie și Adresa de e-mailși sunt de tip CHARACTER VARYING(30) , adică reprezintă un șir de maximum 30 de caractere.

    Ultima coloană, Age, reprezintă vârsta utilizatorului și este de tip INTEGER, adică stochează numere.

    Și după executarea acestei comenzi, tabelul clienți va fi adăugat la baza de date selectată.

    Îndepărtarea meselor

    Pentru a elimina tabele, utilizați comanda DROP TABLE, care are următoarea sintaxă:

    DROP TABLE table1 [, table2, ...];

    De exemplu, ștergerea tabelului clienți.