psql
命令行工具广泛用于与 PostgreSQL 或 Timescale 实例交互,它适用于所有操作系统。 Timescale 文档中的大多数说明假设您正在使用 psql
。
要使用 psql
连接到您的数据库,您需要 PostgreSQL 服务器的连接详细信息。 有关如何检索连接详细信息的更多信息,请参阅关于连接部分。
您可以使用 psql
连接到您的数据库,有两种不同的方法。
您可以使用参数标志提供详细信息,例如
psql -h <HOSTNAME> -p <PORT> -U <USERNAME> -W -d <DATABASENAME>
或者,您可以使用服务 URL 提供详细信息,例如
psql postgres://<USERNAME>@<HOSTNAME>:<PORT>/<DATABASENAME>?sslmode=require
如果您将 Timescale 服务配置为使用SSL 模式进行连接,请使用
psql "postgres://tsdbadmin@<SERVICE_URL_WITH_PORT>/tsdb?sslmode=verify-full"
当您运行这些命令之一时,系统会提示您输入密码。如果您不想被提示,可以将密码直接提供在服务 URL 中,例如
psql "postgres://<USERNAME>:<PASSWORD>@<HOSTNAME>:<PORT>/<DATABASENAME>?sslmode=require"
当您开始使用 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 文档.
当您在 psql
中运行查询时,结果默认显示在控制台中。如果您运行的查询结果很多,您可能希望将结果保存到逗号分隔的 .csv
文件中。您可以使用 COPY
命令执行此操作。例如
\copy (SELECT * FROM ...) TO '/tmp/output.csv' (format CSV);
此命令将查询结果发送到 /tmp/
目录中的一个名为 output.csv
的新文件。您可以使用任何电子表格程序打开该文件。
有时,查询会变得很长,您第一次尝试键入它时可能会出错。如果您在长查询中犯了错误,可以不要重新键入它,而是使用内置的文本编辑器(基于 Vim
)。使用 \e
命令启动查询编辑器。您的先前查询将加载到编辑器中。完成更改后,按 Esc
,然后键入 :
+w
+q
来保存更改,然后返回到命令提示符。按 ↑
访问已编辑的查询,然后按 Enter
运行它。
关键词