通过 psql 登录并连接到 PostgreSQL 服务器的方法

选项 1. 命令提示符

-U和-d可以省略不写。

psql
# パスワード

psql ユーザ名 データベース名
# パスワード

psql -U ユーザ名 -d データベース名
# パスワード

psql -h ホスト -p ポート ユーザ名 データベース名
# パスワード

psql -h ホスト -p ポート -U ユーザ名 -d データベース名
# パスワード


# 省略した場合
# ユーザ名:      ログインしている OS のユーザ名
# データベース名: ログインしている OS のユーザ名
# ホスト:        localhost, 127.0.0.1
# ポート:        5432
    psql – PostgreSQL: Documentation

◯ 注销/断开连接方法 /

斜杠“ \ ”和字母“ q ”

\q

如果输入密码很麻烦的话

据说可以使用环境变量PGPASSWORD进行以下方式的写法。

PGPASSWORD=パスワード psql -U ユーザ名 データベース名
    How do I specify a password to ‘psql’ non-interactively? – Stackoverflow

◯ 如果忘记了密码

如果管理员忘记了拥有 Administrator 权限的用户(准确的说是一个角色)的密码,可以通过修改 pg_hba.conf 文件来禁用密码。对于非 Windows 系统,可以使用以下命令查找文件的位置:
find / -name ‘pg_hba.conf’ 2>/dev/null根据需要将 md5 和 peer 更改为 trust。请查阅链接以获取详细信息。

Postgresql 密码忘记 – Google 搜索结果
重置忘记的 postgres 用户密码 – POSTGRES教程
使用 Rails 运行 pgsql 时出错:用户 “postgres” 的对等身份验证失败 – Stackoverflow

◯ 广告观点

这是由2023年11月13日由マイナビ転職运营的媒体发布的广告。

img.jpg
    ttps://meetscareer.tenshoku.mynavi.jp/entry/data_01/vo
上述的文章中提到,“感受到工作价值”的时候不是“获得与工作相匹配的报酬”,而是“感受到成长”的时候。我认为企业可以向劳动者提供两种可明文化的价值,即“待遇”和“职业发展”。企业可以向劳动者提供的价值包括:1. 待遇,包括1.1年薪和1.2福利;2. 职业发展,包括2.1成长,其中又包括工作动力和乐趣。我害怕的是这篇文章中透露出企业希望低薪工作者辞职的意图。我认为,“职业发展”是“待遇”的提供者,没有提供“职业发展”的企业即使提供很好的“待遇”也是黑企业。我还觉得这篇文章令人担心的地方有两点。首先是人们在确定辞职的标准时,将“工作动力”作为“职业发展”的附属物,并将其与“待遇(年薪)”平等对比,即使二者无法相比,并且似乎将“工作动力”置于比“待遇(年薪)”更高的优先级。其次是将“职业发展”用模糊的“成长”一词来描述。任何技能只要发展就会有“成长”,但这是否有助于“职业发展”是另外一个问题。这篇文章显示出的态度或立场是用模糊的“成长”一词来回避承诺提供“职业发展”的。

选项2. 环境变量

export PGUSER=ユーザ名
export PGPASSWORD=パスワード
export PGHOSTNAME=ホスト
export PGPORT=ポート
export PGDATABASE=データベース名
    33.14. Environment Variables – PostgreSQL: Documentation

方法3:密码文件

文件格式

用冒号(:)进行分隔。

ホスト:ポート:データベース名:ユーザ名:パスワード

◯ 文件的位置 de

1. Windows の場合
  %APPDATA%\postgresql\pgpass.conf

2. それ以外 OS の場合
  ~/.pgfile

3. あるいは環境変数 PGPASSFILE でファイルパスを指定できます。
    33.15. The Password File – PostgreSQL: Documentation

总结

连接到PostgreSQL服务器时,您可以通过以下四种方式指定主机名等信息。

項目ホスト名ポート番号データベース名ユーザ名パスワードデフォルト値127.0.0.15432OS のユーザ名OS のユーザ名-プロンプト-h, –host-p, –port-d, –dbname-U, –username-環境変数PGHOSTPGPORTPGDATABASEPGUSERPGPASSWORDパスワードファイル12345

如果未指定值,则应用默认值。如果在提示符、密码文件和环境变量中分别指定了不同的值,则我没有调查哪个值优先使用,所以我不知道。

psql 是什么意思?

我认为以下两个点可能是关键。

    1. 区分PostgreSQL服务器和psql客户端

 

    区分psql客户端和psql命令

psql 客户端是用于操作 PostgreSQL 服务器的交互式终端。psql 客户端可以独立作为一个应用程序运行。

psql – PostgreSQL 互动终端

psql客户端不仅可以操作在自己计算机上运行的PostgreSQL服务器,还可以操作在网络上其他计算机上运行的PostgreSQL服务器。这可以从psql命令中指定主机名和端口号来确认。

然后 psql 客户端可以通过 psql 命令启动。psql 是一个客户端。它与运行数据库的服务器不同。虽然有点复杂,但分清服务器和客户端会更好。

通过以下链接中 “PostgreSQL客户端应用程序” 列表中的psql命令,我们可以知道psql是一个客户端。

PostgreSQL客户端应用程序 – PostgreSQL:文档

我曾经对服务器和客户端是两个不同的实体的意识变得模糊。这是因为psql命令如果没有指定任何内容,它会回退并自动连接到本地的127.0.0.1服务器。

广告
将在 10 秒后关闭
bannerAds