`
peacherdiy
  • 浏览: 58317 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用postgresql来作为rails的数据库

 
阅读更多

rails默认自带了个零配置的sqlite、这个做为开发还OK、不过不能并发写入的特性不适合作为生产使用、从头开始说吧

 

P.S.:以下基于ubuntu server部署postgresql

 

=============安装postgresql并启动===============

首先在ubuntu下安装postgresql吧

sudo apt-get install postgresql
 

 

然后启动postgresql服务器

sudo /etc/init.d/postgresql-8.4 start
 

10.04下安装的postgresql默认是8.4,若是10.10,则不用加版本号

如果想停止将start改成stop就可以了


=============配置postgresql===============

postgresql默认只有一个用户、就是postgres、所以只能切换成这个用户登录

 

sudo su postgres -c psql template1
 

然后更改postgres的密码

 

ALTER USER postgres WITH PASSWORD 'newpassword';
 

再设置postgres的系统密码

 

sudo passwd postgres
 

然后创建用户数据库、postgresql会默认为每个用户自建一个用户数据库、

 

createdb  
 

createdb是创建数据库的命令、后面可以加上数据库的名称、如果不加上任何参数、那么就是默认与当前用户名同名的数据库名称、

创建完数据库后就用psql daname来进入postgresql控制台来进行各种操作、这部分就不再复述了、可以参看相关资料:http://www.cnblogs.com/klobohyz/archive/2012/01/04/2311834.html


================配置rails项目==========================

首先当然是产生一个rails项目、或者迩已经存在rails项目现在想更改成postgresql都可以、首先修改项目文件中的Gemfile、然后添加这么一行

 


gem 'pg'
 

再执行一次bundle install

执行完毕后就安装好了postgresql的ruby组件了、现在开始配置一下rails项目中的config/database.yaml

 

development:
   adapter: postgresql
   encoding: unicode
   database: herkurails_development
   username: root
   password: 123qwe
   pool: 5
   timeout: 5000
 
 # Warning: The database defined as "test" will be erased and
 # re-generated from your development database when you run "rake".
 # Do not set this db to the same as development or production.
 
 test:
   adapter: postgresql
   encoding: unicode
   database: herkurails_test
   username: root
   password: 123qwe
   pool: 5
   timeout: 5000
 
 
 production:
   adapter: postgresql
   encoding: unicode
   database: herkurails_production
   username: root
   pool: 5
   password: root
   timeout: 5000
 

当然了、其中的password和username要更改成迩的 postgresql用户名、上面的database参数就是postgresql的数据库名称、必须先要去postgresql那里去新建这些数据库 先、不要指望rake会自动帮迩建立、使用配置文件中指定的用户依次使用createdb dbname来创建上面的数据库吧、创建完毕后、就回到rails项目中、执行rake db:migrate来更改rails对数据库的操作吧、注意执行rake命令的当前用户一定是要username中指定的用户、不然会执行失败、


P.S.:如果迩不想以默认的用户、就要使用createuser username来添加用户、然后为它添加密

 

ALTER USER username WITH PASSWORD 'new password'
 

 

然后用这个号码来登录ubuntu来执行以上操作、最好使用系统已经存在的帐户、如果不是就要自己新建同名的系统帐户

 

参考:http://www.cnblogs.com/klobohyz/archive/2012/01/04/2312342.html

分享到:
评论

相关推荐

    rails_db:Rails数据库查看器和SQL查询运行器

    Rails数据库 请与您的朋友分享此宝石,以获得更多反馈。 如果您有博客,我将非常感谢宝石评论。 如果您有想法-请提出问题或通过电子邮件igorkasyanchuk[@]gmail.com与我联系。 检查Rails数据库快速方法,查看表的...

    Ruby-Multiverse让Rails支持多数据库

    总的来说,Ruby-Multiverse是Rails开发中一个强大的工具,它解决了多数据库管理的难题,提升了应用的扩展性和可维护性。通过合理利用Multiverse,开发者可以更灵活地设计和优化数据库架构,以适应不断变化的业务需求...

    Ruby 版数据库连接池

    Ruby 版数据库连接池, 可以参考。 数据库是postgresql

    Ruby-ApartmentRack和Rails应用的数据库多租户

    "Ruby-ApartmentRack和Rails应用的数据库多租户"这一主题旨在探讨如何使用Apartment gem来实现这样的功能。Apartment是Ruby社区中广泛使用的库,它为Rack(包括Rails)应用提供了简单的多租户支持。 Apartment gem...

    Ruby-RailsDBRails数据库查看器和SQL查询运行器

    6. **多数据库支持**:Rails DB支持多种数据库引擎,如MySQL、PostgreSQL、SQLite等,这使其在各种Rails项目中都能灵活应用。 7. **安全性考虑**:作为开发工具,Rails DB通常只在本地环境使用,以防止敏感数据泄露...

    rails-pg-extras:Rails PostgreSQL数据库性能见解。 锁,索引使用率,缓冲区高速缓存命中率,真空状态等

    该项目的目的是为不使用Heroku PostgreSQL插件的Ruby on Rails应用程序的PostgreSQL数据库提供强大的见解。 包含的rake任务和Ruby方法可用于获取有关Postgres实例的信息,这在分析性能问题时可能很有用。 这包括...

    语言后端:Lin-guage应用程序的Ruby on Rails数据库

    在"语言后端:Lin-guage应用程序的Ruby on Rails数据库"这一主题中,我们将深入探讨如何使用Rails构建一个语言学习应用的后端系统,特别是涉及到数据库的设计和管理。 首先,Rails遵循MVC(Model-View-Controller)...

    rails 的安装

    Rails通常与SQLite、PostgreSQL或MySQL等数据库配合使用。在 `config/database.yml` 文件中配置你的数据库连接信息。 7. **运行服务器**: 进入新创建的项目目录,运行 `rails server` 或简写 `rails s` 启动开发...

    rails 离线安装包

    7. **数据库配置**:Rails默认使用SQLite数据库,但也可以通过`config/database.yml`文件配置使用MySQL、PostgreSQL等其他数据库。 8. **路由配置**:Rails的路由系统是其强大的特点之一,它通过`config/routes.rb`...

    Rails入门教程一(翻译).pdf

    在数据库方面,Rails默认使用SQLite,但也会介绍如何切换到其他数据库系统,如MySQL或PostgreSQL。教程会涵盖ActiveRecord,它是Rails中的ORM(对象关系映射)工具,使得开发者能以面向对象的方式操作数据库。 路由...

    中文版rails教程

    2. **数据库迁移(Database Migrations)**:Rails使用ActiveRecord和SQLite、MySQL或PostgreSQL等数据库系统交互。开发者通过编写迁移文件来定义和修改数据库结构。 3. **路由(Routing)**:Rails的路由系统根据...

    mid.zip_Rails

    5. **Databases**:Rails支持多种数据库,如MySQL、PostgreSQL等,通过数据库适配器实现与不同数据库系统的通信。在"mid.zip_Rails"中,可能包含多个数据库配置,用于管理多个数据库。 6. **Gemfile**:Rails项目...

    redmine-postgresql-solution:具有Redmine和PostgreSQL数据库的服务器

    Redmine 是一个开源的项目管理工具,而 PostgreSQL 是一款强大的对象关系型数据库管理系统。将 Redmine 集成到 PostgreSQL 上可以提供稳定、高效且安全的项目管理解决方案。本方案着重探讨如何在服务器上配置和运行...

    logidze:Rails的数据库更改日志

    洛迪兹Logidze提供了使用PostgreSQL(> = 9.6)时记录数据库记录更改的工具。 就像和一样(但)。 Logidze允许您(使用触发器)创建数据库级别的日志,并为您提供浏览此日志的API。 日志与记录本身一起存储在JSONB列...

    rails3.1.0解决数据库取出来的信息编码为utf-8

    Rails框架默认使用UTF-8编码,但有时数据库(如MySQL、PostgreSQL等)的默认配置可能不一致,或者导入的数据源编码不正确,这就会引起编码问题。要解决这个问题,我们可以采取以下几种方法: 1. **配置数据库连接**...

    f00px:F00px是一个受500px启发的照片托管网页。 F00px在前端使用React-Redux,在PostgreSQL数据库上使用Ruby on Rails,在后端使用PostgreSQL,该功能具有简约的设计,旨在使焦点集中在内容上

    F00px利用前端的React-Redux和后端的PostgreSQL上的Ruby on Rails,以及PostgreSQL数据库,具有简约的设计,旨在使焦点集中在内容上。特征用户认证新用户可以创建一个帐户,现有用户可以重新登录以查看其网络的照片...

    ruby on rails实践

    Rails使用SQLite、MySQL、PostgreSQL等数据库。数据库迁移允许你对数据库结构进行版本控制,通过编写Ruby脚本(迁移文件)来修改表结构。 八、测试驱动开发(TDD) Rails鼓励使用测试驱动开发,提供Test::Unit、...

    Ruby On Rails教程

    Rails支持多种数据库,如MySQL、PostgreSQL等。 - **持续更新与部署:** 保持Rails版本的最新是必要的,可以通过RubyGems进行升级。对于部署到互联网服务提供商(ISP)的情况,需要考虑服务器环境的兼容性和安全性问题...

    ruby on rails 开发环境包(ruby1.8.7,rails2.2.3)

    4. **数据库配置**:Rails默认使用SQLite数据库,但你可以根据需求更改到MySQL或PostgreSQL等。修改`config/database.yml`文件来配置你的数据库连接。 5. **模型-视图-控制器**:Rails的MVC架构使得数据模型、用户...

Global site tag (gtag.js) - Google Analytics