- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
通过自制程序安装后,我在使用postgresql时遇到了困难。我在MacOSX10.9.5上(今天刚刚更新并重新启动)。
注意:我并没有故意更改默认postgresql安装的任何内容
问题
我无法卸载postgresql
我无法登录查看表/启动postgres的“命令行”
createdb返回一个关于pg_filenode.map“no such file or directory”的错误
initdb返回错误,不知道数据目录在哪里(我不知道)
任何一个都会成功
登录到PSQL(这样我就可以创建一个数据库或表,就像我可以在MySQL中做的那样,浏览现有表)
完全卸载postgres(以便我可以使用postgresql.app重新尝试)
我花了将近10个小时来解决这个问题,但还是没有成功。
我已经看了很多答案(包括问题24132418和14510237),但我还不能包括所有的链接,因为还没有信誉点
任何指点都会非常感谢!
下面看起来很长,因为我已经粘贴了所有的日志,如果我遗漏了一些重要的信息,请告诉我
谢谢,-马克
细节
我一直在努力完成Heroku的介绍,他们说安装postgresql是一个必要条件,所以我用自制的
brew install postgresql
Request URL: http://localhost:5000/admin/
Django Version: 1.6.5
Exception Type: OperationalError
Exception Value:
FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
Exception Location: /Users/macuser/Dropbox/code/heroku/awe01/lib/python2.7/site-packages/psycopg2/__init__.py in connect, line 164
mysql -u root -p
moriartymacbookair13:~ macuser$ postgres
postgres does not know where to find the server configuration file.
You must specify the --config-file or -D invocation option or set the PGDATA environment variable.
moriartymacbookair13:~ macuser$ postgres -V
postgres (PostgreSQL) 9.3.5
moriartymacbookair13:~ macuser$ brew uninstall postgres
Uninstalling /usr/local/Cellar/postgresql/9.3.5_1...
Error: Permission denied - /usr/local/bin/clusterdb
brew info postgresql
moriartymacbookair13:~ macuser$ brew info postgres
postgresql: stable 9.3.5 (bottled), devel 9.4beta2
http://www.postgresql.org/
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.3.5_1 (2927 files, 38M) *
Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/postgresql.rb
==> Dependencies
Required: openssl ✔, readline ✔
Recommended: ossp-uuid ✔
==> Options
--32-bit
Build 32-bit only
--enable-dtrace
Build with DTrace support
--no-perl
Build without Perl support
--no-tcl
Build without Tcl support
--with-python
Build with python support
--without-ossp-uuid
Build without ossp-uuid support
--devel
install development version 9.4beta2
==> Caveats
If builds of PostgreSQL 9 are failing and you have version 8.x installed,
you may need to remove the previous version first. See:
https://github.com/Homebrew/homebrew/issues/issue/2510
To migrate existing data from a previous major version (pre-9.3) of PostgreSQL, see:
http://www.postgresql.org/docs/9.3/static/upgrading.html
When installing the postgres gem, including ARCHFLAGS is recommended:
ARCHFLAGS="-arch x86_64" gem install pg
To install gems without sudo, see the Homebrew wiki.
To reload postgresql after an upgrade:
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
Or, if you don't want/need launchctl, you can just run:
postgres -D /usr/local/var/postgres
Conflicts with: postgres-xc
/usr/local/Cellar/postgresql/9.3.5_1 (2927 files, 38M) *
moriartymacbookair13:~ macuser$ postgres -D /usr/local/postgres
postgres cannot access the server configuration file "/usr/local/postgres/postgresql.conf": No such file or directory
moriartymacbookair13:~ macuser$ postgres --config-file=/usr/local/var/postgres/postgresql.conf
postgres does not know where to find the database system data.
This can be specified as "data_directory" in "/usr/local/var/postgres/postgresql.conf", or by the -D invocation option, or by the PGDATA environment variable.
moriartymacbookair13:~ macuser$ initdb /usr/local/var/postgres
The files belonging to this database system will be owned by user "macuser".
This user must also own the server process.
The database cluster will be initialized with locale "en_GB.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
initdb: directory "/usr/local/var/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/var/postgres" or run initdb
with an argument other than "/usr/local/var/postgres".
moriartymacbookair13:~ macuser$ rm -rf /usr/local/var/postgres
moriartymacbookair13:~ macuser$ initdb /usr/local/var/postgres -E utf8
The files belonging to this database system will be owned by user "macuser".
This user must also own the server process.
The database cluster will be initialized with locale "en_GB.UTF-8".
The default text search configuration will be set to "english".
Data page checksums are disabled.
creating directory /usr/local/var/postgres ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
creating configuration files ... ok
creating template1 database in /usr/local/var/postgres/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
postgres -D /usr/local/var/postgres
or
pg_ctl -D /usr/local/var/postgres -l logfile start
moriartymacbookair13:~ macuser$ postgres -D /usr/local/postgres
postgres cannot access the server configuration file "/usr/local/postgres/postgresql.conf": No such file or directory
moriartymacbookair13:~ macuser$ postgres --config-file=/usr/local/var/postgres/postgresql.conf
postgres does not know where to find the database system data.
This can be specified as "data_directory" in "/usr/local/var/postgres/postgresql.conf", or by the -D invocation option, or by the PGDATA environment variable.
moriartymacbookair13:~ macuser$ ls /usr/local/var/postgres/
PG_VERSION pg_ident.conf pg_stat/ pg_xlog/
base/ pg_multixact/ pg_stat_tmp/ postgresql.conf
global/ pg_notify/ pg_subtrans/
pg_clog/ pg_serial/ pg_tblspc/
pg_hba.conf pg_snapshots/ pg_twophase/
moriartymacbookair13:~ macuser$ vim /usr/local/var/postgres/postgresql.conf
35 # FILE LOCATIONS
36 #----------------------------------------------------------------------------- -
37
38 # The default values of these variables are driven from the -D command-line
39 # option or PGDATA environment variable, represented here as ConfigDir.
40
41 #data_directory = 'ConfigDir' # use data in another directory
42 # (change requires restart)
43 #hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
44 # (change requires restart)
45 #ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
46 # (change requires restart)
47
48 # If external_pid_file is not explicitly set, no extra PID file is written.
49 #external_pid_file = '' # write an extra PID file
50 # (change requires restart)
moriartymacbookair13:~ macuser$ ls /usr/local/Cellar/postgresql/9.3.5_1/
COPYRIGHT homebrew.mxcl.postgresql.plist
HISTORY include/
INSTALL_RECEIPT.json lib/
README share/
bin/
moriartymacbookair13:~ macuser$ sudo -u postgres pg_ctl -D /usr/local/var/postgres -w start
sudo: unknown user: postgres
moriartymacbookair13:~ macuser$ ls -ld /usr/local/var/postgres/
drwx------ 19 macuser admin 646B 20 Sep 19:46 /usr/local/var/postgres//
moriartymacbookair13:~ macuser$ chown -R postgres /usr/local/var/postgres
chown: postgres: illegal user name
moriartymacbookair13:~ macuser$ brew uninstall postgresql
Uninstalling /usr/local/Cellar/postgresql/9.3.5_1...
Error: Permission denied - /usr/local/bin/clusterdb
moriartymacbookair13:~ macuser$ brew uninstall postgres
Uninstalling /usr/local/Cellar/postgresql/9.3.5_1...
Error: Permission denied - /usr/local/bin/clusterdb
moriartymacbookair13:~ macuser$
foreman start
时从代码中给出的错误。
https://devcenter.heroku.com/articles/getting-started-with-python#prepare-the-app
)
localhost:5000
主页,但是当我添加
/admin
(将与数据库交互的页面)时,会出现以下错误:
OperationalError at /admin/
FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
Request Method: GET
Request URL: http://localhost:5000/admin/
Django Version: 1.6.5
Exception Location: /Users/macuser/Dropbox/code/heroku/awe01/lib/python2.7/site-packages/psycopg2/__init__.py in connect, line 164
Python Executable: /Users/macuser/Dropbox/code/heroku/awe01/bin/python
http://dpaste.com/3CREGVQ
https://stackoverflow.com/a/5053003/870121
moriartymacbookair13:~ macuser$ createdb /usr/local/var/postgres/
createdb: could not connect to database template1: FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
Remove and re-add the launch agent
Kill the processes for <postgresql version number>
Initialize the db initdb /usr/local/var/postgres
Restart my computer
moriartymacbookair13:~ macuser$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
moriartymacbookair13:~ macuser$ killall postgresql
No matching processes belonging to you were found
moriartymacbookair13:~ macuser$ killall postgres
No matching processes belonging to you were found
moriartymacbookair13:~ macuser$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
moriartymacbookair13:~ macuser$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry and just ignore them. Thanks!
Warning: The /usr/local directory is not writable.
Even if this directory was writable when you installed Homebrew, other
software may change permissions on this directory. Some versions of the
"InstantOn" component of Airfoil are known to do this.
You should probably change the ownership and permissions of /usr/local
back to your user account.
Warning: Unbrewed dylibs were found in /usr/local/lib.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.
Unexpected dylibs:
/usr/local/lib/libguide.dylib
/usr/local/lib/libKLF_OGL.dylib
Warning: Some directories in your path end in a slash.
Directories in your path should not end in a slash. This can break other
doctor checks. The following directories should be edited:
$/Users/macuser/Dropbox/code/aws/ElasticBeanstalkCommandLineTools/AWS-ElasticBeanstalk-CLI-2.6.3/AWSDevTools.sh/macosx/python2.7/ /Users/macuser/Dropbox/code/aws/ElasticBeanstalkCommandLineTools/AWS-ElasticBeanstalk-CLI-2.6.3/AWSDevTools/eb/macosx/python2.7/
Warning: /usr/bin occurs before /usr/local/bin
This means that system-provided programs will be used instead of those
provided by Homebrew. The following tools exist at both paths:
git
git-cvsserver
git-receive-pack
git-shell
git-upload-archive
git-upload-pack
Consider setting your PATH so that /usr/local/bin
occurs before /usr/bin. Here is a one-liner:
echo export PATH='/usr/local/bin:$PATH' >> ~/.bash_profile
moriartymacbookair13:~ macuser$
http://www.postgresql.org/docs/9.3/interactive/tutorial-createdb.html
unknown user: postgres
错误、设置
#data_directory = 'ConfigDir'
位置或任何其他提示的建议。。。我真的很感激。今天已经整整一天没看到这个了,所以我非常感激。
最佳答案
FATAL: could not open relation mapping file "global/pg_filenode.map": No such file or directory
您安装了PostgreSQL,但在服务器运行时删除或移动了数据目录。或者你将它安装在一个可移动磁盘上,然后将其删除。或者你系统中的某个应用程序正在干扰其他应用程序如何更改文件。
moriartymacbookair13:~ macuser$ postgres
postgres does not know where to find the server configuration file.
postgres
是服务器应用程序。客户是
psql
。但是,如果
global/pg_filenode.map
不见了,你就不会有更多的运气了。
moriartymacbookair13:~ macuser$ brew uninstall postgres
psql
sudo brew uninstall postgres
,所以我尝试了
/usr/local/var/postgres
moriartymacbookair13:~ macuser$ postgres -D /usr/local/postgres
postgres cannot access the server configuration file "/usr/local/postgres/postgresql.conf": No such file or directory
Or, if you don't want/need launchctl, you can just run:
postgres -D /usr/local/var/postgres
-D
用户:
moriartymacbookair13:~ macuser$ sudo -u postgres pg_ctl -D /usr/local/var/postgres -w start
sudo: unknown user: postgres
postgres
或
_postgres
。我没有mac,所以我不能查。但不管怎样,在您的情况下,这并不重要,因为datadir是由您的用户拥有的,而不是
postgres_
:
moriartymacbookair13:~ macuser$ ls -ld /usr/local/var/postgres/
drwx------ 19 macuser admin 646B 20 Sep 19:46 /usr/local/var/postgres//
postgres
以及如何/何时删除。
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
rm -rf /usr/local/var/postgres
initdb -D /usr/local/var/postgres -U postgres --auth-local peer --auth-host md5 -E utf-8l
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
pg_filenode.map
服务器已经在5432上运行,但由于数据目录损坏而无法正常运行时。
关于django - Homebrew 程序的data_directory在哪里?还是对于postgresql或如何解决错误,““global/pg_filenode.map”:没有这样的文件或目录”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25952943/
我的 postgresql 有问题,我复制了所有文件,然后将其删除。然后,我安装了新的,问题就解决了。现在可以将旧文件和文件导入新文件吗? 最佳答案 如果它们是相同的主要版本(即 9.0 到 9.0.
我想使用 Postgresql 9.2.2 来存储我的应用程序的数据。我不得不构建一个应该基于数据库级别的触发器(当数据库启动时,这个触发器将被触发并执行。),当 postgresql 服务器启动时是
我已经使用下面的查询从 Postgresql 目录表中获取 Sequence 对象的完整信息 select s.sequence_name, s.start_value, s.minimum_valu
Postgres 版本:9.3.4 我需要执行驻留在远程数据库中的函数。该函数根据给定的参数返回一个统计数据表。 我实际上只是在我的本地数据库中镜像该函数,以使用我的数据库角色和授权来锁定对该函数的访
我在 CentOS 7 上,我正在尝试解决“PG::ConnectionBad: FATAL: Peer authentication failed for user”错误。 所以我已经想出我应该更改
我写了一个触发器函数,在触发器表列名上循环,我从具有不同列的不同表调用该函数。该函数将列名插入到数组中并在它们上循环,以便将值插入到另一个模式和表中。 函数和触发器创建脚本: DROP TRIGGER
PostgreSQL 的默认空闲连接超时是多少,我运行了 show idle_in_transaction_session_timeout 查询并返回了 0,但是值 0 表示此选项被禁用,但我想知道默
我需要将十六进制值存储到数据库表中,谁能推荐我需要用于属性的数据类型? 提前致谢 最佳答案 您可以使用bytea 来存储十六进制格式。更多信息 can be found in the postgres
我有一个具有复合主键的(大)表,由 5 列(a、b、c、d、e)组成。 我想高效地选择具有其中两列 (a + e) 的所有行到给定值。 在 PostgreSQL 中,我需要索引吗?或者数据库会使用主键
在阅读 PostreSQL (13) 文档时,我遇到了 this页面,其中列出了不同日期时间类型的存储大小。 除其他外,它指出: Name Storag
我有两个大整数的巨大表(500 000 000 行)。两列都被单独索引。我正在使用语法批量插入此表: INSERT into table (col1, col2) VALUES(x0, y0), (x
有一台 CentOS7 Linux 机器正在运行(不是由我管理;拥有有限的权限)。 请求在其中设置 PostgreSQL。 刚刚从 CentOS 存储库安装了 PostgreSQL: sudo yum
我在 Ubuntu 18.04 上安装了 Postgresql 10,但不知何故坏了,不会重新启动。我可以重新安装它而不破坏它的数据库,以便我可以再次访问数据库吗? pg_dump 不起作用。 最佳答
我想在 UNIX 中使用 crontab 自动备份 PostgreSQL 数据库。我已经尝试过,但它会创建 0 字节备份。 我的 crontab 条目是: 24 * * * * /home/desk
我已经完成了PG服务器的安装。我希望能够使用 pgAdmin 远程连接到它,但不断收到服务器不听错误。 could not connect to server: Connection refused
Oracle 支持波斯历但需要知道 PostgreSQL 是否支持波斯历? 如果是,那么我们如何在 PostgreSQL 中将默认日历类型设置为 Persian 而不是 Gregorian(在 Ora
假设我们有一个带有表的 SQL 数据库 Person以及访问它的几个应用程序。出于某种原因,我们想修改 Person表以向后不兼容的方式。 保持兼容性的一种潜在解决方案是将表重命名为 User并创建一
我使用 PostgreSQL 中的模式来组织我庞大的会计数据库。每年年底,我都会通过为下一年创建一个新模式来进行协调过程。 新模式的文件是否与旧模式物理分离?或者所有模式一起存储在硬盘上? 这对我来说
我正在尝试使用配置文件中的以下配置参数调整 PostgreSQL 服务器: autovacuum_freeze_max_age = 500000000 autovacuum_max_workers =
我的数据包含数据库列中的表情符号,即 message_text ------- 🙂 😀 Hi 😀 我只想查询包含表情符号的数据的行。在 postgres 中是否有一种简单的方法可以做到这一点?
我是一名优秀的程序员,十分优秀!