- Mar 06, 2013
-
-
Kevin Grittner authored
-
- Mar 04, 2013
-
-
Peter Eisentraut authored
reviewed by Satoshi Nagayasu
-
Kevin Grittner authored
A materialized view has a rule just like a view and a heap and other physical properties like a table. The rule is only used to populate the table, references in queries refer to the materialized data. This is a minimal implementation, but should still be useful in many cases. Currently data is only populated "on demand" by the CREATE MATERIALIZED VIEW and REFRESH MATERIALIZED VIEW statements. It is expected that future releases will add incremental updates with various timings, and that a more refined concept of defining what is "fresh" data will be developed. At some point it may even be possible to have queries use a materialized in place of references to underlying tables, but that requires the other above-mentioned features to be working first. Much of the documentation work by Robert Haas. Review by Noah Misch, Thom Brown, Robert Haas, Marko Tiikkaja Security review by KaiGai Kohei, with a decision on how best to implement sepgsql still pending.
-
- Mar 03, 2013
-
-
Peter Eisentraut authored
submitted by "Lyle"
-
Peter Eisentraut authored
Josh Kupershmidt
-
- Feb 27, 2013
-
-
Heikki Linnakangas authored
Thom Brown and me.
-
Heikki Linnakangas authored
This includes backend "COPY TO/FROM PROGRAM '...'" syntax, and corresponding psql \copy syntax. Like with reading/writing files, the backend version is superuser-only, and in the psql version, the program is run in the client. In the passing, the psql \copy STDIN/STDOUT syntax is subtly changed: if you the stdin/stdout is quoted, it's now interpreted as a filename. For example, "\copy foo from 'stdin'" now reads from a file called 'stdin', not from standard input. Before this, there was no way to specify a filename called stdin, stdout, pstdin or pstdout. This creates a new function in pgport, wait_result_to_str(), which can be used to convert the exit status of a process, as returned by wait(3), to a human-readable string. Etsuro Fujita, reviewed by Amit Kapila.
-
- Feb 25, 2013
-
-
Peter Eisentraut authored
-
Heikki Linnakangas authored
Like with pg_basebackup and pg_receivexlog, it's a bit strange to call the option -d/--dbname, when in fact you cannot pass a database name in it. Original patch by Amit Kapila, heavily modified by me.
-
Heikki Linnakangas authored
You could already pass a database name just by passing it as the last option, without -d. This is an alias for that, like the -d/--dbname option in psql and many other client applications. For consistency.
-
Heikki Linnakangas authored
Without this, there's no way to pass arbitrary libpq connection parameters to these applications. It's a bit strange that the option is called -d/--dbname, when in fact you can *not* pass a database name in it, but it's consistent with other client applications where a connection string is also passed using -d. Original patch by Amit Kapila, heavily modified by me.
-
- Feb 24, 2013
-
-
Peter Eisentraut authored
It is obviously no longer true.
-
- Feb 23, 2013
-
-
Peter Eisentraut authored
Louis-Claude Canon and Josh Kupershmidt
-
- Feb 22, 2013
-
-
Alvaro Herrera authored
... as well a update copyrights statements to 2013. Noted by Thom Brown and Peter Geoghegan
-
Alvaro Herrera authored
This program relies on rm_desc backend routines and the xlogreader infrastructure to emit human-readable rendering of WAL records. Author: Andres Freund, with many reworks by Álvaro Reviewed (in a much earlier version) by Peter Eisentraut
-
- Feb 21, 2013
-
-
Tom Lane authored
There's still a lot of room for improvement, but it basically works, and we need this to be present before we can do anything much with the writable-foreign-tables patch. So let's commit it and get on with testing. Shigeru Hanada, reviewed by KaiGai Kohei and Tom Lane
-
- Feb 18, 2013
-
-
Peter Eisentraut authored
This generalizes the existing ALTER ROLE ... SET and ALTER DATABASE ... SET functionality to allow creating settings that apply to all users in all databases. reviewed by Pavel Stehule
-
- Feb 14, 2013
-
-
Peter Eisentraut authored
-
- Feb 11, 2013
-
-
Heikki Linnakangas authored
The reason this wasn't supported before was that GiST indexes need an increasing sequence to detect concurrent page-splits. In a regular WAL- logged GiST index, the LSN of the page-split record is used for that purpose, and in a temporary index, we can get away with a backend-local counter. Neither of those methods works for an unlogged relation. To provide such an increasing sequence of numbers, create a "fake LSN" counter that is saved and restored across shutdowns. On recovery, unlogged relations are blown away, so the counter doesn't need to survive that either. Jeevan Chalke, based on discussions with Robert Haas, Tom Lane and me.
-
- Feb 09, 2013
- Feb 08, 2013
-
-
Tom Lane authored
Improve description of the vacuum_freeze_table_age bug (it's much more serious than we realized at the time the fix was committed), and correct attribution of pg_upgrade -O/-o fix (Marti Raudsepp contributed that, but Bruce forgot to credit him in the commit log). No need to back-patch right now, it'll happen when the next set of release notes are prepared.
-
Peter Eisentraut authored
Instead of hardcoding a specific link, give a general link to the download section of the web site. This gives the user more download options and the sysadmins more flexibility. Also, the previously presented link didn't work for devel versions.
-
- Feb 06, 2013
-
-
Andrew Dunstan authored
Backpatch to release 9.2 Brar Piening and Noah Misch, reviewed by Craig Ringer.
-
- Feb 04, 2013
-
-
Tom Lane authored
This function was misdeclared to take cstring when it should take internal. This at least allows crashing the server, and in principle an attacker might be able to use the function to examine the contents of server memory. The correct fix is to adjust the system catalog contents (and fix the regression tests that should have caught this but failed to). However, asking users to correct the catalog contents in existing installations is a pain, so as a band-aid fix for the back branches, install a check in enum_recv() to make it throw error if called with a cstring argument. We will later revert this in HEAD in favor of correcting the catalogs. Our thanks to Sumit Soni (via Secunia SVCRP) for reporting this issue. Security: CVE-2013-0255
-
Tom Lane authored
-
Simon Riggs authored
Revert commit 84725aa5
-
Simon Riggs authored
If walsender has xmin of standby then ensure we reset the value to 0 when we change from hot_standby_feedback=on to hot_standby_feedback=off.
-
- Feb 03, 2013
-
-
Tom Lane authored
This patch changes pg_get_viewdef() and allied functions so that PRETTY_INDENT processing is always enabled. Per discussion, only the PRETTY_PAREN processing (that is, stripping of "unnecessary" parentheses) poses any real forward-compatibility risk, so we may as well make dump output look as nice as we safely can. Also, set the default wrap length to zero (i.e, wrap after each SELECT or FROM list item), since there's no very principled argument for the former default of 80-column wrapping, and most people seem to agree this way looks better. Marko Tiikkaja, reviewed by Jeevan Chalke, further hacking by Tom Lane
-
Peter Eisentraut authored
This is intended so that say plpy.debug(rv) prints something useful for debugging query execution results. reviewed by Steve Singer
-
- Feb 02, 2013
-
-
Tom Lane authored
This eases manipulation of query results in psql scripts. Pavel Stehule, reviewed by Piyush Newe, Shigeru Hanada, and Tom Lane
-
Tom Lane authored
In the previous coding, psql's state variable saying that output should go to a file was only reset after successful completion of a query returning tuples. Thus for example, regression=# select 1/0 regression-# \g somefile ERROR: division by zero regression=# select 1/2; regression=# ... huh, I wonder where that output went. Even more oddly, the state was not reset even if it's the file that's causing the failure: regression=# select 1/2 \g /foo /foo: Permission denied regression=# select 1/2; /foo: Permission denied regression=# select 1/2; /foo: Permission denied This seems to me not to satisfy the principle of least surprise. \g is certainly not documented in a way that suggests its effects are at all persistent. To fix, adjust the code so that the flag is reset at exit from SendQuery no matter what happened. Noted while reviewing the \gset patch, which had comparable issues. Arguably this is a bug fix, but I'll refrain from back-patching for now.
-
Simon Riggs authored
Following bug analysis of #7819 by Tom Lane
-
Peter Eisentraut authored
-
- Feb 01, 2013
-
-
Peter Eisentraut authored
This is specified in the SQL standard. The CREATE RECURSIVE VIEW specification is transformed into a normal CREATE VIEW statement with a WITH RECURSIVE clause. reviewed by Abhijit Menon-Sen and Stephen Frost
-
- Jan 31, 2013
-
-
Bruce Momjian authored
Mention it might be necessary to modify postgresql.conf in the new cluster to match the old cluster. Backpatch to 9.2. Suggested by user.
-
Tatsuo Ishii authored
The new option specifies length of aggregation interval (in seconds). May be used only together with -l. With this option, the log contains per-interval summary (number of transactions, min/max latency and two additional fields useful for variance estimation). Patch contributed by Tomas Vondra, reviewed by Pavel Stehule. Slight change by Tatsuo Ishii, suggested by Robert Hass to emit an error message indicating that the option is not currently supported on Windows.
-
- Jan 30, 2013
-
-
Peter Eisentraut authored
By setting the environment variable PG_REGRESS_DIFF_OPTS, custom diff options can be passed. reviewed by Jeevan Chalke
-
- Jan 29, 2013
-
-
Tom Lane authored
This patch addresses the problem that applications currently have to extract object names from possibly-localized textual error messages, if they want to know for example which index caused a UNIQUE_VIOLATION failure. It adds new error message fields to the wire protocol, which can carry the name of a table, table column, data type, or constraint associated with the error. (Since the protocol spec has always instructed clients to ignore unrecognized field types, this should not create any compatibility problem.) Support for providing these new fields has been added to just a limited set of error reports (mainly, those in the "integrity constraint violation" SQLSTATE class), but we will doubtless add them to more calls in future. Pavel Stehule, reviewed and extensively revised by Peter Geoghegan, with additional hacking by Tom Lane.
-
Heikki Linnakangas authored
Beyond 21474, the number of accounts exceed the range for int4. Change the initialization code to use bigint for account id columns when scale is large enough, and switch to using int64s for the variables in pgbench code. The threshold where we switch to bigints is set at 20000, because that's easier to remember and document than 21474, and ensures that there is some headroom when int4s are used. Greg Smith, with various changes by Euler Taveira de Oliveira, Gurjeet Singh and Satoshi Nagayasu.
-