分平台搭建
win10搭建出现timescaledb.dll “Access todefine”,未解决
一、windows10平台搭建
1、安装jdk,并设置环境变量
2、首先安装postgresql,官网下载安装包https://www.postgresql.org/download/windows/,选择对应的版本,需要9.6以上。我下载的是二进制的图形化安装包,版本10
3、下载完成,进行安装。双击postgresql-10.5-1-windows-x64.exe,按提示一步一步设置目录、密码、端口、运行时语言环境。语言环境直接选第二个“C”,不使用区域,我第一次选择简体中文最后安装出现了异常,服务列表中没有pgsql的服务。网上有说中文繁体 香港(Chinese[Traditional], Hong Kong S.A.R.)、中文简体 新加坡(Chinese[Simplified], Singapore)、中文繁体 台湾(Chinese[Traditional], Taiwan)和中文繁体 澳门(Chinese[Traditional], Marco S.A.R.)也都不能选,PostgreSQL 不支持 GBK 和 GB18030 作为字符集,会导致查询结果和排序效果不正确,我没有去确认。最后结束复选框可不勾选。本地有杀毒软件的安装结束前可能会弹出2次阻止程序运行窗口(至少电脑管家是),直接允许
4、检查是否安装成功。打开pgAdmin,查看安装的数据库的属性,也可检查window服务列表中服务是否正常运行
5、开始安装Timescaled插件
继续下载现成的zip文件包,https://docs.timescale.com/v1.2/getting-started/installation/windows/installation-windows,点开“Download the the .zip file for your PostgreSQL version.”。解压执行setup.exe,根据提示将postgresql安装目录下data/postgresql.conf文件绝对路径拷贝到cmd窗口,按yes进行设置,按enter完成配置(也可手工操作:配置postgresql.conf中shared_preload_libraries = 'timescaledb',并去除注释;拷贝解压包下所有dll文件到PostgreSQL\10\lib下;拷贝解压包下timescaledb.control和所有.sql文件到PostgreSQL\10\share\extension目录下)
6、重启postgresql服务。我重启的是postgresql-x64-10服务,win10中启动失败了,windows日志中是这样显示"2019-03-30 14:15:14.850 HKT [11940] FATAL: could not load library "E:/PostgreSQL/10/lib/timescaledb.dll": Access is denied."。不确认win7是否有同样的问题,欢迎知道解决方法的留言解惑。(到此,不出问题应该可以正常访问pg数据库了,登录到pg库中执行create extension if not exists timescaledb cascade;才能最终启动插件工作)
二、linux下搭建
1、打开https://www.postgresql.org/download/,按linux版本、pg版本、系统位数选择好,官网会给出你想要的文件地址,按提示使用yum安装,启动服务systemctl start postgresql-10,完毕。我是centeos7 的,进入https://www.postgresql.org/download/linux/redhat/,按如下选择。
2、安装完毕,配置pg环境变量(一定要配置,timescaledb-tune依赖pg_conf全局命令),vi ~/.bash_profile,在PATH后添加/usr/pgsql-9.6/bin,比如PATH=$PATH:$HOME/bin:/usr/pgsql-9.6/bin,添加完source下使它立即生效
3、打开https://docs.timescale.com/v1.2/getting-started/installation/rhel-centos/installation-yum,执行这两步# Add our repo、# Now install appropriate package for PG version(不会编辑格式,拷过来就乱了),成功后执行timescaledb-tune,按yes执行完毕,重启pg服务,service postgresql-9.6 restart
4、访问pg数据库了,登录到pg库中执行create extension if not exists timescaledb cascade;