据说Postgresql是很棒的sql,比Mysql还要出色,是Heroku的首选(默认配置),所以我选择它作为数据库。
安装Postgresql
$ sudo apt-get install postgresql postgresql-client postgresql-contrib
aptitude install libpq-dev(这个东西不装的话bundle install会报错缺少native extensions)
配置Postgresql
按照:https://help.ubuntu.com/10.04/serverguide/C/postgresql.html配置一下。需要修改 /etc/postgresql/8.4/main/postgresql.conf
去掉listen_addresses = 'localhost'前面的#,按照注释说明修改,需要重启系统。
修改/etc/postgresql/8.4/main/pg_hba.conf,改为password(明文密码)
local all postgres password
see http://www.cnblogs.com/bluesfeng/archive/2010/09/01/1815417.html
ident是明文验证密码,如果设置为trust,pgadmin3无法正常链接。
这时要: ALTER USER postgres with PASSWORD 'yourpassword'
sudo /etc/init.d/postgresql restart(服务器上可能是/etc/init.d/postgresql-8.4 restart)
下载开发工具:
$ sudo apt-get install pgadmin3
$ pgadmin3启动
Rails配置
安装Native:sudo apt-get install libpq-dev
Gemfile中:gem "pg"
然后bundle install
database.yml
development:
adapter: postgresql
encoding: unicode
database: atech_development
host: localhost
pool: 5
username: yyyyfdssfd
password: sssfdsf
注意那个host: localhost对于多用户的情况,是不能少的。
posgres命令行
sudo -u postgres psql 进入posgres命令行,\q退出命令行
ALTER ROLE postgres WITH ENCRYPTED PASSWORD 'mypassword';修改数据库链接密码
创建数据库:create database xxx_production;
报错整理
如果报错development database is not configured
/home/zj/.rvm/gems/ruby-1.9.2-p290@rails3.1.0/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_specification.rb:62:in `establish_connection'
则请仔细检查database.yml,看里面有没有乱码,特别是空格乱码你是看不到的,但通过IDE比如Netbeans就能发现自己看不到属性。
如果报错:
rake aborted!
FATAL: Ident authentication failed for user "postgres"
/home/zj/.rvm/gems/ruby-1.9.2-p290@rails3.1.0/gems/activerecord-3.1.0/lib/active_record/connection_adapters/postgresql_adapter.rb:991:in `initialize'
是因为没有配置Postgresql,看前面配置。
zj@loveztt:~/cms$ psql -h 127.0.0.1 -U postgres -d atech_development
在服务器端我bundle install报错:
Installing pg (0.11.0) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/usr/local/rvm/rubies/ruby-1.9.3-p0/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
解决:dpkg -l|grep postg
发现是9.1版本,就sudo aptitude install postgresql-server-dev-9.1
搞定。
命令行常用操作
\c my_db 切换到数据库my_db
查询等操作:SELECT * FROM blogs where id=2;注意分号是很重要的,表示结束。如果不加分号,它认为是多行,直到出现;后,一起执行,
\dt 列出所有的表。
Mac下将Postgresql加到自动开机启动:
mkdir -p ~/Library/LaunchAgents
cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
列出所有的Database clusters:
SELECT setting FROM pg_settings WHERE name = 'data_directory';
参考文章:
http://www.stuartellis.eu/articles/postgresql-setup/
https://help.ubuntu.com/10.04/serverguide/C/postgresql.html
http://stackoverflow.com/questions/2942485/psql-fatal-ident-authentication-failed-for-user-postgres
http://www.postgresql.org/docs/8.1/static/backup.html#BACKUP-DUMP
分享到:
相关推荐
PostgreSQL中文学习手册 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册 学习手册 (数据表 数据表 ) 4 一、表的定义: 一、表的定义: 一、表的定义: . 4 PostgreSQL PostgreSQL PostgreSQL学习手册 学习手册...
### DB2到GreenPlum/PostgreSQL的转换指南 #### 1. 引言 ##### 1.1 目的 本指南旨在帮助用户理解从DB2迁移到GreenPlum或PostgreSQL过程中所涉及的关键技术和注意事项。由于这两种数据库系统之间存在显著差异,因此...
PostgreSQL(postgresql-14.1.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...
PostgreSQL(postgresql-14.1.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...
PostgreSQL(postgresql-13.5.tar.bz2) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。...
**PostgreSQL 10 安装指南** PostgreSQL 是一款强大的开源关系型数据库管理系统,具有高度的稳定性和可扩展性,被广泛应用于各种规模的企业和项目。本文将详细介绍如何使用提供的 PostgreSQL-10 安装包进行安装,...
PostgreSQL(postgresql-13.5.tar.gz) PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库管理系统。POSTGRES...
### PostgreSQL离线安装详解 #### 一、简介 PostgreSQL是一款功能强大且全面的开源对象-关系型数据库管理系统(ORDBMS)。它基于加州大学伯克利分校开发的POSTGRES 4.2版本构建而成,引入了许多先进的概念和技术,...
PostgreSQL是一种开源关系型数据库管理系统(RDBMS),它的版本8.2.3是该系统的一个重要里程碑。这个版本在2006年发布,带来了许多改进和新特性,使得PostgreSQL在当时更加稳定和功能强大。对于Windows 8用户来说,...
### PostGreSQL在Centos 7.9上的安装与部署 #### 一、引言 在开始学习任何数据库之前,最重要的第一步就是安装部署一个可供学习和测试的环境。选择一个在业界广泛使用的操作系统版本,以及一个成熟稳定的数据库...
PostgreSQL是一种功能强大的开源关系型数据库管理系统,以其稳定性和可靠性而受到全球开发者的广泛赞誉。在标题和描述中提到的“postgresql 12、15离线安装包”指的是为这两个版本提供的安装程序,适用于没有互联网...
PostgreSQL(postgresql-14.2.tar.gz),适用于Linux系统:PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象关系型数据库...
PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它在Ubuntu操作系统上广泛使用,尤其在需要稳定性和高性能的环境中。Ubuntu离线安装版的PostgreSQL适用于那些没有互联网连接或者网络带宽有限的环境,...
Navicat for PostgreSQL是一套专为PostgreSQL设计的强大数据库管理及开发工具。它可以用于任何版本 7.5 或以上的 PostgreSQL 数据库服务器,并支持大部份 PostgreSQL最新版本的功能,包括触发器、函数、管理用户等。...
在Java编程中,连接到PostgreSQL数据库通常需要特定的驱动程序,这个驱动程序通常是以JAR(Java Archive)文件的形式存在。"连接postgresql数据库需要的jar包"指的是用于建立Java应用程序与PostgreSQL数据库之间通信...
PostgreSQL(postgresql-13.5-1-windows-x64.exe)适用于Windows x86-64 PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的...
postgresql-42.5.0.jar是Java上的一个驱动程序,用于连接PostgreSQL数据库并与其进行交互。它可以让Java程序员方便地使用PostgreSQL数据库,并提供了许多功能和工具,使程序员可以编写高效、稳定和高性能的应用程序...
PostgreSQL是一种开源的对象关系型数据库管理系统(ORDBMS),它以其强大的功能、高度的稳定性以及对ACID(原子性、一致性、隔离性、持久性)事务的支持而受到广大开发者的欢迎。离线安装包通常是为了在没有网络连接...
PostgreSQL(postgresql-14.2-2-windows-x64.exe),适用于Windows系统:PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统(ORDBMS),是以加州大学计算机系开发的POSTGRES,4.2版本为基础的对象...
【PostgreSQL 12主从集群安装】 在搭建PostgreSQL 12主从集群时,首先需要理解主从复制的概念。主从复制是数据库高可用性的一种常见解决方案,它允许数据从一个节点(主节点)实时同步到另一个或多个节点(从节点)...