Questions tagged «postgresql»

PostgreSQL是一个开放源代码的,对象关系数据库管理系统(ORDBMS),可用于所有主要平台,包括Linux,UNIX,Windows和OSX。提出问题时,请注明确切的Postgres版本。有关管理或高级功能的问题最好直接到dba.stackexchange.com。



7
使用SQL完全复制Postgres表
免责声明:此问题与此处的堆栈溢出问题相似,但是这些答案都无法解决我的问题,我将在后面解释。 我正在尝试在postgres中复制一个大表(〜4000万行,100多个列),在其中索引了许多列。目前,我使用以下SQL: CREATE TABLE <tablename>_copy (LIKE <tablename> INCLUDING ALL); INSERT INTO <tablename>_copy SELECT * FROM <tablename>; 此方法有两个问题: 它在数据摄取之前添加索引,因此比创建没有索引的表要花费更多的时间,然后在复制所有数据后再建立索引。 这不会正确复制“ SERIAL”样式列。它没有在新表上设置新的“计数器”,而是将新表中列的默认值设置为过去表的计数器,这意味着它不会随着行的添加而增加。 表的大小使索引成为实时问题。这也使得转储到文件然后重新注册变得不可行。我也没有命令行的优势。我需要在SQL中执行此操作。 我想做的就是要么用一些奇迹命令直接复制一个精确的副本,要么(如果不可能)复制带有所有约束但没有索引的表,并确保它们是“精神上的”约束(又名SERIAL列的新计数器)。然后使用a复制所有数据,SELECT *然后复制所有索引。 资料来源 有关数据库复制的堆栈溢出问题:这不是我要问的三个原因 它使用命令行选项pg_dump -t x2 | sed 's/x2/x3/g' | psql,在此设置下,我无权访问命令行 它在数据摄取之前创建索引,这很慢 它不能正确更新序列列作为证据 default nextval('x1_id_seq'::regclass) 重置postgres表的序列值的方法:很好,但是很不幸,它非常手工。


2
postgresql:如何重命名架构中的表
我正在使用PostgreSQL 9.x,我想重命名一个表。此SQL代码: CREATE TABLE new (id int); ALTER TABLE new RENAME TO old; DROP TABLE old; 正确重命名表。但是这个SQL代码: CREATE SCHEMA domain; CREATE TABLE domain.old (id int); ALTER TABLE domain.old RENAME TO domain.new; 失败,出现错误: 错误:“或”附近的语法错误。 “。” 下划线是“域”和“新”之间的一个
76 postgresql 


3
fe_sendauth:未提供密码
database.yml: # SQLite version 3.x # gem install sqlite3 # # Ensure the SQLite 3 gem is defined in your Gemfile # gem 'sqlite3' development: adapter: postgresql encoding: utf8 database: sampleapp_dev #can be anything unique #host: localhost #username: 7stud #password: #adapter: sqlite3 #database: db/development.sqlite3 pool: 5 timeout: 5000 # Warning: …

13
如何从sql查询中获取第一条记录和最后一条记录?
我在PostgreSQL中有一个表,我用几种条件对它运行查询,该条件返回按行之一排序的多行。通常是: SELECT <some columns> FROM mytable <maybe some joins here> WHERE <various conditions> ORDER BY date DESC 现在,我只想从此查询中获取第一行和最后一行。我可以将它们从数据库之外移到我的应用程序中(这是我实际上所做的),但想知道是否为了获得更好的性能,我不应该仅从我真正感兴趣的那两条记录中获取数据。 如果是这样,如何修改查询?
75 sql  postgresql 

13
如何找到pg_config路径
在这里完成新手操作,尝试将Django设置为可与PostgreSQL一起使用。 我正在使用Mac OS X 10.6.8。我还安装了PostgreSQL 9.3 pip install psycopg2在终端中运行时,出现以下错误 Downloading/unpacking psycopg2 Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py (path:/private/var/folders/A9/A99cs6x0FNusPejCVkYNTE+++TI/-Tmp-/pip_build_bengorman/psycopg2/setup.py) egg_info for package psycopg2 Error: pg_config executable not found. Please add the directory containing pg_config to the PATH or specify the full executable path with the option: python setup.py build_ext --pg-config …

4
Postgres FOR LOOP
我试图从一张桌子中获得25个15,000个ID的随机样本。我试图每次循环,而不是每次都手动按run。我完全理解的不是Postgres的最佳用法,但这是我拥有的工具。这是我到目前为止所拥有的: for i in 1..25 LOOP insert into playtime.meta_random_sample select i, ID from tbl order by random() limit 15000 end loop

9
Django + Postgres:“当前事务中止,命令被忽略,直到事务块结束”
我已经开始在Django / Postgres网站上工作。有时,我在中工作manage.py shell,而无意中执行了一些导致错误的数据库操作。然后我根本无法执行任何数据库操作,因为对于我尝试执行的任何数据库操作,都会收到错误消息: current transaction is aborted, commands ignored until end of transaction block 我当前的解决方法是重新启动外壳程序,但是我应该找到一种无需放弃外壳程序会话即可解决此问题的方法。 (我已经读过这个和这个,但是他们没有给出有关如何从shell进行操作的可行说明。)

10
检查PostgreSQL中是否已经存在用户定义的类型
假设我在数据库中创建了一些用户定义的类型, 即 CREATE TYPE abc ... 然后可以确定用户定义的类型是否存在?也许使用任何postgres信息表? 这样做的主要原因是因为PostgreSQL似乎不支持CREATE OR REPLACE TYPE ...,如果某种类型创建了多次,我希望能够先删除现有的类型,然后重新加载新的类型。

2
实体框架PostgreSQL
有人可以告诉我如何使MS Entity Framework与PostgreSQL一起使用。 另外:实体Framewok如何与Mono合作?您能否建议在Mono上运行的其他类似ORM工具,您对此有何看法?

8
无法使用Postgres.app在小牛中安装pg gem
我正在尝试在本地计算机上安装pg gem与Postgres.app一起使用。我在跑小牛队。 Postgres.app已安装并运行良好,但是我无法运行该gem。我已经完成以下工作: 使用了来自Postgres.app文档的命令'env ARCHFLAGS =“-arch x86_64” gem install pg---with-pg-config = / Applications / Postgres.app / Contents / MacOS / bin / pg_config 更新了Homebrew并安装了Apple GCC 4.2 安装了Xcode开发人员工具 更新了我的$ PATH以同时引用Postgres.app bin和lib目录 一切都没有成功。这是我收到的特定错误消息: Building native extensions with: '--with-pg-config=/Applications/Postgres.app/Contents/MacOS/bin/pg_config' This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.