Ubuntu 安装和配置 PostgreSQL
以 Ubuntu Server 20.04,PostgreSQL 12 版本为例。
1. 安装
使用如下命令,安装指定版本的 PostgreSQL
sudo apt install postgresql-12
在 Ubuntu 20.04 中安装 PostgreSQL 登录您的 Ubuntu 系统并使用以下 apt 命令更新系统软件包。 sudo apt update 现在从默认的 Ubuntu 存储库安装最新版本的 PostgreSQL 。
sudo apt install postgresql-12
在安装过程中,安装程序将创建一个新的 PostgreSQL 集群(将由单个服务器实例管理的数据库集合),从而初始化数据库。默认数据目录是 /var/lib/postgresql/12/main
,配置文件存储在 /etc/postgresql/12/main
目录中。
补充(安装方式不同,文件路径不一样):
使用软件包管理工具:在安装软件时,可以通过软件包管理工具指定安装目录。例如,使用apt工具安装软件时,可以使用–prefix选项指定安装目录。例如:
sudo apt-get install <软件包名> --prefix=<安装目录>
使用源代码编译安装:如果软件没有提供预编译的安装包,则可以下载源代码,进行编译安装。在编译时,可以使用–prefix选项指定安装目录。例如:
./configure --prefix=<安装目录>
make
sudo make install
手动安装:如果以上两种方法都不可行,可以手动将软件安装至指定目录。将软件解压后,将其移动至指定目录即可。
需要注意的是,指定安装目录可能需要root权限,因此可能需要使用sudo或者root用户来进行操作。另外,指定安装目录后,需要确保系统的环境变量PATH中包含该目录,以便系统能够找到安装的软件。
2. 修改默认数据库密码
PostgreSQL 安装后会默认创建一个 postgres 的数据库用户作为管理员账号,但是密码是随机的,所以首先要修改登录密码,使用 sudo -u postgres psql 登录数据库,这种方式登录是不需要密码的。
在出现 postgres=# 提示符后输入
alter user postgres with password '123456';
修改密码,操作成功后输入 \q
退出 psql
现在尝试一下,可以使用新密码进行登录了
psql -U postgres -d postgres -h 127.0.0.1 -p 5432
然后输入新密码成功登录
3. 设置允许远程访问
安装完 PostgreSQL 数据库后,默认是只接受本地访问链接的,如果想在其它的主机上访问数据库,需要进行相应的配置。
修改监听地址
sudo vim /etc/postgresql/12/main/postgresql.conf
将 #listen_addresses = ‘localhost’ 的注释去掉并改为 listen_addresses = ‘*’
修改可访问IP段
sudo vim /etc/postgresql/12/main/pg_hba.conf
在如下位置添加一行,表示允许任意地址通过密码进行远程访问
重启数据库
完成上述两项操作后,使用 sudo service postgresql restart 重启数据库使配置生效。
现在可以从外部成功链接数据库了。
常用命令
sudo /etc/init.d/postgresql start # 开启
sudo /etc/init.d/postgresql stop # 关闭
sudo /etc/init.d/postgresql restart # 重启
systemctl start postgresql # 开启
systemctl status postgresql #postgresql服务的健康状态
systemctl restart postgresql # 重启
journalctl -r -u postgresql #服务系统启动日志
natstat -alnt #服务端口工作状态
windows安装
软件下载
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
双击exe文件
选择安装路径:
选择要安装的组件
选择数据存放位置
选择密码
选择端口号
安装过程,需要一会儿时间,请耐心等待程序安装完成。
打开可视化面板程序
了解其目录结构和配置文件
在 PostgreSQL 的安装目录下,包含了许多子目录,每个子目录都承载着特定的功能。以下是 PostgreSQL 的主要目录结构:
bin 目录:包含 PostgreSQL 服务器的可执行文件和客户端工具,如 postgres、psql 等。
data 目录:这是PostgreSQL 的数据目录,存储了所有的数据库文件,包括表、索引、配置文件等。
lib 目录:包含 PostgreSQL运行所需的各种库文件。log 目录:日志文件存放于此,包括服务器日志、客户端日志等。
include目录:包含头文件,用于编译和链接自定义的 PostgreSQL 扩展。
man 目录:包含 PostgreSQL 的手册页文件,可以通过man 命令查看相关命令或功能的详细说明。
在这些目录中,最重要的当属 data 目录和 postgresql.conf 配置文件。data 目录存储了数据库的所有数据和元数据,而 postgresql.conf 文件则控制着 PostgreSQL 服务器的行为。
postgresql.conf配置文件介绍
postgresql.conf
是 PostgreSQL 的主要配置文件,包含了大量的设置选项,用于调整数据库的性能、安全性和其他行为。
以下是一些常见的配置项及其作用
port:指定服务器监听的端口号。默认是 5432。
data_directory:指定数据文件的存放位置。在安装时通常会自动设置此项。
unix_socket_directory:指定 Unix socket 的路径,用于本地连接。可以通过更改此项来改变 socket 的位置。
max_connections:允许的最大连接数。如果达到此数,新的连接请求将被拒绝。可以通过调整此值来优化性能和资源使用。
shared_buffers:分配给 PostgreSQL 服务器的内存缓冲区大小。适当的设置可以提高查询性能。
work_mem:每个排序操作和哈希操作可用的内存量。增加此值可以减少磁盘 I/O,提高性能。
maintenance_work_mem:维护操作(如 VACUUM)可用的内存量。适当增加此值可以加速这些操作。
ssl:控制是否启用 SSL 连接。如果启用了 SSL,可以进一步设置 ssl_cert_file 和 ssl_key_file 来指定证书和密钥文件的路径。
listen_addresses:指定服务器应该监听的 IP 地址或主机名。可以设置为 ‘*’ 表示监听所有地址,或指定特定的 IP 地址或主机名。
auth_method:控制身份验证方法。可以选择 ‘md5’、’password’、’trust’ 等模式,以满足不同的安全需求。
官方文档地址
http://www.postgres.cn/docs/12/index.html