Postgresql psql 操作
在 PostgreSQL 中,psql 是一个强大的命令行工具,用于与 PostgreSQL 数据库进行交互。你可以用它来执行 SQL 查询、管理数据库、和执行各种数据库任务。
连接到数据库
要连接到 PostgreSQL 数据库,使用 psql 命令。语法如下:
psql -h host -U username -d dbname -p port
-h 指定数据库服务器的主机名(如果是本地数据库,可以省略)。
-U 指定连接的用户名。
-d 指定要连接的数据库名。
-p 指定端口号(默认是 5432)。
示例:
psql -h localhost -U myuser -d mydatabase
基本命令
在 psql 提示符下,可以使用以下命令来执行各种操作:
查看当前数据库信息
\conninfo
列出所有数据库
\l
或
\list
切换数据库
\c database_name
或
\connect database_name
列出所有表
\dt
查看表结构
\d table_name
执行 SQL 查询
SELECT * FROM table_name;
显示当前的 SQL 命令
\echo :variable_name
查看帮助
\?
查看某个命令的帮助
\h command
例如,查看 SELECT 命令的帮助:
\h SELECT
退出 psql
要退出 psql,可以使用以下命令:
\q
执行 SQL 脚本
你可以从文件执行 SQL 脚本:
psql -U username -d dbbane -f file.sql
执行 SQL 文件中的命令
在 psql 提示符下,你可以使用 \i 命令执行 SQL 文件:
\i /path/to/file.sql
使用变量
在 psql 中,你可以使用变量来存储和引用值:
\set variable_name value
例如:
\set myvar 'Hello, World!'
然后可以在 SQL 查询中使用:
SELECT :'myvar';
设置输出格式
psql 允许你设置不同的输出格式:
表格格式(默认):\pset format aligned
CSV 格式: \pset format csv
HTML 格式: \pset format html
导出查询结果
你可以将查询结果导出到文件:
\o output_file.txt SELECT * FROM table_name; \o
\o 命令用于指定输出文件,后续的查询结果会写入到该文件中。
设置查询超时
你可以设置查询超时:
SET statement_timeout = '5min';
查找表或列
\dt *pattern*
例如,查找所有以 user_ 开头的表:
\dt user_*
查找列
\d table_name
这些是 psql 的一些基本操作和命令,可以帮助你高效地与 PostgreSQL 数据库进行交互。