我正在配置我的centos服务器.我安装postgresql和phppgadmin
当我尝试访问phppgadmin时 my_server_ip/phpPgAdmin
它重定向到登录页面,当我尝试登录获取错误时
Login disallowed for security reasons
我甚extra_login_security至改用false并使用以下命令重新启动
/etc/init.d/httpd restart
Run Code Online (Sandbox Code Playgroud)
和
service postgresql-9.2 restart
Run Code Online (Sandbox Code Playgroud)
谁能帮我.
嗨,我们正在使用独角兽和Sidekiq在Heroku的Cedar堆栈上运行.我们间歇性地得到以下错误
BurnThis ActiveRecord::StatementInvalid: PG::UnableToSend: SSL SYSCALL error: EOF detected
ActiveRecord::StatementInvalid: PG::ConnectionBad: PQconsumeInput() SSL SYSCALL error: Connection timed out
Run Code Online (Sandbox Code Playgroud)
有没有人知道这些错误的直接原因是什么?与我们的数据库连接太多了吗?我们已经通过以下方式设置了分叉:
unicorn.rb
worker_processes Integer(ENV["WEB_CONCURRENCY"] || 3)
timeout 30
preload_app true
before_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn master intercepting TERM and sending myself QUIT instead'
Process.kill 'QUIT', Process.pid
end
defined?(ActiveRecord::Base) and
ActiveRecord::
Base.connection.disconnect!
end
after_fork do |server, worker|
Signal.trap 'TERM' do
puts 'Unicorn worker intercepting TERM and doing nothing. Wait for master to send QUIT'
end
# other setup
if …Run Code Online (Sandbox Code Playgroud) connection-pooling heroku rails-postgresql rails-activerecord heroku-postgres
我无法得到rake db:migrate在Heroku上的rails 4.0.1 app上运行.
我猜我没有正确配置postgres ...但是阅读heroku上的文档并没有真正起作用,我不知道该怎么做.我对heroku或postgres不太了解.
任何帮助或资源将不胜感激.让我知道我还能发布什么.
(另外,我正在使用设计,如果这很重要)
我跑的时候heroku run rake db:migrate得到这个:
Running `rake db:migrate` attached to terminal... up, run.5077
PG::UndefinedTable: ERROR: relation "users" does not exist
LINE 5: WHERE a.attrelid = '"users"'::regclass
^
: SELECT a.attname, format_type(a.atttypid, a.atttypmod),
pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
FROM pg_attribute a LEFT JOIN pg_attrdef d
ON a.attrelid = d.adrelid AND a.attnum = d.adnum
WHERE a.attrelid = '"users"'::regclass
AND a.attnum > 0 AND NOT a.attisdropped
ORDER BY a.attnum
rake aborted!
PG::UndefinedTable: ERROR: relation …Run Code Online (Sandbox Code Playgroud) 我正在使用jOOQ将很多行插入到一个多对多关系的表中.代码工作,生成的SQL是预期的,我的问题是,我希望jOOQ代码可以更简单.
我有一个简化的结构(所有重命名,删除大多数字段,删除大多数约束,它只是一个愚蠢,但准确的结构示例):
CREATE TABLE person (
person_id BIGSERIAL PRIMARY KEY,
person_name VARCHAR(64) NOT NULL UNIQUE
);
CREATE TABLE company (
company_id BIGSERIAL PRIMARY KEY,
company_name VARCHAR(100) NOT NULL UNIQUE
);
CREATE TABLE employment_contract (
company_id BIGINT NOT NULL REFERENCES company,
person_id BIGINT NOT NULL REFERENCES person,
PRIMARY KEY (company_id, person_id),
salary INT NOT NULL,
creation_date_time TIMESTAMP NOT NULL
);
Run Code Online (Sandbox Code Playgroud)
我的插入代码:
Table<Record4<String, String, Integer, Timestamp>> insertValues = values(
row(
cast(null, COMPANY.COMPANY_NAME),
cast(null, PERSON.PERSON_NAME),
cast(null, EMPLOYMENT_CONTRACT.SALARY),
cast(null, EMPLOYMENT_CONTRACT.CREATION_DATE_TIME)
)
).as("insert_values",
COMPANY.COMPANY_NAME.getName(), -- …Run Code Online (Sandbox Code Playgroud) 我使用persistent来保存以下记录(时间是UTCTime).
type Price = Int
type Volume = Int
share [mkPersist sqlSettings, mkMigrate "migrateBook"]
[persistLowerCase|
Level
limit Price
volumes [Volume]
deriving Show Read Eq
Book
time Time
asks [Level]
bids [Level]
deriving Show Read Eq
|]
Run Code Online (Sandbox Code Playgroud)
当我迁移结构时,我得到一个Book表:
CREATE TABLE book
(
id serial NOT NULL,
"time" timestamp without time zone NOT NULL,
asks character varying NOT NULL,
bids character varying NOT NULL,
CONSTRAINT book_pkey PRIMARY KEY (id )
)
Run Code Online (Sandbox Code Playgroud)
和一个表级别:
CREATE TABLE level
(
id serial NOT NULL,
"limit" double …Run Code Online (Sandbox Code Playgroud) 例如,这是PostgreSQL中的产品表,其状态为枚举:
create type product_status as enum ('InStock', 'OutOfStock');
create table product (
pid int primary key default nextval('product_pid_seq'),
sku text not null unique,
name text not null,
description text not null,
quantity int not null,
cost numeric(10,2) not null,
price numeric(10,2) not null,
weight numeric(10,2),
status product_status not null
);
Run Code Online (Sandbox Code Playgroud)
插入产品的典型Clojure代码是:
(def prod-12345 {:sku "12345"
:name "My Product"
:description "yada yada yada"
:quantity 100
:cost 42.00
:price 59.00
:weight 0.3
:status "InStock"})
(sql/with-connection db-spec
(sql/insert-record :product prod-12345))
Run Code Online (Sandbox Code Playgroud)
但是,它status是一个枚举,因此您不能将其作为普通字符串插入而不将其强制转换为枚举: …
所以我开始使用Postgres JSON数据类型,现在你可以用它做很多有趣的事情.在我的一个Rails应用程序中,它还没有Rails 4(已经添加了对Postgres JSON的支持),我添加了一个这样的JSON列:
create_table :foo do |t|
t.column :bar, :json
end
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何为列设置默认值.我试着像所有的变化{},'{}','{}'::json,'[]'::json等,但我要么得到一个错误的迁移运行,或者它根本不起作用,这意味着迁移运行时,但是,当我创建一个新的Foo,bar是nil.
我想使用heroku pg:push命令将我的本地postgresql数据库推送到heroku .该命令如下所示:heroku pg:push mylocaldb DATABASE --app sushi根据heroku文档:https://devcenter.heroku.com/articles/heroku-postgresql .
这是我的本地数据库信息:
Name: mysitedb
User: bill
Password: bill
Run Code Online (Sandbox Code Playgroud)
我机器中的DATABASE_URL环境变量设置为:postgres://bill:bill@localhost/mysitedb.
我的应用程序名称是secure-gorge-4090.我试过了heroku pg:push mysitedb DATABASE --app secure-gorge-4090.输出是:
! Remote database is not empty.
! Please create a new database, or use `heroku pg:reset`
Run Code Online (Sandbox Code Playgroud)
我很惊讶我没有把任何东西放进我的数据库中.但我仍然跑去heroku pg:reset DATABASE重置我的DATABASE.之后,我heroku pg:push mysitedb DATABASE --app secure-gorge-4090再次尝试但输出仍然相同.
我试过了heroku pg:push postgres://bill:bill@localhost:8000/mysitedb DATABASE --app secure-gorge-4090.输出是:
! LOCAL_SOURCE_DATABASE is not a valid database name
Run Code Online (Sandbox Code Playgroud)
我不知道如何使用此命令将我的本地数据库移动到heroku.我需要你的帮助.谢谢!
我正在使用Django创建一些数据库表,如下所示:
class MetadataTerms(models.Model):
term = models.CharField(max_length=200)
size = models.IntegerField(default=0)
validity = models.IntegerField(default=0, choices=TERM_VALIDITY_CHOICES)
Run Code Online (Sandbox Code Playgroud)
然后我运行查询查询,以term不区分大小写的方式找到正确匹配的相应行.例如:
MetadataTerms.objects.filter(term__iexact=search_string, size=3)
Run Code Online (Sandbox Code Playgroud)
这个查找子句转换为SQL中的类似内容:
SELECT "app_metadataterms"."id", "app_metadataterms"."term", "app_metadataterms"."size" FROM "app_metadataterms" WHERE (UPPER("app_metadataterms"."term"::text) = UPPER('Jack Nicklaus survives') AND "app_metadataterms"."size" = 3 );
Run Code Online (Sandbox Code Playgroud)
在Postgres上,我可以EXPLAIN对上面的内容进行查询,我得到了这个查询计划:
QUERY PLAN
-----------------------------------------------------------------------------------
Seq Scan on app_metadataterms (cost=0.00..1233.01 rows=118 width=21)
Filter: ((size = 3) AND (upper((term)::text) = 'JACK NICKLAUS SURVIVES'::text))
Run Code Online (Sandbox Code Playgroud)
由于该term字段未编制索引,并且未按案例规范化方式编制索引,因此上述查询需要跨所有数据库行执行慢速Seq [uential] Scan操作.
然后我插入一个简单的case-normalized索引,例如:
CREATE INDEX size_term_insisitive_idx ON app_metadataterms (upper(term), size);
Run Code Online (Sandbox Code Playgroud)
上面的查询现在运行速度提高了大约6倍:
QUERY PLAN
---------------------------------------------------------------------------------------------
Bitmap Heap Scan on …Run Code Online (Sandbox Code Playgroud) 我正在起诉Heroku开发计划使用PostgreSQL创建数据库.数据库是在Heroku中创建的.运行heroku pg:info命令后
$ heroku pg:info
=== HEROKU_POSTGRESQL_XXX_URL
Plan: Hobby-dev
Status: available
Connections: 1
PG Version: 9.3.1
Created: 2013-11-27 04:00 UTC
Data Size: 6.4 MB
Tables: 0
Rows: 0/10000 (In compliance)
Fork/Follow: Unsupported
Rollback: Unsupported
Run Code Online (Sandbox Code Playgroud)
结果显示零表,这是正确的.
在我的本地机器表中,使用Laravel4框架支持的以下命令创建表.
php工匠迁移
php artisan db:种子
但似乎我无法在heroku中运行此命令来创建表和转储数据.请告诉我如何在Heroku中创建本地数据库的副本.
谢谢大家