PostgreSQL 安装及相关配置

记录一下最近安装和配置 PostgreSQL 的过程,

使用了 CentOS 7 和 PostgreSQL 10,包括以下内容

  • 安装

  • 初始化

  • 开放密码登录

  • Oracle FDW

安装

下方链接可以找到最新的安装方法

Linux downloads (Red Hat family)

最近一次成功安装的步骤

CentOS 7 + PostgreSQL 10

  1. 选择版本

yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

  1. Install the client packages:

yum install postgresql10

  1. Optionally install the server packages:

yum install postgresql10-server

  1. Optionally initialize the database and enable automatic start:

/usr/pgsql-10/bin/postgresql-10-setup initdb
systemctl enable postgresql-10
systemctl start postgresql-10

补充插件

除了核心数据库的安装,还需要另外安装一个库

yum install postgresql10-contrib

没有这个库,就无法直接通过 CREATE EXTENSION 安装插件

初次登录

root 用户

  1. 找到配置文件目录

systemctl status postgresql-10

在执行结果中找到 -D 后的部分,一般为 /var/lib/pgsql/10/data/

  1. 修改其中的 hba.conf 文件

  2. 将第一个 host 方式中的 ident 改成 md5,允许使用账号密码登录

postgres 用户

  1. 数据库默认开启 postgres 用户,操作系统也有同名用户

  2. 在 shell 中切换到 postgres 用户

su postgres

  1. 登录数据库,Peer 方式

psql

  1. 刷新配置使上述 root 用户修改的配置生效

SELECT pg_reload_conf()

  1. 设置密码

\password

尝试通过密码登录

OracleFdw

  1. 安装 postgresql*-devel

yum install postgresql10-devel

  1. 安装 oracle-instantclient*-devel-*,先从 Oracle 网站下载

rpm -i oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm

  1. 添加环境变量

export ORACLE_HOME=/usr/lib/oracle/12.2/client64/lib

  1. 确认包含 pgxs

/usr/pgsql-10/bin/pg_config --pgxs

反馈

/usr/pgsql-10/lib/pgxs/src/makefiles/pgxs.mk

  1. 安装 oracle-fdw

unzip oracle_fdw-2.2.1.zip
cd oracle_fdw-2.2.1
PATH=/usr/pgsql-10/bin:$PATH make
make install

  1. 修改 ld.so.conf 或往 ld.so.conf.d 下加入一个新规则

echo $ORACLE_HOME > /etc/ld.so.conf.d/oracle.conf

  1. 刷新 ld.so.cache

ldconfg

  1. 进入数据库,安装插件

CREATE EXTENSION oracle_fdw;

如果以当前用户直接启动 PostgreSQL 的服务端,可以省去步骤 6、7 ,但现在是通过 systemctl 启动,会以 postgres 用户来运行,设置在当前用户下的 $ORACLE_HOME这个环境变量不会生效,可以在 ld.so.conf 里加入全局的配置,让所有用户都能找到 /usr/lib/oracle/12.2/client64/lib 下的动态库。否则会出现 postgres 找不到 oracle 动态库而无法启用扩展,并提示:could not load library "/usr/pgsql-10/lib/oracle_fdw.so": libclntsh.so.12.1: cannot open shared object file

更多

Quasar中的前端代码转译

使用 Quasar 时,如何完成浏览器兼容性的配置。 制定兼容范围 在进行实际配置前,首先必须确定要支持浏览器的版本,而确定浏览器版本则需要先明确业务对象的情况。 为什么不干脆把标准定的越高越好呢?比如支持100%的用户。这是因为支持率越高,可用的新语法越少,意味着更多的转译代码和 polyfill,这会带来额外的代码量,从而导致下载数据量增加,以及运行速度变慢的问题,为了0.01%影响99.99%用户的体验并增加他们的流量开销,是否合适呢?这就需要根据实际业务进行取舍和平衡。 比如我们的业务对象既有企业用户,也有公众用户,企业用户主要使用钉钉,并可对其PC浏览器进行要求,而公众用户主要使用微信。 确定常用浏览器版本 PC浏览器可以指定,那么对浏览器版本就不需要过多考虑,但是部分客户还有XP系统,那么也就确定了 Chrome 浏览内核的版本不可以超过 49; 微信用户可能在手机登录,也可能在PC登录,而PC中的微信内置是QQ浏览器9,其内核版本是 Chrome 53; 电脑端的钉钉内置浏览器已经是 Chrome 91; 手机端的话考虑到安卓手机使

By 熊立丁
浙ICP备15043004号-1