我们有一个由 Postgresql v11.4提供支持的 Rails 应用程序,我想在其中添加一个具有默认值和非空约束的新列,如下所示:
ALTER TABLE "blogs" ADD "published" boolean DEFAULT FALSE NOT NULL
我知道添加具有默认值的新列是安全的。但是,与 结合使用它仍然安全NOT NULL
吗?还是会锁定数据库?谢谢!
我们有一个由 Postgresql v11.4提供支持的 Rails 应用程序,我想在其中添加一个具有默认值和非空约束的新列,如下所示:
ALTER TABLE "blogs" ADD "published" boolean DEFAULT FALSE NOT NULL
我知道添加具有默认值的新列是安全的。但是,与 结合使用它仍然安全NOT NULL
吗?还是会锁定数据库?谢谢!
当我试图跑步psql
时,我得到了
psql: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
当我检查时Server.log
,我看到:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.5,
which is not compatible with this version 9.6.1.
我尝试按照本教程(从 9.4 到 9.5)升级 9.6.1,但不断收到此错误消息
cannot write to log file pg_upgrade_internal.log
Failure, exiting
跑完之后
$ pg_upgrade -v \
> -d /usr/local/var/postgres \
> -D /usr/local/var/postgres9.6.1 \
> -b /usr/local/Cellar/postgresql/9.5/bin/ \
> -B /usr/local/Cellar/postgresql/9.6.1/bin/
有谁知道我错过了什么/做错了什么?谢谢!
系统: