如何在Ubuntu 10.04文件系统中找到保存Postgres 8.x数据库文件的位置?
Mac OSX 10.6.8
postgres网站称postgres 9.2+与Mac OSX 10.6+兼容,所以我在这里下载了Mac OSX的9.2.4版安装程序:
http://www.enterprisedb.com/products-services-training/pgdownload
我接受了所有默认值,因此postgres安装在目录中:
/Library/PostgreSQL/9.2
Run Code Online (Sandbox Code Playgroud)
(如果要为rails开发安装postgres,为了安装pg gem,需要添加到PATH:http://excid3.com/blog/installing-postgresql-and-pg-gem-on-mac-osx /#.UfkImuB6gy5)
现在,我想弄清楚如何使用postgres.我找到了一个stackoverflow线程,说你可以用这个命令启动postgres:
~$ /Library/PostgreSQL/9.2/bin/pg_ctl start -D /Library/PostgreSQL/9.2/data -l postgres.log
Run Code Online (Sandbox Code Playgroud)
但是这会产生这个错误:
pg_ctl:无法打开PID文件"/Library/PostgreSQL/9.2/data/postmaster.pid":权限被拒绝
如果我用sudo尝试相同的命令:
~$ sudo /Library/PostgreSQL/9.2/bin/pg_ctl start -D /Library/PostgreSQL/9.2/data -l postgres.log
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
pg_ctl:无法以root身份运行请登录(使用,例如,"su")作为将拥有服务器进程的(非特权)用户.
这是什么意思??
另一个SO线程说,为了响应该错误,你应该这样做:
$ sudo -u postgres bash
Run Code Online (Sandbox Code Playgroud)
产生这个输出:
Password:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
bash: /Users/7stud/.bashrc: Permission denied
bash-3.2$
Run Code Online (Sandbox Code Playgroud)
那里的错误是怎么回事?
我安装了prostgres以与我的rails4应用程序一起使用,我能够连接到数据库服务器并创建数据库.然后我对我的Gemfile和config/database.yml进行了必要的更改以使用postgres.然后我创建了一个新的应用程序,并在应用程序中创建了一个用户模型:
$ rails generate model User name:string email:string
invoke active_record
create db/migrate/20130806145935_create_users.rb
create app/models/user.rb
invoke rspec
create spec/models/user_spec.rb
Run Code Online (Sandbox Code Playgroud)
然后我做了:
$ bundle exec rake db:migrate
== CreateUsers: migrating ====================================================
-- create_table(:users)
-> 0.1498s
== CreateUsers: migrated (0.1500s) ===========================================
Run Code Online (Sandbox Code Playgroud)
但是在db目录中,我看到了这些文件:
development.sqlite3
test.sqlite3
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试使用SQLite数据库浏览器查看这些文件时,我收到一条错误消息,指出它们不是sqlite 3数据库.事实上,它们是空的:
~/rails_projects/sample_app4_0/db$ ls -al
total 40
drwxr-xr-x 8 7stud staff 272 Aug 6 22:50 .
drwxr-xr-x 24 7stud staff 816 Aug 6 22:23 ..
-rw-r--r-- 1 7stud staff 0 Jul 30 00:21 development.sqlite3
drwxr-xr-x 3 7stud staff 102 Aug …Run Code Online (Sandbox Code Playgroud)