GNU/Linux >> Znalost Linux >  >> Linux

15 Praktické příkazy pro správu databáze PostgreSQL


Dříve jsme diskutovali o tom, jak nainstalovat databázi PostgreSQL na Linux ze zdroje.

V tomto článku se podíváme na 15 nejlepších praktických příkladů příkazů postgreSQL DBA .

Pokud jste správcem mySQL, prohlédněte si našich 15 příkladů článku o příkazu mysqladmin, o kterém jsme diskutovali před časem.


1. Jak změnit heslo uživatele root PostgreSQL?

$ /usr/local/pgsql/bin/psql postgres postgres
Password: (oldpassword)
# ALTER USER postgres WITH PASSWORD 'tmppassword';

$ /usr/local/pgsql/bin/psql postgres postgres
Password: (tmppassword)


Změna hesla pro normálního uživatele postgresu je podobná jako změna hesla uživatele root. Uživatel root může změnit heslo libovolného uživatele a normální uživatelé mohou svá hesla změnit pouze způsobem Unixu.

# ALTER USER username WITH PASSWORD 'tmppassword';

2. Jak nastavit spouštěcí skript PostgreSQL SysV?

$ 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. Jak zkontrolovat, zda je PostgreSQL server v provozu?

$ /etc/init.d/postgresql status
Password:
pg_ctl: server is running (PID: 6171)
/usr/local/pgsql/bin/postgres "-D" "/usr/local/pgsql/data"
[Note: The status above indicates the server is up and running]

$ /etc/init.d/postgresql status
Password:
pg_ctl: no server running
[Note: The status above indicates the server is down]

4. Jak spustit, zastavit a restartovat databázi PostgreSQL?

# service postgresql stop
Stopping PostgreSQL: server stopped
ok

# service postgresql start
Starting PostgreSQL: ok

# service postgresql restart
Restarting PostgreSQL: server stopped
ok

5. Jak zjistím, jakou verzi PostgreSQL používám?

$ /usr/local/pgsql/bin/psql test
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

test=# select version();
version
----------------------------------------------------------------------------------------------------
PostgreSQL 8.3.7 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)
(1 row)

test=#

5. Jak vytvořit uživatele PostgreSQL?

Existují dva způsoby, jak vytvořit uživatele.

Metoda 1: Vytvoření uživatele v příkazovém řádku PSQL pomocí příkazu CREATE USER.

# CREATE USER ramesh WITH password 'tmppassword';
CREATE ROLE

Metoda 2: Vytvoření uživatele v příkazovém řádku pomocí příkazu createuser.

$ /usr/local/pgsql/bin/createuser sathiya
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
CREATE ROLE

6. Jak vytvořit databázi PostgreSQL?

Existují dvě metody, ve kterých můžete vytvořit dvě databáze.

Metoda 1: Vytvoření databáze v příkazovém řádku PSQL pomocí příkazu createuser.

# CREATE DATABASE mydb WITH OWNER ramesh;
CREATE DATABASE

Metoda 2: Vytvoření databáze v příkazovém řádku pomocí příkazu createdb.

$ /usr/local/pgsql/bin/createdb mydb -O ramesh
CREATE DATABASE

* -O jméno vlastníka je volba v příkazovém řádku.

7. Jak získám seznam databází v databázi Postgresql?

# \l  [Note: This is backslash followed by lower-case L]
List of databases
Name | Owner | Encoding
----------+----------+----------
backup | postgres | UTF8
mydb | ramesh | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8

8. Jak smazat/upustit existující databázi PostgreSQL?

# \l
List of databases
Name | Owner | Encoding
----------+----------+----------
backup | postgres | UTF8
mydb | ramesh | UTF8
postgres | postgres | UTF8
template0 | postgres | UTF8
template1 | postgres | UTF8

# DROP DATABASE mydb;
DROP DATABASE

9. Získání nápovědy k příkazům postgreSQL

\? zobrazí nápovědu příkazového řádku PSQL. \h CREATE zobrazí nápovědu ke všem příkazům, které začínají CREATE, pokud chcete něco konkrétního, jako je nápověda pro vytváření indexu, pak musíte zadat CREATE INDEX.

# \?

# \h CREATE

# \h CREATE INDEX

10. Jak získám seznam všech tabulek v databázi Postgresql?

# \d

U prázdné databáze se zobrazí zpráva „Nebyly nalezeny žádné vztahy“. zpráva pro výše uvedený příkaz.

11. Jak zapnout časování a zkontrolovat, jak dlouho trvá provedení dotazu?

# \timing — Když potom spustíte dotaz, zobrazí se, kolik času to trvalo.

# \timing
Timing is on.

# SELECT * from pg_catalog.pg_attribute ;
Time: 9.583 ms

12. Jak zálohovat a obnovit databázi a tabulku PostgreSQL?

Již dříve jsme diskutovali o tom, jak zálohovat a obnovovat postgresovou databázi a tabulky pomocí nástroje pg_dump a psql.

13. Jak zobrazit seznam dostupných funkcí v PostgreSQL?

Chcete-li se o funkcích dozvědět více, řekněte \df+

# \df

# \df+

14. Jak upravit PostgreSQL dotazy ve vašem oblíbeném editoru?

# \e

\e otevře editor, kde můžete upravit dotazy a uložit je. Tím se dotaz provede.

15. Kde najdu soubor historie postgreSQL?

Podobně jako soubor ~/.bash_history pro Linux, postgreSQL ukládá všechny příkazy sql, které byly provedeny, do souboru historie s názvem ~/.psql_history, jak je uvedeno níže.

$ cat ~/.psql_history
alter user postgres with password 'tmppassword';
\h alter user
select version();
create user ramesh with password 'tmppassword';
\timing
select * from pg_catalog.pg_attribute;

Linux
  1. Jak nainstalovat PostgreSQL na CentOS 7 / RHEL 7

  2. Jak zálohovat a obnovovat databázi v PostgreSQL

  3. Výchozí umístění databáze PostgreSQL v systému Linux

  1. Mých 8 oblíbených praktických linuxových příkazů

  2. Databázový server PostgreSQL

  3. Vytvořte databázi PostgreSQL bez oprávnění root

  1. PostgreSQL Drop databáze s příklady

  2. Jak vytvořit databázi v PostgreSQL

  3. Jak nainstalovat PostgreSQL na Ubuntu 20.04