PostgreSql的简单配置

postgresql.conf

修改监听的IP和端口

#listen_addresses = 'localhost'
#port = 5432

其中listen_addresses 表示监听的IP地址,默认为’localhost’,这会造成远程主机无法登陆该数据库,可以改为’*’,表示在本地的所有地址上监听:

#listen_addresses = '*'
#port = 5432

‘port’ 表示监听的端口,可以修改,但不建议。
'listen_addresses ’ 与 ‘port’ 参数的修改都需要重启数据库才能生效。

pg_hba.conf

pg_hba.conf文件是一个黑白名单的访问控制文件,可以控制允许哪些IP地址的机器访问数据库,默认创建的数据库无法接受远程连接,运维默认情况下pg_hba.cong中没有对应的配置。我们可以再pg_hba.cong中加入:

host    all    all    0/0    md5

日志相关参数

日志收集,新版本默认一打开,如PostgreSQL10版本:

logging_collector = on

日志目录,一般使用默认值即可:

log_directory = 'pg_log'

程序日志目录:

log_directory = 'log'

日志切换和是否覆盖一般使用以下几种方案。
方案一: 每天生成一个新的日志文件

log_filename = '
由于 hash join 算法实现涉及到具体的数据库系统,不同数据库系统的 hash join 实现也会有所不同。这里以 PostgreSQL 数据库为例,简单介绍一下其 hash join 的实现。 在 PostgreSQL 中,hash join 算法主要分为两个阶段:构建哈希表和使用哈希表进行连接操作。 构建哈希表的过程中,首先会根据连接条件,从被连接关系中选择一个关系作为内部关系,并以内部关系的 join key 为基准进行哈希,将哈希值相同的元组放到一个桶中。这样,内部关系中的所有元组就被分配到了不同的桶中。接着,遍历外部关系中的元组,对于每个元组,都会计算其 join key 的哈希值,并在哈希表中查找是否有和该元组 join key 哈希值相同的桶。如果有,则将该元组与桶中的所有元组进行比较,找到符合连接条件的元组组合。如果没有,则该元组与内部关系中所有元组都没有匹配项,会被过滤掉。 构建好哈希表后,就可以使用哈希表进行连接操作了。遍历外部关系中的元组,对于每个元组,都计算其 join key 的哈希值,并在哈希表中查找是否有和该元组 join key 哈希值相同的桶。如果有,则将该元组与桶中的所有元组进行比较,找到符合连接条件的元组组合。如果没有,则该元组与内部关系中所有元组都没有匹配项,会被过滤掉。 以上就是 PostgreSQL 中哈希连接的实现过程,具体的源码实现可以参考 PostgreSQL 的源码。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值