GNU/Linux >> Linux の 問題 >  >> Linux

15 実用的な PostgreSQL データベース管理コマンド


以前、ソースから Linux に PostgreSQL データベースをインストールする方法について説明しました。

この記事では、実用的な postgreSQL DBA コマンドの例の上位 15 を確認します。 .

mySQL 管理者の方は、以前に説明した mysqladmin コマンドの記事の 15 の例をご覧ください。


1. 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)


通常の postgres ユーザーのパスワードを変更することは、root ユーザーのパスワードを変更することと似ています。 root ユーザーは任意のユーザーのパスワードを変更でき、通常のユーザーは Unix の方法でのみパスワードを変更できます。

# ALTER USER username WITH PASSWORD 'tmppassword';

2. 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. PostgreSQL サーバーが稼働しているかどうかを確認する方法

$ /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. PostgreSQL データベースを開始、停止、再起動する方法

# service postgresql stop
Stopping PostgreSQL: server stopped
ok

# service postgresql start
Starting PostgreSQL: ok

# service postgresql restart
Restarting PostgreSQL: server stopped
ok

5.実行している PostgreSQL のバージョンを確認するにはどうすればよいですか?

$ /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. PostgreSQL ユーザーの作成方法

ユーザーを作成する方法は 2 つあります。

方法 1: CREATE USER コマンドを使用して、PSQL プロンプトでユーザーを作成します。

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

方法 2: 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. PostgreSQL データベースの作成方法

2 つのデータベースを作成できる方法は 2 つあります。

方法 1: createuser コマンドを使用して、PSQL プロンプトでデータベースを作成します。

# CREATE DATABASE mydb WITH OWNER ramesh;
CREATE DATABASE

方法 2: createdb コマンドを使用して、シェル プロンプトでデータベースを作成します。

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

* -O owner name はコマンド ラインのオプションです。

7. 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.既存の 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. postgreSQL コマンドのヘルプ

\? PSQL コマンド プロンプトのヘルプが表示されます。 \h CREATE は、CREATE で始まるすべてのコマンドに関するヘルプを表示します。インデックスの作成に関するヘルプなど、特定の何かが必要な場合は、CREATE INDEX を指定する必要があります。

# \?

# \h CREATE

# \h CREATE INDEX

10. Postgresql データベース内のすべてのテーブルのリストを取得するにはどうすればよいですか?

# \d

空のデータベースでは、「関係が見つかりません」というメッセージが表示されます。上記のコマンドのメッセージ。

11.タイミングをオンにして、クエリの実行にかかる時間を確認する方法

# \timing — この後クエリを実行すると、実行にかかった時間が表示されます。

# \timing
Timing is on.

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

12. PostgreSQL データベースとテーブルをバックアップおよび復元する方法

前に、pg_dump と psql ユーティリティを使用して postgres データベースとテーブルをバックアップおよび復元する方法について説明しました。

13. PostgreSQL で利用可能な関数のリストを表示する方法

関数についてもっと知りたい場合は、\df+

と言ってください。
# \df

# \df+

14.お気に入りのエディターで PostgreSQL クエリを編集する方法

# \e

\e は、クエリを編集して保存できるエディターを開きます。そうすることで、クエリが実行されます。

15. postgreSQL履歴ファイルはどこにありますか?

Linux の ~/.bash_history ファイルと同様に、postgreSQL は実行されたすべての sql コマンドを、以下に示すように ~/.psql_history という名前の履歴ファイルに保存します。

$ 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. CentOS 7 /RHEL7にPostgreSQLをインストールする方法

  2. PostgreSQLでデータベースをバックアップおよび復元する方法

  3. root 権限なしで PostgreSQL データベースを作成する

  1. 私のお気に入りの8つの実用的なLinuxコマンド

  2. PostgreSQLデータベースサーバー

  3. Linux 上の PostgreSQL データベースのデフォルトの場所

  1. 例を含むPostgreSQLドロップデータベース

  2. PostgreSQLでデータベースを作成する方法

  3. Ubuntu20.04にPostgreSQLをインストールする方法