postgresql的安装和使用

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: postgresql的安装和使用

低版本安装

1、下载依赖

利用yum或者apt直接进行安装,但是这样安装的版本可能比较低,或者不是最新的。

2、检验安装

/usr/bin/postgresql-setup initdb

安装某个特定的版本

1、下载某个版本的pgsql的包

yum install -y readline readline-devel openssl openssl-devel zlib zlib-devel
wget https://ftp.postgresql.org/pub/source/v12.1/postgresql-12.1.tar.gz
tar -zxvf postgresql-10.11.tar.gz

2、进入到目录之后编译

./configure && make && make install
mkdir /Data
mkdir /Data/postgresql
useradd pgsql
chown -R pgsql:pgsql /usr/local/pg
chown -R pgsql:pgsql /Data/postgresql

3、初始化数据

/usr/local/pgsql/bin/initdb -D /Data/postgresql/

4、创建日志

cd /Data/postgresql
mkdir log
touch log/server.log

5、启动进程

/usr/local/pgsql/bin/pg_ctl -D /Data/postgresql/ -l /Data/postgresql/log/server.log start

6、加入环境变量

## 确定安装地址
/usr/local/pgsql/bin
## 加入环境变量
export PGHOME=/usr/local/pgsql
export PATH="$PGHOME/bin:$PATH"

7、修改配置的步骤

PostgreSQL的配置文件通常是postgresql.conf,它包含了许多数据库服务器的配置选项。配置文件的位置可能会因安装方式和操作系统而异,但通常在以下位置之一:

  • Linux:/etc/postgresql/{version}/main/postgresql.conf
  • Windows:C:\Program Files\PostgreSQL\{version}\data\postgresql.conf

请注意,{version}应该替换为您安装的PostgreSQL版本号。

以下是修改PostgreSQL配置文件的一般步骤:

  1. 备份配置文件:在对配置文件进行任何更改之前,请确保创建一个备份。这可以通过简单地复制文件或使用系统的备份工具来完成。
cp /etc/postgresql/{version}/main/postgresql.conf /etc/postgresql/{version}/main/postgresql.conf.bak
  1. 使用文本编辑器打开配置文件:使用您喜欢的文本编辑器,例如nanovim
nano /etc/postgresql/{version}/main/postgresql.conf
  1. 进行必要的更改: 在配置文件中找到您想要更改的选项,并进行相应的编辑。例如,您可能需要更改监听地址、端口、日志级别等。每个配置项通常都有注释,提供了关于其作用和可选值的信息。
  2. 保存并关闭文件: 在使用文本编辑器修改配置后,请保存更改并关闭文件。
  3. 重启PostgreSQL服务:为了使更改生效,您需要重新启动PostgreSQL服务。在大多数Linux系统上,可以使用以下命令:
sudo service postgresql restart

或者,使用systemctl


sudo systemctl restart postgresql

在Windows上,您可以使用服务管理器或者在命令提示符中执行:


net stop postgresql && net start postgresql


请注意,某些更改可能需要重启PostgreSQL服务才能生效,而其他更改可能会在不重启服务的情况下生效。在修改配置文件之前,请确保您了解对数据库服务器的潜在影响,并谨慎地进行更改。

有哪些值得注意的配置项

PostgreSQL的postgresql.conf文件包含了许多配置选项,用于控制数据库服务器的行为。以下是一些常见的和重要的配置选项,以及它们的简要描述:

  1. listen_addresses指定服务器监听的IP地址。默认为localhost,即仅本地连接。如果要允许远程连接,可以将其设置为*或指定特定IP地址。
listen_addresses = '*'
  1. port指定服务器监听的端口号。默认为5432。
port = 5432
  1. max_connections指定同时允许的最大连接数。
max_connections = 100
  1. shared_buffers指定在共享内存中分配的用于缓存的系统内存大小。
shared_buffers = 256MB
  1. work_mem指定每个排序操作和每个并行计划节点的工作内存大小。
work_mem = 4MB
  1. maintenance_work_mem指定用于维护操作(例如VACUUM)的最大系统内存。
maintenance_work_mem = 64MB
  1. effective_cache_size用于查询优化器的估计系统内存大小,表示系统上可用的磁盘缓存。
effective_cache_size = 2GB
  1. wal_level指定WAL(Write-Ahead Logging)的详细程度。可以是minimalreplicalogical
wal_level = replica
  1. archive_modearchive_command用于开启归档模式以及指定归档命令。
archive_mode = on
archive_command = 'cp %p /path/to/archive/%f'
  1. log_statement指定要记录的SQL语句的类型。可以是noneddlmodall等。
log_statement = 'all'
  1. log_directorylog_filename指定日志文件的保存目录和文件名。
log_directory = '/var/log/postgresql/'
log_filename = 'postgresql.log'
  1. max_wal_sizemin_wal_size用于控制WAL文件的最大和最小大小。
max_wal_size = 1GB
min_wal_size = 80MB

这只是一小部分配置选项,实际上postgresql.conf包含了大量的配置选项,每个选项都有其特定的用途。在修改配置之前,请确保了解每个选项的含义和可能的影响,以及如何正确配置以满足您的需求。

如果要修改访问控制,应该修改什么配置

如果您想要修改 PostgreSQL 数据库的访问控制,主要涉及到以下几个配置项:

  1. listen_addresses此配置项决定 PostgreSQL 服务器监听的网络地址。默认情况下,它设置为localhost,表示只接受本地连接。如果要允许远程连接,您需要将其设置为相应的 IP 地址或者通配符*
listen_addresses = '*'  # 允许所有 IP 地址的连接
  1. port此配置项定义 PostgreSQL 服务器监听的端口号。默认为 5432。如果您想更改端口号,可以通过修改此项进行配置。
port = 5432
  1. pg_hba.conf 该文件包含了用于控制客户端连接权限的配置信息。pg_hba.conf 文件中的规则指定了谁能连接到数据库、以及使用什么身份验证方法。

例如,如果您要允许特定 IP 地址范围的远程连接,可以添加如下规则:


host    all             all             192.168.1.0/24            md5

其中,192.168.1.0/24 应该替换为您允许连接的实际 IP 地址范围。

更多有关 pg_hba.conf 文件的详细信息,请参阅 PostgreSQL 官方文档。

  1. 防火墙设置:如果您的服务器上启用了防火墙,确保打开 PostgreSQL 使用的端口,以便允许连接。例如,在使用ufw(Uncomplicated Firewall)的 Ubuntu 系统上,您可以运行以下命令:
sudo ufw allow 5432

请注意,修改了这些配置项后,可能需要重新启动 PostgreSQL 服务,以使更改生效。使用以下命令可以重启 PostgreSQL 服务:


sudo service postgresql restart

确保在修改任何关键配置之前备份相关文件,以防发生意外情况。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
关系型数据库 数据库 数据安全/隐私保护
PostgreSQL安装和使用教程
PostgreSQL安装和使用教程
413 0
|
12天前
|
关系型数据库 Go 网络安全
go语言中PostgreSQL驱动安装
【11月更文挑战第2天】
45 5
|
18天前
|
数据库
|
6月前
|
安全 关系型数据库 数据库
PostGreSQL安装压缩包格式
PostGreSQL安装压缩包格式
|
3月前
|
SQL 关系型数据库 Linux
在CentOS 6上安装和使用PostgreSQL的方法
在CentOS 6上安装和使用PostgreSQL的方法
42 2
|
3月前
|
Ubuntu 关系型数据库 数据库
在Ubuntu 18.04上安装和使用PostgreSQL的方法
在Ubuntu 18.04上安装和使用PostgreSQL的方法
64 1
|
3月前
|
Ubuntu 关系型数据库 Linux
在Ubuntu 14.04上安装和使用PostgreSQL的方法
在Ubuntu 14.04上安装和使用PostgreSQL的方法
47 1
|
3月前
|
关系型数据库 Linux 数据库
在CentOS 7上安装和使用PostgreSQL的方法
在CentOS 7上安装和使用PostgreSQL的方法
300 0
|
3月前
|
SQL 关系型数据库 Linux
如何在 Debian 8 上安装和使用 PostgreSQL 9
如何在 Debian 8 上安装和使用 PostgreSQL 9
52 0
|
4月前
|
安全 关系型数据库 Linux