Tag: postgresql

如何在Mac OS X上启动PostgreSQL服务器?

最终更新: 我忘了运行initdb命令。 </最终更新> 通过运行这个命令 ps auxwww | grep postgres 我看到postgres没有运行 > ps auxwww | grep postgres remcat 1789 0.0 0.0 2434892 480 s000 R+ 11:28PM 0:00.00 grep postgres 这引发了一个问题:我如何启动postgresql服务器? 更新: >pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start server starting sh: /usr/local/var/postgres/server.log: No such file or directory 更新2: 触摸不成功,所以我做了这个,而不是: > mkdir /usr/local/var/postgres > vi /usr/local/var/postgres/server.log > ls […]

Laravel:错误:在PostgreSQL中找不到驱动程序

我试图通过Laravel与PostgreSQL数据库连接,为了做一个PHP的工匠迁移,但似乎并没有被指示,因为它正在读取MySQL的数据库名称。 这里是来自database.php的命令: 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => __DIR__.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 'host' => 'localhost', […]

如何避免SQL查询中的(func())。*语法的多个函数evals?

上下文 当一个函数返回一个TABLE或一个SETOF composite-type ,就像这个示例函数: CREATE FUNCTION func(n int) returns table(i int, j bigint) as $$ BEGIN RETURN QUERY select 1,n::bigint union all select 2,n*n::bigint union all select 3,n*n*n::bigint; END $$ language plpgsql; 结果可以通过各种方法访问: 1) select * from func(3)将产生这些输出列: 我| Ĵ — + — 1 | 3 2 | 9 3 | 27 2) select func(3)只会产生一个ROWtypes的输出列。 […]

更改视图中使用的PostgreSQL列

我希望PostegreSQL放松一下。 每次我想改变一个视图中使用的列,似乎我必须删除视图,更改字段,然后重新创build视图。 我可以放弃额外的保护,只是告诉PostgreSQL让我改变领域,然后找出调整视图? 澄清:我明白什么是一个观点。 实际上,这是因为这个视图就像一个子查询,我希望能够改变底层的表格,并让视图接受这个变化。 假设我有以下几点: CREATE TABLE monkey ( "name" character varying(50) NOT NULL, ) CREATE OR REPLACE VIEW monkey_names AS SELECT name FROM monkey 我真的只想在迁移脚本中执行以下操作, 而不必删除并重新创build视图。 ALTER TABLE monkey ALTER COLUMN "name" character varying(100) NOT NULL

在PostgreSQL中,可空列是否占用额外的空间?

我有一个7列的表,其中5个将是空的。 我会在int , text , date , boolean和money数据types上有一个空列。 这个表格将包含数百万行与许多空值。 恐怕空值将占据空间。 另外,你知道Postgres是否索引空值? 我想阻止它索引空值。

应用于时间戳时,具有相同属性的时区名称会产生不同的结果

我只是在绝望中度过了一个小时,这两个expression式的结果不一致: db=# SELECT '2012-01-18 1:0 CET '::timestamptz AT TIME ZONE 'UTC' ,'2012-01-18 1:0 Europe/Vienna '::timestamptz AT TIME ZONE 'UTC'; timezone | timezone ———————+——————— 2012-08- 18 00:00:00 | 2012-08- 17 23:00:00 显然,第二个expression式按照DST规则扣两小时,第一个expression式只使用标准偏移量。 我检查了这两个时区名称的目录。 他们都在那里,看起来也一样: db=# SELECT * FROM pg_timezone_names WHERE name IN ('CET', 'Europe/Vienna'); name | abbrev | utc_offset | is_dst —————+——–+————+——– Europe/Vienna | CEST | […]

如何使用dynamicSQL设置复合variables字段的值

鉴于这种types: — Just for testing purposes: CREATE TYPE testType as (name text) 我可以用这个函数dynamic地获得一个字段的值: CREATE OR REPLACE FUNCTION get_field(object anyelement, field text) RETURNS text as $BODY$ DECLARE value text; BEGIN EXECUTE 'SELECT $1."' || field || '"' USING object INTO value; return value; END; $BODY$ LANGUAGE plpgsql 调用get_field('(david)'::testType, 'name')按照预期返回“david”。 但是,我怎样才能设置复合types的字段的值? 我试过这些function: CREATE OR REPLACE FUNCTION set_field_try1(object […]

理解Postgres行的大小

我得到了一个大(> 100M行)Postgres表结构{整数,整数,整数,没有时区的时间戳}。 我预计一个行的大小为3 *整数+ 1 *时间戳= 3 * 4 + 1 * 8 = 20个字节。 实际上,行大小是pg_relation_size(tbl) / count(*) = 52个字节。 为什么? (不对表执行删除操作: pg_relation_size(tbl, 'fsm') 〜= 0)

PostgreSQL – 必须出现在GROUP BY子句中或用于聚合函数中

我在pg生产模式中得到这个错误,但它在sqlite3开发模式下工作正常。 ActiveRecord::StatementInvalid in ManagementController#index PG::Error: ERROR: column "estates.id" must appear in the GROUP BY clause or be used in an aggregate function LINE 1: SELECT "estates".* FROM "estates" WHERE "estates"."Mgmt" = … ^ : SELECT "estates".* FROM "estates" WHERE "estates"."Mgmt" = 'Mazzey' GROUP BY user_id @myestate = Estate.where(:Mgmt => current_user.Company).group(:user_id).all

用Hibernate映射PostgreSQL数组

有任何人通过Hibernate成功地将PostgreSQL中的数值数组映射到java中的数值数组? SQL: CREATE TABLE sal_emp (name text, pay_by_quarter integer[]); INSERT INTO sal_emp VALUES ('one', '{1,2,3}'); INSERT INTO sal_emp VALUES ('two', '{4,5,6}'); INSERT INTO sal_emp VALUES ('three', '{2,4,6}'); 制图: <hibernate-mapping> <class name="SalEmp" table="sal_emp"> <id name="name" /> <property name="payByQuarter" column="pay_by_quarter" /> </class> </hibernate-mapping> 类: public class SalEmp implements Serializable{ private String name; private Integer[] payByQuarter; …// getters […]