VyR*_*VyR 9 postgresql centos7 postgresql-11
我在 CentOS Linux 版本 7.5.1804(核心)
当我登录postgres并运行时:
bash-4.2$ /usr/pgsql-11/bin/initdb -D /var/lib/pgsql/11/data
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "en_US.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.
creating directory /var/lib/pgsql/11/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... 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:
/usr/pgsql-11/bin/pg_ctl -D /var/lib/pgsql/11/data -l logfile start
bash-4.2$
Run Code Online (Sandbox Code Playgroud)
然后我跑
bash-4.2$ /usr/pgsql-11/bin/pg_ctl start -l logfile -D /var/lib/pgsql/11/data
waiting for server to start..../bin/sh: logfile: Permission denied
stopped waiting
pg_ctl: could not start server
Examine the log output.
bash-4.2$ date
Wed Oct 24 01:50:44 -05 2018
bash-4.2$
Run Code Online (Sandbox Code Playgroud)
我在 GOOGLE 中搜索“正在等待服务器启动..../bin/sh: logfile: Permission denied”但是这个错误只发生在 MAC 中,没有显示任何解决方案...
我也跑
bash-4.2$ postgres --version;postmaster --version;
postgres (PostgreSQL) 11.0
postgres (PostgreSQL) 11.0
bash-4.2$
Run Code Online (Sandbox Code Playgroud)
然后我相信 PostgreSQL 11 安装得很好,但我无法启动服务器。
我用这条线安装:
yum install postgresql-jdbc.noarch postgresql-jdbc-javadoc.noarch postgresql-unit11.x86_64 postgresql-unit11-debuginfo.x86_64 postgresql11.x86_64 postgresql11-contrib.x86_64 postgresql11-debuginfo.x86_64 postgresql11-devel.x86_64 postgresql11-docs.x86_64 postgresql11-libs.x86_64 postgresql11-odbc.x86_64 postgresql11-plperl.x86_64 postgresql11-plpython.x86_64 postgresql11-pltcl.x86_64 postgresql11-server.x86_64 postgresql11-tcl.x86_64 postgresql11-test.x86_64
Run Code Online (Sandbox Code Playgroud)
我没有添加 [postgresql11-llvmjit.x86_64] 因为这需要很多依赖。
CentOS Linux 版本 7.5.1804 + PostgreSQL 11 ?
我需要安装额外的软件吗?
这logfile不是字面意思,它应该替换为 PostgreSQL 服务器进程具有写入权限的文件。
你不这样做的一般,而你编辑postgresql.conf和配置log_destination,logging_collector,log_directory和log_filename。然后你启动 PostgreSQL 而不用-l选项的。
您尝试使用 PostgreSQL 启动systemctl可能确实有效;你可以检查
systemctl status postgresql-11
Run Code Online (Sandbox Code Playgroud)
小智 5
所以,我遇到了同样的问题。首先,我使用以下命令检查我的机器上是否以及所有服务器都处于活动状态:
brew services list
Run Code Online (Sandbox Code Playgroud)
然后我有一些服务器处于活动状态,所以我停止了它们,因为您需要停止它们以使 posgresql 服务器工作。
brew services stop < name of the server/s active >
Run Code Online (Sandbox Code Playgroud)
然后我创建了一个新的数据库
initdb /usr/local/var/postgres2
Run Code Online (Sandbox Code Playgroud)
并使用启动服务器
pg_ctl -D /usr/local/var/postgres2 -l logfile start
Run Code Online (Sandbox Code Playgroud)
对我来说很好用!! 在此处输入图片说明