psql
是一个基于终端的 PostgreSQL 前端,使您能够交互式地键入查询,将其发送到 Postgres,并查看查询结果。
本页介绍如何使用 psql
命令行工具与您的 Timescale Cloud 服务进行交互。
集成之前
创建一个目标 Timescale Cloud 服务
您需要 您的连接详细信息 以按照本页中的步骤操作。此过程也适用于 自托管的 TimescaleDB。
在许多操作系统上,默认情况下安装了 psql
。为了使用本页中描述的功能,最佳实践是使用最新版本的 psql
。要检查系统上运行的版本
如果您已经安装了最新版本的 psql
,请继续到 连接到您的服务 部分。
如果没有已安装的版本,请按照以下步骤安装 psql
要使用 psql
连接到您的服务,您需要连接详细信息。请参阅 查找您的连接详细信息。
使用以下任一方式连接到您的服务
参数标志
psql -h <HOSTNAME> -p <PORT> -U <USERNAME> -W -d <DATABASENAME>服务 URL
psql "postgres://<USERNAME>@<HOSTNAME>:<PORT>/<DATABASENAME>?sslmode=require"系统将提示您提供密码。
服务 URL,其中已包含密码并启用了 更严格的 SSL 模式
psql "postgres://<USERNAME>:<PASSWORD>@<HOSTNAME>:<PORT>/<DATABASENAME>?sslmode=verify-full"
当您开始使用 psql
时,以下是您可能最常使用的命令
命令 | 描述 |
---|---|
\c <DB_NAME> | 连接到新的数据库 |
\d <TABLE_NAME> | 显示表的详细信息 |
\df | 列出当前数据库中的函数 |
\df+ | 列出所有函数,包含更多详细信息 |
\di | 列出所有表的所有索引 |
\dn | 列出当前数据库中的所有模式 |
\dt | 列出可用的表 |
\du | 列出 PostgreSQL 数据库角色 |
\dv | 列出当前模式中的视图 |
\dv+ | 列出所有视图,包含更多详细信息 |
\dx | 显示所有已安装的扩展 |
ef <FUNCTION_NAME> | 编辑函数 |
\h | 显示 SQL 命令语法的帮助 |
\l | 列出可用的数据库 |
\password <USERNAME> | 更改用户的密码 |
\q | 退出 psql |
\set | 显示系统变量列表 |
\timing | 显示查询执行所花费的时间 |
\x | 显示展开的查询结果 |
\? | 列出所有 psql 斜杠命令 |
有关 psql
命令的更多信息,请参阅 Timescale psql 速查表 和 psql 文档。
当您在 psql
中运行查询时,结果默认显示在控制台中。如果您运行的查询结果很多,您可能希望将结果保存到逗号分隔的 .csv
文件中。您可以使用 COPY
命令来执行此操作。例如
\copy (SELECT * FROM ...) TO '/tmp/output.csv' (format CSV);
此命令将查询结果发送到 /tmp/
目录中名为 output.csv
的新文件。您可以使用任何电子表格程序打开该文件。
要在 psql
中运行多行查询,请使用 EOF
分隔符。例如
psql -d $TARGET -f -v hypertable=<hypertable> - <<'EOF'SELECT public.alter_job(j.id, scheduled=>true)FROM _timescaledb_config.bgw_job jJOIN _timescaledb_catalog.hypertable h ON h.id = j.hypertable_idWHERE j.proc_schema IN ('_timescaledb_internal', '_timescaledb_functions')AND j.proc_name = 'policy_compression'AND j.id >= 1000AND format('%I.%I', h.schema_name, h.table_name)::text::regclass = :'hypertable'::text::regclass;EOF
有时,查询可能会变得很长,并且您在第一次尝试键入时可能会犯错误。如果您在长查询中犯了错误,可以不用重新键入,而是可以使用内置的文本编辑器,它基于 Vim
。使用 \e
命令启动查询编辑器。您之前的查询将加载到编辑器中。当您完成更改后,按 Esc
,然后键入 :
+w
+q
以保存更改,然后返回到命令提示符。按 ↑
访问编辑后的查询,然后按 Enter
运行它。
关键词
在此页面上发现问题?报告问题 或 在 GitHub 上编辑此页面。