首页 > 编程源码 > 使用 psql 客户端工具连接 PostgreSQL

使用 psql 客户端工具连接 PostgreSQL

楼主:资源分享 [官方] · 2020-9-23 ·  浏览1305 · 编程源码 · ID:

今天我们来使用 psql 客户端工具连接 PostgreSQL 服务器的命令执行如下:

1.psql -h hostname -p port -U username -W dbname

其中,hostname 表示服务器主机名,默认为本机;port 表示 PostgreSQL 实例服务端口,默认为 5432;username 表示用户名,默认为当前操作系统用户;-W 提示输入密码,默认行为;dbname 表示要连接的数据库,默认和用户名相同。例如:

1.[tony@sqlhost ~]> psql -h 192.168.56.104 -p 5432 -U tony hrdb

2.Password for user tony:

3.psql (12.4)

4.Type "help" for help.

5.

6.hrdb=>

以上命令使用 tony 用户通过 5432 端口连接到服务器 192.168.56.104 上的 hrdb 数据库。

在 psql 提示符中输入help获取使用帮助。

hrdb=> help

You are using psql, the command-line interface to PostgreSQL.

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

使用\?命令可以获取 psql 命令相关的帮助信息:

hrdb=> \?

General

\copyright show PostgreSQL usage and distribution terms

\crosstabview [COLUMNS] execute query and display results in crosstab

\errverbose show most recent error message at maximum verbosity

\g [FILE] or ; execute query (and send results to file or |pipe)

\gdesc describe result of query, without executing it

\gexec execute query, then execute each value in its result

\gset [PREFIX] execute query and store results in psql variables

\gx [FILE] as \g, but forces expanded output mode

\q quit psql

\watch [SEC] execute query every SEC seconds

Help

\? [commands] show help on backslash commands

\? options show help on psql command-line options

\? variables show help on special variables

\h [NAME] help on syntax of SQL commands, * for all commands

使用\h命令可以获取 SQL 命令相关的帮助信息:

hrdb=> \h

Available help:

ABORT CREATE FOREIGN DATA WRAPPER DROP ROUTINE

ALTER AGGREGATE CREATE FOREIGN TABLE DROP RULE

ALTER COLLATION CRE

- 版权声明 - 1、本帖所有言论和图片等纯属网友个人意见,与流星社区立场无关;
2、其他单位或个人使用、转载或引用本帖时必须同时征得该帖子作者资源分享流星社区的同意;
3、备注原文地址:https://bbs.liuxingw.com/t/33708.html,可忽略第2条;
4、帖子作者需承担一切因本文发表而直接或间接导致的相关责任;
5、如本帖内容或部分内容转载自其它媒体,这并不代表本站赞同其观点和对其真实性负责;
6、如本帖若为资源类,将仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您安装或使用的设备中彻底删除上述内容;
7、如果您喜欢该程序,请支持正版软件,购买注册,可以得到更好的正版服务;
8、如本帖侵犯到任何版权或违法问题,请立即邮件告知我们,我们将及时予以处理。
7条回复 |  最后回复于2020-9-23

资源分享 [官方]

查看连接:

使用 psql 中的\conninfo命令可以查看当前连接信息。

hrdb=> \conninfo
You are connected to database "hrdb" as user "tony" on host "192.168.56.104" at port "5432".

查询系统视图 pg_catalog.pg_stat_activity 可以列出所有的服务器进程。

hrdb=> SELECT datname, pid, usename, client_addr, wait_event, state, backend_type
hrdb-> FROM pg_catalog.pg_stat_activity;
datname | pid | usename | client_addr | wait_event | state | backend_type
----------+-------+----------+--------------+---------------------+--------+------------------------------
| 1734 | | | AutoVacuumMain | | autovacuum launcher
| 1736 | postgres | | LogicalLauncherMain | | logical replication launcher
postgres | 27031 | postgres | | | active | client backend
hrdb | 27898 | postgres | 192.168.56.1 | ClientRead | idle | client backend
hrdb | 27900 | postgres | 192.168.56.1 | ClientRead | idle | client backend
hrdb | 27902 | postgres | 192.168.56.1 | ClientRead | idle | client backend
| 1732 | | | BgWriterHibernate | | background writer
| 1731 | | | CheckpointerMain | | checkpointer
| 1733 | | | WalWriterMain | | walwriter
(9 rows)

psql 中的 SQL 命令以;或者\g结束。其中,client backend 是客户端的连接进程。

如果想要取消正在运行中的查询,可以执行以下语句:

SELECT pg_cancel_backend(pid);

其中,pid 是执行语句的后台进程 id,通过上文中的查询可以获得。

如果想要强制终止某个后台连接进程,可以执行以下语句:

SELECT pg_terminate_backend(pid);

其中,pid 是执行语句的后台进程 id,通过上文中的查询可以获得。
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

查看版本:

例如,以下语句可以查看 PostgreSQL 服务器的版本:

hrdb=> SELECT version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 12.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39), 64-bit
(1 row)
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

配置参数:

PostgreSQL 运行时的参数设置可以通过SHOW语句进行查看:

SHOW name
SHOW ALL

例如:

hrdb=> show shared_buffers;
shared_buffers
----------------
256MB
(1 row)

运行时的参数可以通过SET语句、修改 postgresql.conf 配置文件、设置 PGOPTIONS 环境变量(使用 libpq 或者基于 libpq应用连接)或者启动服务时的命令行参数进行设置。

使用 SET 语句设置参数的命令如下:

SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }

如果通过配置文件修改了参数,可以使用以下语句重新加载配置,而不需要重启服务:

SELECT pg_reload_conf();
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

创造角色:
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

总结参考:

发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

资源分享 [官方]

‭@ 工作号 ‬‬‬怎么样
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...

[]

你也来了?
发布于2020-9-23

回复列表

  • 内容加载中...

说点什么...
登录注册 后才可进行评论
签到
52人签到
已签0天
  • 46720帖子
  • 1938192热点量
  • 185602火热值