Skip to content

Instantly share code, notes, and snippets.

@85636682
Last active November 14, 2018 03:02
Show Gist options
  • Save 85636682/b16913953b204aa249fa to your computer and use it in GitHub Desktop.
Save 85636682/b16913953b204aa249fa to your computer and use it in GitHub Desktop.
安装Postgresql+Postgis
如果系统是ubuntu12,系统默认自带Postgresql9.1,首先我们把它删除了!
步骤:
1、列出关于postgre9.1的包
dpkg -l | grep postgres
如果是9.1,下面列表的8.3就是9.1,有一些包可能没有,是系统而定。
ii postgresql 8.3.17-0ubuntu0.8.04.1 object-relational SQL database (latest versi
ii postgresql-8.3 8.3.9-0ubuntu8.04 object-relational SQL database, version 8.3
ii postgresql-client 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL (latest ve
ii postgresql-client-8.3 8.3.9-0ubuntu8.04 front-end programs for PostgreSQL 8.3
ii postgresql-client-common 87ubuntu2 manager for multiple PostgreSQL client versi
ii postgresql-common 87ubuntu2 PostgreSQL database-cluster manager
ii postgresql-contrib 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL (latest
ii postgresql-contrib-8.3 8.3.9-0ubuntu8.04 additional facilities for PostgreSQL
2、执行以下命令删除
sudo apt-get --purge remove postgresql postgresql-8.3 postgresql-client postgresql-client-8.3 postgresql-client-common postgresql-common postgresql-contrib postgresql-contrib-8.3
3、如果彻底删除,还要删除以下目录,可选。
sudo rm -rf /var/lib/postgresql/
sudo rm -rf /var/log/postgresql/
sudo rm -rf /etc/postgresql/
开始安装Postgresql 9.4。
1、首先更新apt-get的关于Postgresql的repository。在Postgresql官方网站下载页,有一个下拉列表,里面选择你的ubuntu版本,然后就会显示出你需要的连接和方法,我这里选择ubuntu12。
2、把deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main添加到/etc/apt/sources.list.d/pgdg.list文件里。
3、在终端执行以下命令:
ii wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
ii sudo apt-key add -
ii sudo apt-get update
4、执行sudo apt-get install postgresql-9.4安装postgresql。
5、安装完后,执行sudo -u postgres psql template1,以管理员身份进入默认数据库。
6、执行ALTER USER postgres with encrypted password 'xxxxxxx';为管理员设置密码。
7、退出数据库,在终端执行sudo vim /etc/postgresql/9.4/main/pg_hba.conf修改配置文件。把关于postgres管理员这行的peer改为md5。
local all postgres peer md5
8、重启数据库。sudo /etc/init.d/postgresql restart
支持用系统管理员登录数据库
1、首先创建一个与系统管理员同名的数据库用户(不知道系统管理员名字?执行whoami!)
createuser -U postgres -d -e -E -l -P -r -s <my_name>
2、修改配置文件pg_hba.conf(同上配置文件),修改如下:
local all all peer md5
3、重启数据库。
为数据库安装postgis扩展。
1、用apt-cache search postgresql postgis查找最新的版本
2、我们这里找到的是postgresql-9.4-postgis-2.1,注意这个包只是postgis的包并不包含postgresql 它的含义是适合postgresql 9.4的postgis 2.1版本,执行如下命令:
apt-get install postgresql-9.4-postgis-2.1
3、用数据库管理员身份连接postgresql与postgis(赋予postgresql空间数据库的能力)
系统管理员=# CREATE EXTENSION postgis;
CREATE EXTENSION
系统管理员=# CREATE EXTENSION postgis_topology;(支持拓扑)
CREATE EXTENSION
4.测试一下版本信息
系统管理员=# SELECT version();//显示postgresql的版本
系统管理员=# SELECT postgis_full_version();//显示postgis的版本
以下是在rails中使用Postgresql+Postgis
1、使用gem activerecord-postgis-adapter,执行bundle install。
2、新创建数据库 RAILS_ENV=production bundle exec rake db:create
已存在数据库RAILS_ENV=production bundle exec rake db:gis:setup
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment