安装
Linux
Debian / Ubuntu
|
|
Windows
下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
略
Docker
|
|
目录结构
|
|
结构说明:
- postgresql:这是 PostgreSQL 数据库的根目录,通常包含所有版本的数据库配置和数据文件。
- 15:表示 PostgreSQL 的版本号。在此例中是版本 15。
- main:这是数据库集群的名称,通常是默认集群的名称。一个 PostgreSQL 实例可以有多个数据库集群。
目录和文件:
- conf.d:这个目录通常用于存放额外的配置文件,允许用户将配置拆分为多个文件,方便管理。
- environment:这个文件可能包含环境变量的设置,用于配置数据库的运行环境。
- pg_ctl.conf:包含
pg_ctl
命令的配置选项,pg_ctl
是用于控制 PostgreSQL 实例的工具。 - pg_hba.conf:该文件用于配置客户端认证,定义哪些用户、从哪些主机可以连接到数据库,以及使用何种认证方法。
- pg_ident.conf:用于配置用户身份映射,可以将操作系统用户映射到数据库用户。
- postgresql.conf:这是 PostgreSQL 的主配置文件,包含数据库的各种设置,如内存、连接限制、日志记录等。
- start.conf:可能包含启动相关的配置,具体内容依赖于 PostgreSQL 的设置和使用。
配置远程连接
修改postgresql.conf
找到postgresql.conf
文件(通常位于/etc/postgresql/版本/main/
下),并进行编辑。
|
|
找到以下行:
|
|
修改为:
|
|
这将允许所有 IP 地址连接到您的数据库。
修改pg_hba.conf
再次,找到pg_hba.conf
文件,并进行编辑。
|
|
在文件末尾添加以下行,允许所有 IP 地址通过密码连接:
|
|
重载配置
|
|
如何不生效,重启 postgresl
|
|
psql 客户端
安装完成之后,如何进入像 MySQL 那样的命令行,和数据库交互?
Postgres 提供了一个终端工具 psql ,在终端输入
终端直接输入 psql
会使用当前的系统用户登录,所以需要切换到 postgres 用户
不指定数据库,会使用系统用户同名数据库
默认拥有一个 postgres 数据库
|
|
连接参数:
|
|
psql
:psql
命令本身。-h <host>
: 指定主机名。-p <port>
: 指定端口号。-d <database>
: 指定数据库名称。-U <username>
: 指定用户名。-W
: 提示输入密码。 如果不使用-W
,psql
可能会尝试使用其他身份验证方法 (例如,基于操作系统的用户名)。