14个实用的 PostgreSQL 数据库管理命令

举报
Tiamo_T 发表于 2021/12/04 00:23:10 2021/12/04
【摘要】 在本文中,让我们了解14 个实用的postgreSQL DBA 命令示例。

在本文中,让我们了解14 个实用的postgreSQL DBA 命令示例。


1.如何修改PostgreSQL root用户密码?

$ /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 用户?

有两种方法可以创建用户。

方法 1:在 PSQL 提示符下创建用户,使用 CREATE USER 命令。

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

方法 2:在 shell 提示下创建用户,使用 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 数据库?

有两种方法可以创建两个数据库。

方法 1:在 PSQL 提示符下创建数据库,使用 createuser 命令。


# CREATE DATABASE mydb WITH OWNER ramesh;
CREATE DATABASE

方法二:在 shell 提示下创建数据库,使用 createdb 命令。

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

* -O 所有者名称是命令行中的选项。

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中可用函数的列表?

要了解有关函数的更多信息,请说 \df+

# \df
 
# \df+

13. 如何在你最喜欢的编辑器中编辑 PostgreSQL 查询?

# \e

\e 将打开编辑器,您可以在其中编辑查询并保存。通过这样做,查询将被执行。

14. 我在哪里可以找到 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;
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。