SlideShare a Scribd company logo
PostgreSQL 9 Administration Cookbook - Second
Edition Simon Riggs download
https://textbookfull.com/product/postgresql-9-administration-
cookbook-second-edition-simon-riggs/
Download more ebook from https://textbookfull.com
We believe these products will be a great fit for you. Click
the link to download now, or visit textbookfull.com
to discover even more!
PostgreSQL 10 Administration Cookbook Over 165
effective recipes for database management and
maintenance in PostgreSQL 10 4th Edition Simon Riggs
https://textbookfull.com/product/postgresql-10-administration-
cookbook-over-165-effective-recipes-for-database-management-and-
maintenance-in-postgresql-10-4th-edition-simon-riggs/
Learn PostgreSQL - Second Edition -.-
https://textbookfull.com/product/learn-postgresql-second-edition/
PostgreSQL Server Programming - Second Edition Dar
https://textbookfull.com/product/postgresql-server-programming-
second-edition-dar/
Public administration in Canada Second Edition Barker
https://textbookfull.com/product/public-administration-in-canada-
second-edition-barker/
The Conference of the Birds: Miss Peregrine's Peculiar
Children 1st Edition Ransom Riggs [Riggs
https://textbookfull.com/product/the-conference-of-the-birds-
miss-peregrines-peculiar-children-1st-edition-ransom-riggs-riggs/
PostgreSQL High Availability Cookbook Master over 100
recipes to design and implement a highly available
server with the advanced features of PostgreSQL 2nd
Edition Shaun M. Thomas
https://textbookfull.com/product/postgresql-high-availability-
cookbook-master-over-100-recipes-to-design-and-implement-a-
highly-available-server-with-the-advanced-features-of-
postgresql-2nd-edition-shaun-m-thomas/
ElasticSearch Cookbook, Second Edition Alberto Paro
https://textbookfull.com/product/elasticsearch-cookbook-second-
edition-alberto-paro/
Flutter Cookbook - Second Edition Simone Alessandria
https://textbookfull.com/product/flutter-cookbook-second-edition-
simone-alessandria/
Windows Server 2016 cookbook Second Edition Krause
https://textbookfull.com/product/windows-server-2016-cookbook-
second-edition-krause/
PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs
PostgreSQL 9 Administration
Cookbook Second Edition
Table of Contents
PostgreSQL 9 Administration Cookbook Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Sections
Getting ready
How to do it…
How it works…
There's more…
See also
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. First Steps
Introduction
Introducing PostgreSQL 9
What makes PostgreSQL different?
Robustness
Security
Ease of use
Extensibility
Performance and concurrency
Scalability
SQL and NoSQL
Popularity
Commercial support
Research and development funding
Getting PostgreSQL
How to do it…
How it works…
There's more…
Connecting to the PostgreSQL server
Getting ready
How to do it…
How it works…
There's more…
See also
Enabling access for network/remote users
How to do it…
How it works…
There's more…
See also
Using graphical administration tools
How to do it…
How it works…
There's more…
See also
Using the psql query and scripting tool
Getting ready
How to do it…
How it works…
There's more…
See also
Changing your password securely
How to do it…
How it works…
Avoiding hardcoding your password
Getting ready
How to do it…
How it works…
There's more…
Using a connection service file
How to do it…
How it works…
Troubleshooting a failed connection
How to do it…
There's more…
2. Exploring the Database
Introduction
What version is the server?
How to do it…
How it works…
There's more…
What is the server uptime?
How to do it…
How it works…
See also
Locating the database server files
Getting ready
How to do it…
How it works…
There's more…
Locating the database server's message log
Getting ready
How to do it…
How it works…
There's more…
Locating the database's system identifier
Getting ready
How to do it…
How it works…
Listing databases on this database server
How to do it…
How it works…
There's more…
How many tables in a database?
How to do it…
How it works…
There's more…
How much disk space does a database use?
How to do it…
How it works…
How much disk space does a table use?
How to do it…
How it works…
There's more…
Which are my biggest tables?
How to do it…
How it works…
How many rows in a table?
How to do it…
How it works…
Quickly estimating the number of rows in a table
How to do it…
How it works…
There's more…
Function 1 – estimating the number of rows
Function 2 – computing the size of a table without locks
Listing extensions in this database
Getting ready
How to do it…
How it works…
There's more…
Understanding object dependencies
Getting ready
How to do it…
How it works…
There's more…
3. Configuration
Introduction
Reading The Fine Manual (RTFM)
How to do it…
How it works…
There's more…
Planning a new database
Getting ready
How to do it…
How it works…
There's more…
Changing parameters in your programs
How to do it…
How it works…
There's more…
Finding the current configuration settings
How to do it…
There's more…
How it works…
Which parameters are at nondefault settings?
How to do it…
How it works…
There's more…
Updating the parameter file
Getting ready
How to do it…
How it works…
There's more…
Setting parameters for particular groups of users
How to do it…
How it works…
The basic server configuration checklist
Getting ready
How to do it…
There's more…
Adding an external module to PostgreSQL
Getting ready
How to do it…
Installing modules using a software installer
Installing modules from PGXN
Installing modules from a manually downloaded package
Installing modules from source code
How it works…
Using an installed module
Getting ready
How to do it…
Using the extension infrastructure
Without the extension infrastructure
How it works…
There's more…
Managing installed extensions
Getting ready
How to do it…
How it works…
There's more…
4. Server Control
Introduction
Starting the database server manually
Getting ready
How to do it…
How it works…
Stopping the server safely and quickly
How to do it…
How it works…
See also
Stopping the server in an emergency
How to do it…
How it works…
Reloading the server configuration files
How to do it…
How it works…
There's more…
Restarting the server quickly
How to do it…
There's more…
Preventing new connections
How to do it…
How it works…
Restricting users to only one session each
How to do it…
How it works…
Pushing users off the system
How to do it…
How it works…
Deciding on a design for multitenancy
How to do it…
How it works…
Using multiple schemas
Getting ready
How to do it…
How it works…
Giving users their own private database
Getting ready
How to do it…
How it works…
There's more…
See also
Running multiple servers on one system
Getting ready
How to do it…
How it works…
Setting up a connection pool
Getting ready
How to do it…
How it works…
There's more…
Accessing multiple servers using the same host and port
Getting ready
How to do it…
There's more…
5. Tables and Data
Introduction
Choosing good names for database objects
Getting ready
How to do it…
There's more…
Handling objects with quoted names
Getting ready
How to do it…
How it works…
There's more…
Enforcing the same name and definition for columns
Getting ready
How to do it…
How it works…
There's more…
Identifying and removing duplicates
Getting ready
How to do it…
How it works…
There's more…
Preventing duplicate rows
Getting ready
How to do it…
How it works…
There's more…
Duplicate indexes
Uniqueness without indexes
Real-world example – IP address range allocation
Real-world example – range of time
Real-world example – prefix ranges
Finding a unique key for a set of data
Getting ready
How to do it…
How it works…
Generating test data
How to do it…
How it works…
There's more…
See also
Randomly sampling data
How to do it…
How it works…
Loading data from a spreadsheet
Getting ready
How to do it…
How it works…
There's more…
Loading data from flat files
Getting ready
How to do it…
How it works…
There's more…
6. Security
Introduction
Typical user role
The PostgreSQL superuser
How to do it…
How it works…
There's more…
Other superuser-like attributes
Attributes are never inherited
See also
Revoking user access to a table
Getting ready
How to do it…
How it works…
There's more…
Database creation scripts
Default search path
Securing views
Granting user access to a table
Getting ready
How to do it…
How it works…
There's more…
Access to the schema
Granting access to a table through a group role
Granting access to all objects in a schema
Creating a new user
Getting ready
How to do it…
How it works…
There's more…
Temporarily preventing a user from connecting
Getting ready
How to do it…
How it works…
There's more…
Limiting the number of concurrent connections by a user
Forcing NOLOGIN users to disconnect
Removing a user without dropping their data
Getting ready
How to do it…
How it works…
Checking whether all users have a secure password
How to do it…
How it works…
Giving limited superuser powers to specific users
Getting ready
How to do it…
How it works…
There's more…
Writing a debugging_info function for developers
Auditing DDL changes
Getting ready
How to do it…
How it works…
There's more…
Was the change committed?
Who made the change?
Can I find this information from the database?
You may still miss some DDL…
Auditing data changes
Getting ready
How to do it…
Collecting data changes from the server log
Collecting changes using triggers
Using a single audit trigger to collect changes from multiple
tables
Collecting changes using triggers and saving them in another
database using dblink or plproxy
Always knowing which user is logged in
Getting ready
How to do it…
How it works…
There's more…
Not inheriting the user attributes
Integrating with LDAP
Getting ready
How to do it…
How it works…
There's more…
Setting up the client to use LDAP
Replacement for the User Name Map feature
See also
Connecting using SSL
Getting ready
How to do it…
How it works…
There's more…
Getting the SSL key and certificate
Setting up a client to use SSL
Checking server authenticity
Using SSL certificates to authenticate the client
Getting ready
How to do it…
How it works…
There's more…
Avoiding duplicate SSL connection attempts
Using multiple client certificates
Using the client certificate to select the database user
See also
Mapping external usernames to database roles
Getting ready
How to do it…
How it works…
There's more…
Encrypting sensitive data
Getting ready
How to do it…
How it works…
There's more…
For really sensitive data
For really, really, really sensitive data!
See also
7. Database Administration
Introduction
Writing a script that either succeeds entirely or fails entirely
How to do it…
How it works…
There's more…
Writing a psql script that exits on the first error
Getting ready
How to do it…
How it works…
There's more…
Performing actions on many tables
Getting ready
How to do it…
How it works…
There's more…
Using pg_batch to run tasks in parallel
Adding/removing columns on a table
How to do it…
How it works…
There's more…
Changing the data type of a column
Getting ready
How to do it…
How it works…
There's more…
Changing the definition of a data type
Getting ready
How to do it…
How it works…
There's more…
Adding/removing schemas
How to do it…
There's more…
Using schema-level privileges
Moving objects between schemas
How to do it…
How it works…
There's more…
Adding/removing tablespaces
Getting ready
How to do it…
How it works…
There's more…
Putting pg_xlog on a separate device
Tablespace-level tuning
Moving objects between tablespaces
Getting ready
How to do it…
How it works…
There's more…
Accessing objects in other PostgreSQL databases
Getting ready
How to do it…
How it works…
There's more…
There's more…
Accessing objects in other foreign databases
Getting ready
How to do it…
How it works…
There's more…
Updatable views
Getting ready
How to do it…
How it works…
There's more…
Using materialized views
Getting ready
How to do it…
How it works…
There's more…
8. Monitoring and Diagnosis
Introduction
Providing PostgreSQL information to monitoring tools
Finding more information about generic monitoring tools
Real-time viewing using pgAdmin
Checking whether a user is connected
Getting ready
How to do it…
How it works…
There's more…
What if I want to know whether that computer is connected?
What if I want to repeatedly execute a query in psql?
Checking which queries are running
Getting ready
How to do it…
How it works…
There's more…
Catching queries which only run for a few milliseconds
Watching the longest queries
Watching queries from ps
See also
Checking which queries are active or blocked
Getting ready
How to do it…
How it works…
There's more…
No need for the = true part
This catches only queries waiting on locks
Knowing who is blocking a query
Getting ready
How to do it…
How it works…
Killing a specific session
How to do it…
How it works…
There's more…
Trying to cancel the query first
What if the backend won't terminate?
Using statement timeout to clean up queries that take too
long to run
Killing Idle in transaction queries
Killing the backend from the command line
Detecting an in-doubt prepared transaction
How to do it…
Knowing whether anybody is using a specific table
Getting ready
How to do it…
How it works…
There's more…
The quick and dirty way
Collecting daily usage statistics
Knowing when a table was last used
Getting ready
How to do it…
How it works…
There's more…
Usage of disk space by temporary data
Getting ready
How to do it…
How it works…
There's more…
Finding out whether a temporary file is in use any more
Logging temporary file usage
Understanding why queries slow down
Getting ready
How to do it…
How it works…
There's more…
Do the queries return significantly more data than they did
earlier?
Do the queries also run slowly when they are run alone?
Is the second run of the same query also slow?
Table and index bloat
See also
Investigating and reporting a bug
Getting ready
How to do it…
How it works…
Producing a daily summary of log file errors
Getting ready
How to do it…
How it works…
There's more…
See also
Analyzing the real-time performance of your queries
Getting ready
How to do it…
How it works…
There's more…
9. Regular Maintenance
Introduction
Controlling automatic database maintenance
Getting ready
How to do it…
How it works…
There's more…
See also
Avoiding auto-freezing and page corruptions
Getting ready
How to do it…
There's more…
Avoiding transaction wraparound
Getting ready
How to do it…
How it works…
There's more…
See also
Removing old prepared transactions
Getting ready
How to do it…
How it works…
There's more…
Actions for heavy users of temporary tables
How to do it…
How it works…
Identifying and fixing bloated tables and indexes
How to do it…
How it works…
There's more…
Maintaining indexes
Getting ready
How to do it…
How it works…
There's more…
See also
Adding a constraint without checking existing rows
Getting ready
How to do it…
There's more…
Finding unused indexes
How to do it…
How it works…
Carefully removing unwanted indexes
How to do it…
How it works…
Planning maintenance
How to do it…
How it works…
10. Performance and Concurrency
Introduction
Finding slow SQL statements
Getting ready
How to do it…
See also
Collecting regular statistics from pg_stat* views
Getting ready
How to do it…
How it works…
There's more…
Another statistics collection package
Finding out what makes SQL slow
How to do it…
There's more…
The query returns too much data
Locking problems
Not enough CPU power or disk I/O capacity for the current
load
EXPLAIN options
See also
Reducing the number of rows returned
How to do it…
There's more…
Simplifying complex SQL queries
Getting ready
How to do it…
There's more…
Using materialized views (long-living, temporary tables)
Using set-returning functions for some parts of queries
Speeding up queries without rewriting them
How to do it…
There's more…
In case of many updates, set fillfactor on the table
Rewriting the schema – a more radical approach
Why a query is not using an index
How to do it…
Forcing a query to use an index
Getting ready
How to do it…
There's more…
Using optimistic locking
How to do it…
How it works…
There's more…
Reporting performance problems
How to do it…
There's more…
11. Backup and Recovery
Introduction
Understanding and controlling crash recovery
How to do it…
How it works…
There's more…
Planning backups
How to do it…
Hot logical backup of one database
How to do it…
How it works…
There's more…
See also
Hot logical backup of all databases
How to do it…
How it works…
See also
Hot logical backup of all tables in a tablespace
How to do it…
How it works…
Backup of database object definitions
How to do it…
There's more…
Standalone hot physical database backup
How to do it…
How it works…
There's more…
See also
Hot physical backup and continuous archiving
Getting ready
How to do it…
How it works…
Recovery of all databases
Getting ready
How to do it…
Logical – from the custom dump taken with pg_dump -F c
Logical – from the script dump created by pg_dump –F p
Logical – from the script dump created by pg_dumpall
Physical
How it works…
There's more…
See also
Recovery to a point in time
Getting ready
How to do it…
How it works…
There's more…
See also
Recovery of a dropped/damaged table
How to do it…
Logical – from the custom dump taken with pg_dump -F c
Logical – from the script dump
Physical
How it works…
See also
Recovery of a dropped/damaged tablespace
How to do it…
Logical – from the custom dump taken with pg_dump -F c
Logical – from the script dump
Physical
There's more…
Recovery of a dropped/damaged database
How to do it...
Logical – from the custom dump -F c
Logical – from the script dump created by pg_dump
Logical – from the script dump created by pg_dumpall
Physical
Improving performance of backup/recovery
Getting ready
How to do it…
How it works…
There's more…
See also
Incremental/differential backup and restore
How to do it…
How it works…
There's more…
Hot physical backups with Barman
Getting ready
How to do it…
How it works…
There's more…
Recovery with Barman
Getting ready
How to do it…
How it works…
There's more…
12. Replication and Upgrades
Introduction
Replication concepts
Topics
Basic concepts
History and scope
Practical aspects
Data loss
Single-master replication
Multinode architectures
Clustered or massively parallel databases
Multimaster replication
Scalability tools
Other approaches to replication
Replication best practices
How to do it…
There's more…
Setting up file-based replication – deprecated
Getting ready
How to do it…
How it works…
There's more…
See also
Setting up streaming replication
Getting ready
How to do it…
How it works…
There's more…
Setting up streaming replication security
Getting ready
How to do it…
How it works…
There's more…
Hot Standby and read scalability
Getting ready
How to do it…
How it works…
Managing streaming replication
Getting ready
How to do it…
There's more…
See also
Using repmgr
Getting ready
How to do it…
How it works…
There's more…
Using Replication Slots
Getting ready
How to do it…
There's more…
See also
Monitoring replication
Getting ready
How to do it…
There's more…
Performance and Synchronous Replication
Getting ready
How to do it…
How it works…
There's more…
Delaying, pausing, and synchronizing replication
Getting ready
How to do it…
There's more…
Logical Replication
Getting ready
How to do it…
How it works…
There's more…
See also
Bi-Directional Replication
Getting ready
How to do it…
How it works…
There's more…
Archiving transaction log data
Getting ready
How to do it…
There's more…
See also
Upgrading – minor releases
Getting ready
How to do it…
How it works…
Major upgrades in-place
Getting ready
How to do it…
How it works…
Major upgrades online
How to do it…
How it works…
Index
PostgreSQL 9 Administration
Cookbook Second Edition
PostgreSQL 9 Administration
Cookbook Second Edition
Copyright © 2015 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored
in a retrieval system, or transmitted in any form or by any means,
without the prior written permission of the publisher, except in the
case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure
the accuracy of the information presented. However, the information
contained in this book is sold without warranty, either express or
implied. Neither the authors, nor Packt Publishing, and its dealers
and distributors will be held liable for any damages caused or
alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information
about all of the companies and products mentioned in this book by
the appropriate use of capitals. However, Packt Publishing cannot
guarantee the accuracy of this information.
First published: October 2010
Second edition: April 2015
Production reference: 1280415
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84951-906-9
www.packtpub.com
Exploring the Variety of Random
Documents with Different Content
"Oh! Not long since," said Miss Grig casually, carelessly,
victoriously. "I must leave you now. I think I've had all my own
things removed, and I hope nothing that belongs to you. If there's
anything wrong, or anything I can do, will you write to Mr. Farjiac?"
She smiled gravely, steadily, and shook hands; and carried off
her grief, her frustration, her ever-lasting tragedy, safe and intact
and with pomp away from the poor, pretty little chit whom destiny
had chosen to be the instrument of devastation.
Lilian sat dulled. The keys of the house lay beside the damp and
creased club necktie. She heard a taxi arrive and the door bang and
the taxi depart. A hot, dry, mournful wind of the summer night blew
the curtains with a swish suddenly inwards and made Lilian shiver.
Ah! What would she not have given for an endless, tearful, sobbing
talk with the only other creature on earth who had worshipped Felix?
How she would have confessed, abased herself, accused herself,
excused herself, abandoned herself, uncovered her inmost soul, at
the signal of one soft word from Isabel Grig! Hellish pride! Hellish
implacable rancour! Glutton of misery! The woman had not even
offered a syllable of goodwill for the welfare of the coming baby!
Nevertheless, Lilian's heart was breaking for Isabel Grig. Who could
blame Isabel? Or who Lilian? The situation inevitably arising from
their characters and from the character of the dead man had
overpowered both of them. Lilian thought of the neglected grave,
and of the courtesan's prayer, "Eternal peace! No emotions!
Stretched straight out. Quiet for ever and ever! Eternal peace!" In
the indulgence of grief and depression she wanted to keep that
thought. But she could not. She was too young and too strong, and
the edges of the dangerous future were iridescent.
III
The Lieutenant
Lilian slept heavily and without moving, and when the parlourmaid
aroused her with more tea at nine o'clock according to order, she
drank half the first cup before the process of waking was complete.
Her mind had been running jerkily:
"So she actually went all that way to see his grave. And I
haven't seen the stone myself. Of course Felix wrote to her when he
was getting better, and told her he was going to marry me. That's
how she must have first known I was out there with him. He wrote
on purpose to tell her. And she went all that way to see my darling's
grave, and never said a word to me! It's her feeling for Felix makes
her so cruel, poor thing! Oh! But she's so hard, hard! Well, I could
never be hard like that--I don't care what happened. And it won't
make her any happier."
The parlourmaid returned with a parcel.
"Oh yes, I know what that is," said Lilian. "Just cut the string
and put it down here, will you?"
"Miss Jackson is waiting to see you'm. Will you see her or shall I
ask her to call to-night?"
"Miss Jackson!" Lilian exclaimed, agitated by the swiftness of
the sequence of events. "Has she been waiting long?"
"No'm. Only about twenty minutes."
"Why didn't you tell me before?"
"I thought you ought to have your tea quiet'm."
"How nice of you!" said Lilian, with a weak, acquiescent smile.
"But do ask her to come in here now. She won't mind me being in
bed, will she?"
"I should hope not'm," said the parlourmaid, pawing the
ground.
Lilian pushed her lustreless hair out of her eyes. The sun was
shining on part of the tumbled bed. Then Gertie Jackson came in.
Absolutely unchanged! The same neat, provincial, Islingtonian
toilette. The same serious, cheerful, ingenuous gaze. The same
unmarred complexion. The same upright pose and throwing back of
the shoulders in unconscious rectitude and calm intention to front
courageously the difficulties of the day. The same mingling of self-
respect and deference. She bent over the bed; Lilian held up her
face like a child with mute invitation, and Gertie kissed her. What a
fresh, honest, innocent, ignorant kiss on Lilian's hot, wasted,
experienced cheek!
"You poor thing!" Gertrude murmured devotedly.
"I'm seven months gone nearly," Lilian murmured, as if in
despair.
"Well, it'll soon be over, then!" said Gertie buoyantly, in a
matter-of-fact tone.
"Yes, but shall I ever again be like I was?" Lilian demanded
gloomily.
"Of course you will, dear. And prettier. They almost always are,
you know. I've often noticed it."
"You dear!" cried Lilian, "and do you mean to say you've got up
earlier and come all the way down from Islington here to see me
before going to the office? And me keeping you waiting!"
"Why! But of course I came. I'm responsible to you, now poor
Miss Grig's gone. I told her I would be. And I can't tell you how glad
I shall be if I suit you and you find you can keep me on. It's such a
good situation."
Lilian lifted her face again and kissed her--but not the kiss of
gratitude (though there was gratitude in it), the kiss of recompense,
of reward. It was Lilian who, in allowing herself to be faithfully
served, was conferring the favour. Gertrude was the eternal
lieutenant, without ambition, without dreams, asking only to serve
with loyalty in security. In that moment Lilian understood as never
before the function of these priceless Gertrudes whose first instinct
when they lost one master was to attach themselves to another.
"Look here!" said Lilian. "D'you know what I want? I want you
to come and live here till it's over."
"Of course I will," Gertrude agreed, eagerly ready to abandon
her domestic habits and interior for as long as she was required to
do so, and to resume them whenever it might suit Lilian's
convenience. And all because Lilian had been beautiful and
successful, and would be beautiful and successful once more!
"You must come to-night, will you?" Lilian insisted, transformed
in a moment into the spoilt and exacting queen.
Gertrude nodded, brightly beaming.
"I do so want to talk to you," Lilian went on. "I've had nobody
to talk to for--I mean like you. D'you know, Felix would have been
alive now if it hadn't been for me." She burst into tears, and then,
recovering, began an interminable detailed recital of events on the
Riviera, coupled with a laudation of Felix. She revelled in it, and was
shameless, well aware that Gertrude would defend her against
herself. The relief which she felt was intense.
At the end of half an hour, when the torrent had slackened,
Gertrude said:
"I really think I'd better be going now. What time would you like
me to come to-night? I'm quite free because I'm not taking night
duty this week. It's Milly's week." And as she was leaving she turned
back rather nervously to the bed. "D'you mind me suggesting one
thing? I wouldn't have you over-tire yourself; but if you could just
show yourself at the office, I feel it would be such a good thing for
all of us. The girls would understand then who the new employer is.
Some of them are very stupid, you know. If you could just show
yourself--a quarter of an hour. It's for your own sake, dear."
"As I am? I mean--you know----"
"Why not?"
"But would they----"
"Of course not," blandly and firmly decided Gertrude, who had
been brought up in Islington, where the enterprise of procreation
proceeds on an important scale and in a straightforward spirit.
Strange that in Gertrude's virginal mentality such realism could
coexist with such innocent ingenuousness! But it was so.
When Gertrude had left, Lilian opened the parcel. It was from
Dr. Samson and contained two books recommended and promised
by him about preparing for motherhood, and motherhood, and
cognate matters. The mere titles of the chapters entranced her.
IV
The New Employer
Appreciably less than a year had passed since she went down those
office stairs, thrust out by the implacable jealousy of Miss Grig, and
yet in that short time the stairs had shrunk and become most
painfully dingy. The sight of them saddened her; she wondered how
it was that their squalor had not affected her before. She felt acutely
sorry for the girl named Lilian Share who in the previous autumn
used easily to run up them from bottom to top, urged by the
consciousness of being late. Now she had to take the second flight
very slowly. The door opened as she reached it, and Gertie Jackson
emerged to usher her in. A dozen pairs of ears had been listening for
her arrival. The doors of both the large and the small rooms were
ajar, and she had glimpses of watching faces as she went with
Gertrude into the principal's room. She was intensely nervous and
self-conscious. Gertrude explained that Miss Grig had installed her in
the principal's room months ago, and Lilian said that that was quite
right, and Gertrude said that she had hoped Lilian would approve.
Tea was laid on one of the desks, a dainty tea, such a tea as
Lilian had never seen in the office, with more pastry than even two
girls could eat who had had no lunch and expected no dinner; an
extravagant display. Then a flapper entered with the tea-pot and the
hot-water jug, and Lilian smiled at her, and the flapper blushed and
smiled and tossed her winged pigtail. The flapper had a shabby air.
Lilian could swallow only one cake because Gertrude was sitting
where Felix had sat when he first told her what she might do and
ought to do with herself.
"I am so glad you've come!" said Gertrude, in a sort of rapture.
"Yes," Lilian agreed with dignity. "I was bound to come, of
course."
She felt wise and mature and tremendously aware of her
responsibilities; and she intended to remain so. Nobody should be
able to say of her that she had lost her head or that she was silly or
weak or in any way unequal to her situation. Above all, Miss Grig
should be forced to continue to respect her.
"I suppose I'd better just go and see them all now," she
suggested, after more tea.
"They'd be delighted if you would," said Gertrude, as if the thing
had not already been arranged.
Naturally Lilian honoured the small room first. The three
inhabitants of the small room--two of them were unknown to her--
sprang up, flattered, ruffled, flustered, excited, at her entrance.
There she stood, the marvellous, the semi-legendary Lilian, who had
captured the aristocratic master, run off with him to the Continent,
married him, buried him, inherited all his possessions, and was soon
going to have a baby. Her famous beauty was under eclipse, her
famous figure had grown monstrous beyond any possible
concealment; but she was still marvellous. She was the most
romantic figure that those girls had ever seen; she was all picture-
paper serials and cinema films rolled together and come to life and
reality. Her prestige was terrific. She felt it and knew it and acted on
it. How pathetically common the girls were, how slave-like! How
cheap their frocks! How very small the room (but evidently it had
been tidied for her visit)! She recognized one of the old Underwoods
by a dent in its frame, and remembered the stain on one of the
green lampshades, and the peculiarities of the woodwork of the
absurdly small mirror. She was touched; she might have wept a little,
but her great pride--in her achievement, in her position, in her
condition, even in her tragic sorrow--upheld her safely. Tenderly
invited to sit down, she sat down, and she put expert questions, to
the wonderment of practising typists, thus proving that she was not
proud. And then with gracious adieux she proceeded to the large
room where, though her stay was (properly) more brief, she created
still more sensation. In the large room she surprised one or two
surreptitious exchanges of glance betraying a too critical awareness
on the part of some that she had sinned against the code and
perhaps only saved herself by the skin of her teeth. These unkind
exhibitions did not trouble her in the least. The demeanour of the
more serious and best-paid girls showed absolutely no arrière
pensée, and better than anybody else they knew what was what in
the real world. Gertrude Jackson, the honest soul of purity, already
adored her employer.
As these two were returning to the principal's room the
entrance-door opened and Millicent Merrislate burst breathlessly in.
"How splendid!" exclaimed Gertrude.
She had sent a special message to Milly, and Milly for a sight of
her new mistress had got up and come to the office two hours
earlier than her official time. Lilian was amazed and very pleased.
She remembered that she had once spent at any rate one night of
toil in perfect friendliness with the queer, flat, cattish Millicent; and
now she insisted on Milly helping them to eat cakes in the sacred
room. The scene was idyllic. A little later Lilian, having arranged the
details of Gertrude's temporary removal to Montpelier Square,
announced that she must go, on account of some important
shopping. Gertrude, sternly watchful against undue fatigue for Lilian,
raised her eyebrows at the mention of shopping, but Lilian reassured
her. A taxi was fetched by the flapper-of-all-work, and, noticing then
for the first time that the road repairs in the neighbourhood were all
finished, and every trace of them vanished, Lilian gave the driver an
address in Piccadilly. Several girls were watching her departure from
the windows; her upward glance caught them in the act, and the
heads disappeared sharply within.
"They are all working for me!" she thought with complacency,
and could scarcely believe the wonderful thing.
V
Layette
The pride of her reception in Clifford Street wafted her easily up the
somewhat austere stairs of the first floor establishment in Piccadilly.
She had long been familiar with the face of the commissionaire, and
the brass signs, of this mysterious shop, but never till the leading
word attracted her eyes as she was driving from Montpelier Square
to Clifford Street had it occurred to her what the word signified. The
deceiving staircase led to splendid rooms, indicating that the renown
of the establishment could not be spurious. A bright and rosy young
woman came smilingly forward and gave Lilian a chair. One other
customer, a stout lady with her back to the world, was being served
in a distant corner. A marvellous calm reigned, and the noise of
Piccadilly seemed to beat vainly against the high, curtained windows.
"Layettes?" Lilian began questioningly, with a strange exultation.
The aspect of the interior had revived her taste for luxury while
giving it a new direction.
"Yes, madam."
The esoteric conversation was engaged. Lilian sat entranced by
the fineness and the diminutiveness and the disconcerting elegance
of the display ranged abroad for her on the glass counter. She was
glad that through culpable sloth she had done absolutely nothing as
yet with her own needle. It was the books from Dr. Samson that had
aroused her to the need for action of some sort, for she had had no
wise woman to murmur in her eager ear the traditions and the
Spanish etiquette of centuries of civilized maternity.
"I shall bring Gertie to see these to-morrow," she thought. "It
will please her frightfully to come, and she'll stop me from being too
extravagant. Only I must arrange it so that her work won't be
interfered with. Perhaps at lunch time. Never do to upset discipline
right at the start!"
And she asked to see still more stock. The articles stimulated
her memory and her imagination into a kind of tranquil and yet
rapturous contemplation of the events, voluptuous, tender and
tragic, which had set her where she was. The thrill of conception,
the long patience of gestation, the coming terror of labour mingled
all together in her now mystical mind. Her destiny had been
changed, or at least it was gravely diverted. Instead of glittering in
public as the lovely darling and blossom of luxurious civilization, and
in private rendering a man to the highest possible degree happy--
instead of this she was secretly and obscurely building a monument,
in her body and also in her heart, to Felix--Felix whom already she
had raised to be the perfect man, Felix who might have been alive
then if she had not one evening behaved like a child, or if his sense
of his duty towards her had not been so imperious. (Her
commonsense had at last cured her of regarding herself as his
murderess.) Whether she had loved him to the height of which she
was capable of passionate love was doubtful. But she had profoundly
admired him; she had been passionately grateful to him for his love
of her; and, come what might when her beauty was restored to its
empire, no other man could ever stand to her in the relation in
which Felix had stood. He had set his imprint upon her and created
her a woman. And so she was creating him a god.
All these movements of her brooding mind originated from the
spectacle of the articles on the counter. They did not prevent her
from discussing layettes with the bright, rosy, shop-girl. That
innocent, charming and unimaginative young creature fingered the
treasures with the casualness of use. For her layettes were layettes,
existing of and for themselves; they connoted nothing.
PRINTED IN ENGLAND BY CASSELL & COMPANY, LIMITED, LONDON, E.C.4.
――――
WORKS BY THE SAME AUTHOR
NOVELS
A Man from the North
Helen With the High Hand
Anna of the Five Towns
The Card
Leonora
The Regent
A Great Man
The Lion's Share
Sacred and Profane Love
Clayhanger
Whom God Hath Joined
Hilda Lessways
Buried Alive
These Twain
The Old Wives' Tale
The Roll Call
The Glimpse
The Pretty Lady
The Price of Love
Mr. Prohack
FANTASIAS
The Ghost
Teresa of Watling Street
The Grand Babylon Hotel
The Loot of Cities
The Gates of Wrath
Hugo
The City of Pleasure
SHORT STORIES
Tales of the Five Towns
The Grim Smile of the Five Towns
The Matador of the Five Towns
BELLES-LETTRES
Journalism for Women
Liberty
Fame and Fiction
Over There: War Scenes
How to Become an Author
Books and Persons
The Truth About an Author
Married Life
Mental Efficiency
The Author's Craft
How to Live on Twenty-four Hours a Day
Self and Self-Management
The Human Machine
From the Log of the "Velsa"
Literary Taste
Our Women
Friendship and Happiness
Things That Have Interested Me
Those United States
Paris Nights
DRAMA
Polite Farces
The Great Adventure
Cupid and Commonsense
Judith
What the Public Wants
Sacred and Profane Love
The Honeymoon
The Love Match
The Title
Body and Soul
Milestones (in collaboration with Edward Knoblock)
(In collaboration with Eden Phillpotts)
The Sinews of War: A Romance
The Statue: A Romance
*** END OF THIS PROJECT GUTENBERG EBOOK LILIAN ***
PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs
*** END OF THE PROJECT GUTENBERG EBOOK LILIAN ***
Updated editions will replace the previous one—the old editions
will be renamed.
Creating the works from print editions not protected by U.S.
copyright law means that no one owns a United States
copyright in these works, so the Foundation (and you!) can copy
and distribute it in the United States without permission and
without paying copyright royalties. Special rules, set forth in the
General Terms of Use part of this license, apply to copying and
distributing Project Gutenberg™ electronic works to protect the
PROJECT GUTENBERG™ concept and trademark. Project
Gutenberg is a registered trademark, and may not be used if
you charge for an eBook, except by following the terms of the
trademark license, including paying royalties for use of the
Project Gutenberg trademark. If you do not charge anything for
copies of this eBook, complying with the trademark license is
very easy. You may use this eBook for nearly any purpose such
as creation of derivative works, reports, performances and
research. Project Gutenberg eBooks may be modified and
printed and given away—you may do practically ANYTHING in
the United States with eBooks not protected by U.S. copyright
law. Redistribution is subject to the trademark license, especially
commercial redistribution.
START: FULL LICENSE
THE FULL PROJECT GUTENBERG LICENSE
PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK
To protect the Project Gutenberg™ mission of promoting the
free distribution of electronic works, by using or distributing this
work (or any other work associated in any way with the phrase
“Project Gutenberg”), you agree to comply with all the terms of
the Full Project Gutenberg™ License available with this file or
online at www.gutenberg.org/license.
Section 1. General Terms of Use and
Redistributing Project Gutenberg™
electronic works
1.A. By reading or using any part of this Project Gutenberg™
electronic work, you indicate that you have read, understand,
agree to and accept all the terms of this license and intellectual
property (trademark/copyright) agreement. If you do not agree
to abide by all the terms of this agreement, you must cease
using and return or destroy all copies of Project Gutenberg™
electronic works in your possession. If you paid a fee for
obtaining a copy of or access to a Project Gutenberg™
electronic work and you do not agree to be bound by the terms
of this agreement, you may obtain a refund from the person or
entity to whom you paid the fee as set forth in paragraph 1.E.8.
1.B. “Project Gutenberg” is a registered trademark. It may only
be used on or associated in any way with an electronic work by
people who agree to be bound by the terms of this agreement.
There are a few things that you can do with most Project
Gutenberg™ electronic works even without complying with the
full terms of this agreement. See paragraph 1.C below. There
are a lot of things you can do with Project Gutenberg™
electronic works if you follow the terms of this agreement and
help preserve free future access to Project Gutenberg™
electronic works. See paragraph 1.E below.
1.C. The Project Gutenberg Literary Archive Foundation (“the
Foundation” or PGLAF), owns a compilation copyright in the
collection of Project Gutenberg™ electronic works. Nearly all the
individual works in the collection are in the public domain in the
United States. If an individual work is unprotected by copyright
law in the United States and you are located in the United
States, we do not claim a right to prevent you from copying,
distributing, performing, displaying or creating derivative works
based on the work as long as all references to Project
Gutenberg are removed. Of course, we hope that you will
support the Project Gutenberg™ mission of promoting free
access to electronic works by freely sharing Project Gutenberg™
works in compliance with the terms of this agreement for
keeping the Project Gutenberg™ name associated with the
work. You can easily comply with the terms of this agreement
by keeping this work in the same format with its attached full
Project Gutenberg™ License when you share it without charge
with others.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside
the United States, check the laws of your country in addition to
the terms of this agreement before downloading, copying,
displaying, performing, distributing or creating derivative works
based on this work or any other Project Gutenberg™ work. The
Foundation makes no representations concerning the copyright
status of any work in any country other than the United States.
1.E. Unless you have removed all references to Project
Gutenberg:
1.E.1. The following sentence, with active links to, or other
immediate access to, the full Project Gutenberg™ License must
appear prominently whenever any copy of a Project
Gutenberg™ work (any work on which the phrase “Project
Gutenberg” appears, or with which the phrase “Project
Gutenberg” is associated) is accessed, displayed, performed,
viewed, copied or distributed:
This eBook is for the use of anyone anywhere in
the United States and most other parts of the
world at no cost and with almost no restrictions
whatsoever. You may copy it, give it away or re-
use it under the terms of the Project Gutenberg
License included with this eBook or online at
www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of
the country where you are located before using
this eBook.
1.E.2. If an individual Project Gutenberg™ electronic work is
derived from texts not protected by U.S. copyright law (does not
contain a notice indicating that it is posted with permission of
the copyright holder), the work can be copied and distributed to
anyone in the United States without paying any fees or charges.
If you are redistributing or providing access to a work with the
phrase “Project Gutenberg” associated with or appearing on the
work, you must comply either with the requirements of
paragraphs 1.E.1 through 1.E.7 or obtain permission for the use
of the work and the Project Gutenberg™ trademark as set forth
in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is
posted with the permission of the copyright holder, your use and
distribution must comply with both paragraphs 1.E.1 through
1.E.7 and any additional terms imposed by the copyright holder.
Additional terms will be linked to the Project Gutenberg™
License for all works posted with the permission of the copyright
holder found at the beginning of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files
containing a part of this work or any other work associated with
Project Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute
this electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the
Project Gutenberg™ License.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if
you provide access to or distribute copies of a Project
Gutenberg™ work in a format other than “Plain Vanilla ASCII” or
other format used in the official version posted on the official
Project Gutenberg™ website (www.gutenberg.org), you must,
at no additional cost, fee or expense to the user, provide a copy,
a means of exporting a copy, or a means of obtaining a copy
upon request, of the work in its original “Plain Vanilla ASCII” or
other form. Any alternate format must include the full Project
Gutenberg™ License as specified in paragraph 1.E.1.
1.E.7. Do not charge a fee for access to, viewing, displaying,
performing, copying or distributing any Project Gutenberg™
works unless you comply with paragraph 1.E.8 or 1.E.9.
1.E.8. You may charge a reasonable fee for copies of or
providing access to or distributing Project Gutenberg™
electronic works provided that:
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You provide a full refund of any money paid by a user who
notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.
• You provide, in accordance with paragraph 1.F.3, a full refund of
any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.E.9. If you wish to charge a fee or distribute a Project
Gutenberg™ electronic work or group of works on different
terms than are set forth in this agreement, you must obtain
permission in writing from the Project Gutenberg Literary
Archive Foundation, the manager of the Project Gutenberg™
trademark. Contact the Foundation as set forth in Section 3
below.
1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on,
transcribe and proofread works not protected by U.S. copyright
law in creating the Project Gutenberg™ collection. Despite these
efforts, Project Gutenberg™ electronic works, and the medium
on which they may be stored, may contain “Defects,” such as,
but not limited to, incomplete, inaccurate or corrupt data,
transcription errors, a copyright or other intellectual property
infringement, a defective or damaged disk or other medium, a
computer virus, or computer codes that damage or cannot be
read by your equipment.
1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except
for the “Right of Replacement or Refund” described in
paragraph 1.F.3, the Project Gutenberg Literary Archive
Foundation, the owner of the Project Gutenberg™ trademark,
and any other party distributing a Project Gutenberg™ electronic
work under this agreement, disclaim all liability to you for
damages, costs and expenses, including legal fees. YOU AGREE
THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT
LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT
EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE
THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY
DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE
TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL,
PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE
NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.
1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you
discover a defect in this electronic work within 90 days of
receiving it, you can receive a refund of the money (if any) you
paid for it by sending a written explanation to the person you
received the work from. If you received the work on a physical
medium, you must return the medium with your written
explanation. The person or entity that provided you with the
defective work may elect to provide a replacement copy in lieu
of a refund. If you received the work electronically, the person
or entity providing it to you may choose to give you a second
opportunity to receive the work electronically in lieu of a refund.
If the second copy is also defective, you may demand a refund
in writing without further opportunities to fix the problem.
1.F.4. Except for the limited right of replacement or refund set
forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’,
WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
1.F.5. Some states do not allow disclaimers of certain implied
warranties or the exclusion or limitation of certain types of
damages. If any disclaimer or limitation set forth in this
agreement violates the law of the state applicable to this
agreement, the agreement shall be interpreted to make the
maximum disclaimer or limitation permitted by the applicable
state law. The invalidity or unenforceability of any provision of
this agreement shall not void the remaining provisions.
1.F.6. INDEMNITY - You agree to indemnify and hold the
Foundation, the trademark owner, any agent or employee of the
Foundation, anyone providing copies of Project Gutenberg™
electronic works in accordance with this agreement, and any
volunteers associated with the production, promotion and
distribution of Project Gutenberg™ electronic works, harmless
from all liability, costs and expenses, including legal fees, that
arise directly or indirectly from any of the following which you
do or cause to occur: (a) distribution of this or any Project
Gutenberg™ work, (b) alteration, modification, or additions or
deletions to any Project Gutenberg™ work, and (c) any Defect
you cause.
Section 2. Information about the Mission
of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new
computers. It exists because of the efforts of hundreds of
volunteers and donations from people in all walks of life.
Volunteers and financial support to provide volunteers with the
assistance they need are critical to reaching Project
Gutenberg™’s goals and ensuring that the Project Gutenberg™
collection will remain freely available for generations to come. In
2001, the Project Gutenberg Literary Archive Foundation was
created to provide a secure and permanent future for Project
Gutenberg™ and future generations. To learn more about the
Project Gutenberg Literary Archive Foundation and how your
efforts and donations can help, see Sections 3 and 4 and the
Foundation information page at www.gutenberg.org.
Section 3. Information about the Project
Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-
profit 501(c)(3) educational corporation organized under the
laws of the state of Mississippi and granted tax exempt status
by the Internal Revenue Service. The Foundation’s EIN or
federal tax identification number is 64-6221541. Contributions
to the Project Gutenberg Literary Archive Foundation are tax
deductible to the full extent permitted by U.S. federal laws and
your state’s laws.
The Foundation’s business office is located at 809 North 1500
West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
links and up to date contact information can be found at the
Foundation’s website and official page at
www.gutenberg.org/contact
Section 4. Information about Donations to
the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission
of increasing the number of public domain and licensed works
that can be freely distributed in machine-readable form
accessible by the widest array of equipment including outdated
equipment. Many small donations ($1 to $5,000) are particularly
important to maintaining tax exempt status with the IRS.
The Foundation is committed to complying with the laws
regulating charities and charitable donations in all 50 states of
the United States. Compliance requirements are not uniform
and it takes a considerable effort, much paperwork and many
fees to meet and keep up with these requirements. We do not
solicit donations in locations where we have not received written
confirmation of compliance. To SEND DONATIONS or determine
the status of compliance for any particular state visit
www.gutenberg.org/donate.
While we cannot and do not solicit contributions from states
where we have not met the solicitation requirements, we know
of no prohibition against accepting unsolicited donations from
donors in such states who approach us with offers to donate.
International donations are gratefully accepted, but we cannot
make any statements concerning tax treatment of donations
received from outside the United States. U.S. laws alone swamp
our small staff.
Please check the Project Gutenberg web pages for current
donation methods and addresses. Donations are accepted in a
number of other ways including checks, online payments and
credit card donations. To donate, please visit:
www.gutenberg.org/donate.
Section 5. General Information About
Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could
be freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose
network of volunteer support.
Project Gutenberg™ eBooks are often created from several
printed editions, all of which are confirmed as not protected by
copyright in the U.S. unless a copyright notice is included. Thus,
we do not necessarily keep eBooks in compliance with any
particular paper edition.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
This website includes information about Project Gutenberg™,
including how to make donations to the Project Gutenberg
Literary Archive Foundation, how to help produce our new
eBooks, and how to subscribe to our email newsletter to hear
about new eBooks.
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
textbookfull.com
Ad

Recommended

PDF
PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs
mowwoiq538
 
PDF
Postgresql Up And Running Regina Obe Leo Hsu
zahidtraaslw
 
PDF
0292-introduction-postgresql.pdf
Mustafa Keskin
 
PDF
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
servanjervy
 
PDF
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
raiyaalaiaya
 
PDF
PostgreSQL Server Programming 2nd Edition Usama Dar
obdlioubysz
 
PDF
Creating PostgreSQL-as-a-Service at Scale
Sean Chittenden
 
ODP
Introduction to PostgreSQL
Jim Mlodgenski
 
PPTX
Chjkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjj01_The Basics.pptx
MhmdMk10
 
PPTX
Enterprise grade deployment and security with PostgreSQL
Himanchali -
 
PPTX
PostgreSQL Database Slides
metsarin
 
PDF
PostgreSQL Server Programming 2nd Edition Usama Dar
mavriclasme
 
DOC
Quick guide to PostgreSQL Performance Tuning
Ron Morgan
 
PDF
Postgresql database administration volume 1
Federico Campoli
 
PDF
The Accidental DBA
PostgreSQL Experts, Inc.
 
PDF
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
kapuilakna
 
PDF
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
PDF
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
PDF
(eBook PDF) Database System Concepts 6th Edition
leardnkomo2x
 
PDF
(eBook PDF) Database System Concepts 6th Edition
gnzbsqnuz8282
 
PDF
Db2
Mukesh Jain
 
PDF
digital marketing training in bangalore
Venus Tech Inc.
 
PDF
Demystifying PostgreSQL (Zendcon 2010)
NOLOH LLC.
 
PPTX
PostgreSQL- An Introduction
Smita Prasad
 
PDF
Demystifying PostgreSQL
NOLOH LLC.
 
PDF
Five steps perform_2013
PostgreSQL Experts, Inc.
 
PDF
Postgres 9.4 First Look
Robert Treat
 
PDF
Mastering PostgreSQL Administration
Command Prompt., Inc
 
PDF
VCE Literature Section A Exam Response Guide
jpinnuck
 
PPTX
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 

More Related Content

Similar to PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs (20)

PPTX
Chjkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjj01_The Basics.pptx
MhmdMk10
 
PPTX
Enterprise grade deployment and security with PostgreSQL
Himanchali -
 
PPTX
PostgreSQL Database Slides
metsarin
 
PDF
PostgreSQL Server Programming 2nd Edition Usama Dar
mavriclasme
 
DOC
Quick guide to PostgreSQL Performance Tuning
Ron Morgan
 
PDF
Postgresql database administration volume 1
Federico Campoli
 
PDF
The Accidental DBA
PostgreSQL Experts, Inc.
 
PDF
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
kapuilakna
 
PDF
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
PDF
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
PDF
(eBook PDF) Database System Concepts 6th Edition
leardnkomo2x
 
PDF
(eBook PDF) Database System Concepts 6th Edition
gnzbsqnuz8282
 
PDF
Db2
Mukesh Jain
 
PDF
digital marketing training in bangalore
Venus Tech Inc.
 
PDF
Demystifying PostgreSQL (Zendcon 2010)
NOLOH LLC.
 
PPTX
PostgreSQL- An Introduction
Smita Prasad
 
PDF
Demystifying PostgreSQL
NOLOH LLC.
 
PDF
Five steps perform_2013
PostgreSQL Experts, Inc.
 
PDF
Postgres 9.4 First Look
Robert Treat
 
PDF
Mastering PostgreSQL Administration
Command Prompt., Inc
 
Chjkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjj01_The Basics.pptx
MhmdMk10
 
Enterprise grade deployment and security with PostgreSQL
Himanchali -
 
PostgreSQL Database Slides
metsarin
 
PostgreSQL Server Programming 2nd Edition Usama Dar
mavriclasme
 
Quick guide to PostgreSQL Performance Tuning
Ron Morgan
 
Postgresql database administration volume 1
Federico Campoli
 
The Accidental DBA
PostgreSQL Experts, Inc.
 
Get PostgreSQL Server Programming - Second Edition Dar free all chapters
kapuilakna
 
PostgreSQL Server Programming Second Edition Usama Dar Hannu Krosing Jim Mlod...
trddarvai
 
PostgreSQL Server Programming 2nd Edition Usama Dar
bhaveeranirh
 
(eBook PDF) Database System Concepts 6th Edition
leardnkomo2x
 
(eBook PDF) Database System Concepts 6th Edition
gnzbsqnuz8282
 
digital marketing training in bangalore
Venus Tech Inc.
 
Demystifying PostgreSQL (Zendcon 2010)
NOLOH LLC.
 
PostgreSQL- An Introduction
Smita Prasad
 
Demystifying PostgreSQL
NOLOH LLC.
 
Five steps perform_2013
PostgreSQL Experts, Inc.
 
Postgres 9.4 First Look
Robert Treat
 
Mastering PostgreSQL Administration
Command Prompt., Inc
 

Recently uploaded (20)

PDF
VCE Literature Section A Exam Response Guide
jpinnuck
 
PPTX
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
PDF
K12 Tableau User Group virtual event June 18, 2025
dogden2
 
PPT
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 
PDF
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
PDF
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
PPTX
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
PPTX
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 
PPTX
Photo chemistry Power Point Presentation
mprpgcwa2024
 
PPTX
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
PPTX
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
PPTX
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
PDF
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
PDF
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
PPTX
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
PPTX
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
PDF
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
PPTX
How to use _name_search() method in Odoo 18
Celine George
 
PPTX
Peer Teaching Observations During School Internship
AjayaMohanty7
 
PPTX
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
VCE Literature Section A Exam Response Guide
jpinnuck
 
Birnagar High School Platinum Jubilee Quiz.pptx
Sourav Kr Podder
 
K12 Tableau User Group virtual event June 18, 2025
dogden2
 
M&A5 Q1 1 differentiate evolving early Philippine conventional and contempora...
ErlizaRosete
 
Romanticism in Love and Sacrifice An Analysis of Oscar Wilde’s The Nightingal...
KaryanaTantri21
 
LDMMIA Yoga S10 Free Workshop Grad Level
LDM & Mia eStudios
 
Great Governors' Send-Off Quiz 2025 Prelims IIT KGP
IIT Kharagpur Quiz Club
 
INDUCTIVE EFFECT slide for first prof pharamacy students
SHABNAM FAIZ
 
Photo chemistry Power Point Presentation
mprpgcwa2024
 
LAZY SUNDAY QUIZ "A GENERAL QUIZ" JUNE 2025 SMC QUIZ CLUB, SILCHAR MEDICAL CO...
Ultimatewinner0342
 
NSUMD_M1 Library Orientation_June 11, 2025.pptx
Julie Sarpy
 
2025 Completing the Pre-SET Plan Form.pptx
mansk2
 
Aprendendo Arquitetura Framework Salesforce - Dia 02
Mauricio Alexandre Silva
 
THE PSYCHOANALYTIC OF THE BLACK CAT BY EDGAR ALLAN POE (1).pdf
nabilahk908
 
Values Education 10 Quarter 1 Module .pptx
JBPafin
 
ENGLISH-5 Q1 Lesson 1.pptx - Story Elements
Mayvel Nadal
 
HistoPathology Ppt. Arshita Gupta for Diploma
arshitagupta674
 
How to use _name_search() method in Odoo 18
Celine George
 
Peer Teaching Observations During School Internship
AjayaMohanty7
 
A Visual Introduction to the Prophet Jeremiah
Steve Thomason
 
Ad

PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs

  • 1. PostgreSQL 9 Administration Cookbook - Second Edition Simon Riggs download https://textbookfull.com/product/postgresql-9-administration- cookbook-second-edition-simon-riggs/ Download more ebook from https://textbookfull.com
  • 2. We believe these products will be a great fit for you. Click the link to download now, or visit textbookfull.com to discover even more! PostgreSQL 10 Administration Cookbook Over 165 effective recipes for database management and maintenance in PostgreSQL 10 4th Edition Simon Riggs https://textbookfull.com/product/postgresql-10-administration- cookbook-over-165-effective-recipes-for-database-management-and- maintenance-in-postgresql-10-4th-edition-simon-riggs/ Learn PostgreSQL - Second Edition -.- https://textbookfull.com/product/learn-postgresql-second-edition/ PostgreSQL Server Programming - Second Edition Dar https://textbookfull.com/product/postgresql-server-programming- second-edition-dar/ Public administration in Canada Second Edition Barker https://textbookfull.com/product/public-administration-in-canada- second-edition-barker/
  • 3. The Conference of the Birds: Miss Peregrine's Peculiar Children 1st Edition Ransom Riggs [Riggs https://textbookfull.com/product/the-conference-of-the-birds- miss-peregrines-peculiar-children-1st-edition-ransom-riggs-riggs/ PostgreSQL High Availability Cookbook Master over 100 recipes to design and implement a highly available server with the advanced features of PostgreSQL 2nd Edition Shaun M. Thomas https://textbookfull.com/product/postgresql-high-availability- cookbook-master-over-100-recipes-to-design-and-implement-a- highly-available-server-with-the-advanced-features-of- postgresql-2nd-edition-shaun-m-thomas/ ElasticSearch Cookbook, Second Edition Alberto Paro https://textbookfull.com/product/elasticsearch-cookbook-second- edition-alberto-paro/ Flutter Cookbook - Second Edition Simone Alessandria https://textbookfull.com/product/flutter-cookbook-second-edition- simone-alessandria/ Windows Server 2016 cookbook Second Edition Krause https://textbookfull.com/product/windows-server-2016-cookbook- second-edition-krause/
  • 6. Table of Contents PostgreSQL 9 Administration Cookbook Second Edition Credits About the Authors About the Reviewers www.PacktPub.com Support files, eBooks, discount offers, and more Why Subscribe? Free Access for Packt account holders Preface What this book covers What you need for this book Who this book is for Sections Getting ready How to do it… How it works… There's more… See also Conventions Reader feedback Customer support Downloading the example code Errata Piracy Questions 1. First Steps Introduction Introducing PostgreSQL 9 What makes PostgreSQL different? Robustness Security Ease of use
  • 7. Extensibility Performance and concurrency Scalability SQL and NoSQL Popularity Commercial support Research and development funding Getting PostgreSQL How to do it… How it works… There's more… Connecting to the PostgreSQL server Getting ready How to do it… How it works… There's more… See also Enabling access for network/remote users How to do it… How it works… There's more… See also Using graphical administration tools How to do it… How it works… There's more… See also Using the psql query and scripting tool Getting ready How to do it… How it works… There's more… See also Changing your password securely How to do it… How it works…
  • 8. Avoiding hardcoding your password Getting ready How to do it… How it works… There's more… Using a connection service file How to do it… How it works… Troubleshooting a failed connection How to do it… There's more… 2. Exploring the Database Introduction What version is the server? How to do it… How it works… There's more… What is the server uptime? How to do it… How it works… See also Locating the database server files Getting ready How to do it… How it works… There's more… Locating the database server's message log Getting ready How to do it… How it works… There's more… Locating the database's system identifier Getting ready How to do it… How it works… Listing databases on this database server
  • 9. How to do it… How it works… There's more… How many tables in a database? How to do it… How it works… There's more… How much disk space does a database use? How to do it… How it works… How much disk space does a table use? How to do it… How it works… There's more… Which are my biggest tables? How to do it… How it works… How many rows in a table? How to do it… How it works… Quickly estimating the number of rows in a table How to do it… How it works… There's more… Function 1 – estimating the number of rows Function 2 – computing the size of a table without locks Listing extensions in this database Getting ready How to do it… How it works… There's more… Understanding object dependencies Getting ready How to do it… How it works… There's more…
  • 10. 3. Configuration Introduction Reading The Fine Manual (RTFM) How to do it… How it works… There's more… Planning a new database Getting ready How to do it… How it works… There's more… Changing parameters in your programs How to do it… How it works… There's more… Finding the current configuration settings How to do it… There's more… How it works… Which parameters are at nondefault settings? How to do it… How it works… There's more… Updating the parameter file Getting ready How to do it… How it works… There's more… Setting parameters for particular groups of users How to do it… How it works… The basic server configuration checklist Getting ready How to do it… There's more… Adding an external module to PostgreSQL
  • 11. Getting ready How to do it… Installing modules using a software installer Installing modules from PGXN Installing modules from a manually downloaded package Installing modules from source code How it works… Using an installed module Getting ready How to do it… Using the extension infrastructure Without the extension infrastructure How it works… There's more… Managing installed extensions Getting ready How to do it… How it works… There's more… 4. Server Control Introduction Starting the database server manually Getting ready How to do it… How it works… Stopping the server safely and quickly How to do it… How it works… See also Stopping the server in an emergency How to do it… How it works… Reloading the server configuration files How to do it… How it works… There's more…
  • 12. Restarting the server quickly How to do it… There's more… Preventing new connections How to do it… How it works… Restricting users to only one session each How to do it… How it works… Pushing users off the system How to do it… How it works… Deciding on a design for multitenancy How to do it… How it works… Using multiple schemas Getting ready How to do it… How it works… Giving users their own private database Getting ready How to do it… How it works… There's more… See also Running multiple servers on one system Getting ready How to do it… How it works… Setting up a connection pool Getting ready How to do it… How it works… There's more… Accessing multiple servers using the same host and port Getting ready
  • 13. How to do it… There's more… 5. Tables and Data Introduction Choosing good names for database objects Getting ready How to do it… There's more… Handling objects with quoted names Getting ready How to do it… How it works… There's more… Enforcing the same name and definition for columns Getting ready How to do it… How it works… There's more… Identifying and removing duplicates Getting ready How to do it… How it works… There's more… Preventing duplicate rows Getting ready How to do it… How it works… There's more… Duplicate indexes Uniqueness without indexes Real-world example – IP address range allocation Real-world example – range of time Real-world example – prefix ranges Finding a unique key for a set of data Getting ready How to do it…
  • 14. How it works… Generating test data How to do it… How it works… There's more… See also Randomly sampling data How to do it… How it works… Loading data from a spreadsheet Getting ready How to do it… How it works… There's more… Loading data from flat files Getting ready How to do it… How it works… There's more… 6. Security Introduction Typical user role The PostgreSQL superuser How to do it… How it works… There's more… Other superuser-like attributes Attributes are never inherited See also Revoking user access to a table Getting ready How to do it… How it works… There's more… Database creation scripts Default search path
  • 15. Securing views Granting user access to a table Getting ready How to do it… How it works… There's more… Access to the schema Granting access to a table through a group role Granting access to all objects in a schema Creating a new user Getting ready How to do it… How it works… There's more… Temporarily preventing a user from connecting Getting ready How to do it… How it works… There's more… Limiting the number of concurrent connections by a user Forcing NOLOGIN users to disconnect Removing a user without dropping their data Getting ready How to do it… How it works… Checking whether all users have a secure password How to do it… How it works… Giving limited superuser powers to specific users Getting ready How to do it… How it works… There's more… Writing a debugging_info function for developers Auditing DDL changes Getting ready
  • 16. How to do it… How it works… There's more… Was the change committed? Who made the change? Can I find this information from the database? You may still miss some DDL… Auditing data changes Getting ready How to do it… Collecting data changes from the server log Collecting changes using triggers Using a single audit trigger to collect changes from multiple tables Collecting changes using triggers and saving them in another database using dblink or plproxy Always knowing which user is logged in Getting ready How to do it… How it works… There's more… Not inheriting the user attributes Integrating with LDAP Getting ready How to do it… How it works… There's more… Setting up the client to use LDAP Replacement for the User Name Map feature See also Connecting using SSL Getting ready How to do it… How it works… There's more… Getting the SSL key and certificate
  • 17. Setting up a client to use SSL Checking server authenticity Using SSL certificates to authenticate the client Getting ready How to do it… How it works… There's more… Avoiding duplicate SSL connection attempts Using multiple client certificates Using the client certificate to select the database user See also Mapping external usernames to database roles Getting ready How to do it… How it works… There's more… Encrypting sensitive data Getting ready How to do it… How it works… There's more… For really sensitive data For really, really, really sensitive data! See also 7. Database Administration Introduction Writing a script that either succeeds entirely or fails entirely How to do it… How it works… There's more… Writing a psql script that exits on the first error Getting ready How to do it… How it works… There's more… Performing actions on many tables
  • 18. Getting ready How to do it… How it works… There's more… Using pg_batch to run tasks in parallel Adding/removing columns on a table How to do it… How it works… There's more… Changing the data type of a column Getting ready How to do it… How it works… There's more… Changing the definition of a data type Getting ready How to do it… How it works… There's more… Adding/removing schemas How to do it… There's more… Using schema-level privileges Moving objects between schemas How to do it… How it works… There's more… Adding/removing tablespaces Getting ready How to do it… How it works… There's more… Putting pg_xlog on a separate device Tablespace-level tuning Moving objects between tablespaces Getting ready
  • 19. How to do it… How it works… There's more… Accessing objects in other PostgreSQL databases Getting ready How to do it… How it works… There's more… There's more… Accessing objects in other foreign databases Getting ready How to do it… How it works… There's more… Updatable views Getting ready How to do it… How it works… There's more… Using materialized views Getting ready How to do it… How it works… There's more… 8. Monitoring and Diagnosis Introduction Providing PostgreSQL information to monitoring tools Finding more information about generic monitoring tools Real-time viewing using pgAdmin Checking whether a user is connected Getting ready How to do it… How it works… There's more… What if I want to know whether that computer is connected? What if I want to repeatedly execute a query in psql?
  • 20. Checking which queries are running Getting ready How to do it… How it works… There's more… Catching queries which only run for a few milliseconds Watching the longest queries Watching queries from ps See also Checking which queries are active or blocked Getting ready How to do it… How it works… There's more… No need for the = true part This catches only queries waiting on locks Knowing who is blocking a query Getting ready How to do it… How it works… Killing a specific session How to do it… How it works… There's more… Trying to cancel the query first What if the backend won't terminate? Using statement timeout to clean up queries that take too long to run Killing Idle in transaction queries Killing the backend from the command line Detecting an in-doubt prepared transaction How to do it… Knowing whether anybody is using a specific table Getting ready How to do it… How it works…
  • 21. There's more… The quick and dirty way Collecting daily usage statistics Knowing when a table was last used Getting ready How to do it… How it works… There's more… Usage of disk space by temporary data Getting ready How to do it… How it works… There's more… Finding out whether a temporary file is in use any more Logging temporary file usage Understanding why queries slow down Getting ready How to do it… How it works… There's more… Do the queries return significantly more data than they did earlier? Do the queries also run slowly when they are run alone? Is the second run of the same query also slow? Table and index bloat See also Investigating and reporting a bug Getting ready How to do it… How it works… Producing a daily summary of log file errors Getting ready How to do it… How it works… There's more… See also
  • 22. Analyzing the real-time performance of your queries Getting ready How to do it… How it works… There's more… 9. Regular Maintenance Introduction Controlling automatic database maintenance Getting ready How to do it… How it works… There's more… See also Avoiding auto-freezing and page corruptions Getting ready How to do it… There's more… Avoiding transaction wraparound Getting ready How to do it… How it works… There's more… See also Removing old prepared transactions Getting ready How to do it… How it works… There's more… Actions for heavy users of temporary tables How to do it… How it works… Identifying and fixing bloated tables and indexes How to do it… How it works… There's more… Maintaining indexes
  • 23. Getting ready How to do it… How it works… There's more… See also Adding a constraint without checking existing rows Getting ready How to do it… There's more… Finding unused indexes How to do it… How it works… Carefully removing unwanted indexes How to do it… How it works… Planning maintenance How to do it… How it works… 10. Performance and Concurrency Introduction Finding slow SQL statements Getting ready How to do it… See also Collecting regular statistics from pg_stat* views Getting ready How to do it… How it works… There's more… Another statistics collection package Finding out what makes SQL slow How to do it… There's more… The query returns too much data Locking problems
  • 24. Not enough CPU power or disk I/O capacity for the current load EXPLAIN options See also Reducing the number of rows returned How to do it… There's more… Simplifying complex SQL queries Getting ready How to do it… There's more… Using materialized views (long-living, temporary tables) Using set-returning functions for some parts of queries Speeding up queries without rewriting them How to do it… There's more… In case of many updates, set fillfactor on the table Rewriting the schema – a more radical approach Why a query is not using an index How to do it… Forcing a query to use an index Getting ready How to do it… There's more… Using optimistic locking How to do it… How it works… There's more… Reporting performance problems How to do it… There's more… 11. Backup and Recovery Introduction Understanding and controlling crash recovery How to do it… How it works…
  • 25. There's more… Planning backups How to do it… Hot logical backup of one database How to do it… How it works… There's more… See also Hot logical backup of all databases How to do it… How it works… See also Hot logical backup of all tables in a tablespace How to do it… How it works… Backup of database object definitions How to do it… There's more… Standalone hot physical database backup How to do it… How it works… There's more… See also Hot physical backup and continuous archiving Getting ready How to do it… How it works… Recovery of all databases Getting ready How to do it… Logical – from the custom dump taken with pg_dump -F c Logical – from the script dump created by pg_dump –F p Logical – from the script dump created by pg_dumpall Physical How it works… There's more…
  • 26. See also Recovery to a point in time Getting ready How to do it… How it works… There's more… See also Recovery of a dropped/damaged table How to do it… Logical – from the custom dump taken with pg_dump -F c Logical – from the script dump Physical How it works… See also Recovery of a dropped/damaged tablespace How to do it… Logical – from the custom dump taken with pg_dump -F c Logical – from the script dump Physical There's more… Recovery of a dropped/damaged database How to do it... Logical – from the custom dump -F c Logical – from the script dump created by pg_dump Logical – from the script dump created by pg_dumpall Physical Improving performance of backup/recovery Getting ready How to do it… How it works… There's more… See also Incremental/differential backup and restore How to do it… How it works… There's more…
  • 27. Hot physical backups with Barman Getting ready How to do it… How it works… There's more… Recovery with Barman Getting ready How to do it… How it works… There's more… 12. Replication and Upgrades Introduction Replication concepts Topics Basic concepts History and scope Practical aspects Data loss Single-master replication Multinode architectures Clustered or massively parallel databases Multimaster replication Scalability tools Other approaches to replication Replication best practices How to do it… There's more… Setting up file-based replication – deprecated Getting ready How to do it… How it works… There's more… See also Setting up streaming replication Getting ready How to do it…
  • 28. How it works… There's more… Setting up streaming replication security Getting ready How to do it… How it works… There's more… Hot Standby and read scalability Getting ready How to do it… How it works… Managing streaming replication Getting ready How to do it… There's more… See also Using repmgr Getting ready How to do it… How it works… There's more… Using Replication Slots Getting ready How to do it… There's more… See also Monitoring replication Getting ready How to do it… There's more… Performance and Synchronous Replication Getting ready How to do it… How it works… There's more… Delaying, pausing, and synchronizing replication
  • 29. Getting ready How to do it… There's more… Logical Replication Getting ready How to do it… How it works… There's more… See also Bi-Directional Replication Getting ready How to do it… How it works… There's more… Archiving transaction log data Getting ready How to do it… There's more… See also Upgrading – minor releases Getting ready How to do it… How it works… Major upgrades in-place Getting ready How to do it… How it works… Major upgrades online How to do it… How it works… Index
  • 31. PostgreSQL 9 Administration Cookbook Second Edition Copyright © 2015 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: October 2010 Second edition: April 2015 Production reference: 1280415 Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.
  • 33. Exploring the Variety of Random Documents with Different Content
  • 34. "Oh! Not long since," said Miss Grig casually, carelessly, victoriously. "I must leave you now. I think I've had all my own things removed, and I hope nothing that belongs to you. If there's anything wrong, or anything I can do, will you write to Mr. Farjiac?" She smiled gravely, steadily, and shook hands; and carried off her grief, her frustration, her ever-lasting tragedy, safe and intact and with pomp away from the poor, pretty little chit whom destiny had chosen to be the instrument of devastation. Lilian sat dulled. The keys of the house lay beside the damp and creased club necktie. She heard a taxi arrive and the door bang and the taxi depart. A hot, dry, mournful wind of the summer night blew the curtains with a swish suddenly inwards and made Lilian shiver. Ah! What would she not have given for an endless, tearful, sobbing talk with the only other creature on earth who had worshipped Felix? How she would have confessed, abased herself, accused herself, excused herself, abandoned herself, uncovered her inmost soul, at the signal of one soft word from Isabel Grig! Hellish pride! Hellish implacable rancour! Glutton of misery! The woman had not even offered a syllable of goodwill for the welfare of the coming baby! Nevertheless, Lilian's heart was breaking for Isabel Grig. Who could blame Isabel? Or who Lilian? The situation inevitably arising from their characters and from the character of the dead man had overpowered both of them. Lilian thought of the neglected grave, and of the courtesan's prayer, "Eternal peace! No emotions! Stretched straight out. Quiet for ever and ever! Eternal peace!" In the indulgence of grief and depression she wanted to keep that thought. But she could not. She was too young and too strong, and the edges of the dangerous future were iridescent.
  • 35. III The Lieutenant Lilian slept heavily and without moving, and when the parlourmaid aroused her with more tea at nine o'clock according to order, she drank half the first cup before the process of waking was complete. Her mind had been running jerkily: "So she actually went all that way to see his grave. And I haven't seen the stone myself. Of course Felix wrote to her when he was getting better, and told her he was going to marry me. That's how she must have first known I was out there with him. He wrote on purpose to tell her. And she went all that way to see my darling's grave, and never said a word to me! It's her feeling for Felix makes her so cruel, poor thing! Oh! But she's so hard, hard! Well, I could never be hard like that--I don't care what happened. And it won't make her any happier." The parlourmaid returned with a parcel. "Oh yes, I know what that is," said Lilian. "Just cut the string and put it down here, will you?" "Miss Jackson is waiting to see you'm. Will you see her or shall I ask her to call to-night?" "Miss Jackson!" Lilian exclaimed, agitated by the swiftness of the sequence of events. "Has she been waiting long?" "No'm. Only about twenty minutes." "Why didn't you tell me before?" "I thought you ought to have your tea quiet'm."
  • 36. "How nice of you!" said Lilian, with a weak, acquiescent smile. "But do ask her to come in here now. She won't mind me being in bed, will she?" "I should hope not'm," said the parlourmaid, pawing the ground. Lilian pushed her lustreless hair out of her eyes. The sun was shining on part of the tumbled bed. Then Gertie Jackson came in. Absolutely unchanged! The same neat, provincial, Islingtonian toilette. The same serious, cheerful, ingenuous gaze. The same unmarred complexion. The same upright pose and throwing back of the shoulders in unconscious rectitude and calm intention to front courageously the difficulties of the day. The same mingling of self- respect and deference. She bent over the bed; Lilian held up her face like a child with mute invitation, and Gertie kissed her. What a fresh, honest, innocent, ignorant kiss on Lilian's hot, wasted, experienced cheek! "You poor thing!" Gertrude murmured devotedly. "I'm seven months gone nearly," Lilian murmured, as if in despair. "Well, it'll soon be over, then!" said Gertie buoyantly, in a matter-of-fact tone. "Yes, but shall I ever again be like I was?" Lilian demanded gloomily. "Of course you will, dear. And prettier. They almost always are, you know. I've often noticed it." "You dear!" cried Lilian, "and do you mean to say you've got up earlier and come all the way down from Islington here to see me before going to the office? And me keeping you waiting!"
  • 37. "Why! But of course I came. I'm responsible to you, now poor Miss Grig's gone. I told her I would be. And I can't tell you how glad I shall be if I suit you and you find you can keep me on. It's such a good situation." Lilian lifted her face again and kissed her--but not the kiss of gratitude (though there was gratitude in it), the kiss of recompense, of reward. It was Lilian who, in allowing herself to be faithfully served, was conferring the favour. Gertrude was the eternal lieutenant, without ambition, without dreams, asking only to serve with loyalty in security. In that moment Lilian understood as never before the function of these priceless Gertrudes whose first instinct when they lost one master was to attach themselves to another. "Look here!" said Lilian. "D'you know what I want? I want you to come and live here till it's over." "Of course I will," Gertrude agreed, eagerly ready to abandon her domestic habits and interior for as long as she was required to do so, and to resume them whenever it might suit Lilian's convenience. And all because Lilian had been beautiful and successful, and would be beautiful and successful once more! "You must come to-night, will you?" Lilian insisted, transformed in a moment into the spoilt and exacting queen. Gertrude nodded, brightly beaming. "I do so want to talk to you," Lilian went on. "I've had nobody to talk to for--I mean like you. D'you know, Felix would have been alive now if it hadn't been for me." She burst into tears, and then, recovering, began an interminable detailed recital of events on the Riviera, coupled with a laudation of Felix. She revelled in it, and was
  • 38. shameless, well aware that Gertrude would defend her against herself. The relief which she felt was intense. At the end of half an hour, when the torrent had slackened, Gertrude said: "I really think I'd better be going now. What time would you like me to come to-night? I'm quite free because I'm not taking night duty this week. It's Milly's week." And as she was leaving she turned back rather nervously to the bed. "D'you mind me suggesting one thing? I wouldn't have you over-tire yourself; but if you could just show yourself at the office, I feel it would be such a good thing for all of us. The girls would understand then who the new employer is. Some of them are very stupid, you know. If you could just show yourself--a quarter of an hour. It's for your own sake, dear." "As I am? I mean--you know----" "Why not?" "But would they----" "Of course not," blandly and firmly decided Gertrude, who had been brought up in Islington, where the enterprise of procreation proceeds on an important scale and in a straightforward spirit. Strange that in Gertrude's virginal mentality such realism could coexist with such innocent ingenuousness! But it was so. When Gertrude had left, Lilian opened the parcel. It was from Dr. Samson and contained two books recommended and promised by him about preparing for motherhood, and motherhood, and cognate matters. The mere titles of the chapters entranced her. IV
  • 39. The New Employer Appreciably less than a year had passed since she went down those office stairs, thrust out by the implacable jealousy of Miss Grig, and yet in that short time the stairs had shrunk and become most painfully dingy. The sight of them saddened her; she wondered how it was that their squalor had not affected her before. She felt acutely sorry for the girl named Lilian Share who in the previous autumn used easily to run up them from bottom to top, urged by the consciousness of being late. Now she had to take the second flight very slowly. The door opened as she reached it, and Gertie Jackson emerged to usher her in. A dozen pairs of ears had been listening for her arrival. The doors of both the large and the small rooms were ajar, and she had glimpses of watching faces as she went with Gertrude into the principal's room. She was intensely nervous and self-conscious. Gertrude explained that Miss Grig had installed her in the principal's room months ago, and Lilian said that that was quite right, and Gertrude said that she had hoped Lilian would approve. Tea was laid on one of the desks, a dainty tea, such a tea as Lilian had never seen in the office, with more pastry than even two girls could eat who had had no lunch and expected no dinner; an extravagant display. Then a flapper entered with the tea-pot and the hot-water jug, and Lilian smiled at her, and the flapper blushed and smiled and tossed her winged pigtail. The flapper had a shabby air. Lilian could swallow only one cake because Gertrude was sitting where Felix had sat when he first told her what she might do and ought to do with herself. "I am so glad you've come!" said Gertrude, in a sort of rapture.
  • 40. "Yes," Lilian agreed with dignity. "I was bound to come, of course." She felt wise and mature and tremendously aware of her responsibilities; and she intended to remain so. Nobody should be able to say of her that she had lost her head or that she was silly or weak or in any way unequal to her situation. Above all, Miss Grig should be forced to continue to respect her. "I suppose I'd better just go and see them all now," she suggested, after more tea. "They'd be delighted if you would," said Gertrude, as if the thing had not already been arranged. Naturally Lilian honoured the small room first. The three inhabitants of the small room--two of them were unknown to her-- sprang up, flattered, ruffled, flustered, excited, at her entrance. There she stood, the marvellous, the semi-legendary Lilian, who had captured the aristocratic master, run off with him to the Continent, married him, buried him, inherited all his possessions, and was soon going to have a baby. Her famous beauty was under eclipse, her famous figure had grown monstrous beyond any possible concealment; but she was still marvellous. She was the most romantic figure that those girls had ever seen; she was all picture- paper serials and cinema films rolled together and come to life and reality. Her prestige was terrific. She felt it and knew it and acted on it. How pathetically common the girls were, how slave-like! How cheap their frocks! How very small the room (but evidently it had been tidied for her visit)! She recognized one of the old Underwoods by a dent in its frame, and remembered the stain on one of the green lampshades, and the peculiarities of the woodwork of the
  • 41. absurdly small mirror. She was touched; she might have wept a little, but her great pride--in her achievement, in her position, in her condition, even in her tragic sorrow--upheld her safely. Tenderly invited to sit down, she sat down, and she put expert questions, to the wonderment of practising typists, thus proving that she was not proud. And then with gracious adieux she proceeded to the large room where, though her stay was (properly) more brief, she created still more sensation. In the large room she surprised one or two surreptitious exchanges of glance betraying a too critical awareness on the part of some that she had sinned against the code and perhaps only saved herself by the skin of her teeth. These unkind exhibitions did not trouble her in the least. The demeanour of the more serious and best-paid girls showed absolutely no arrière pensée, and better than anybody else they knew what was what in the real world. Gertrude Jackson, the honest soul of purity, already adored her employer. As these two were returning to the principal's room the entrance-door opened and Millicent Merrislate burst breathlessly in. "How splendid!" exclaimed Gertrude. She had sent a special message to Milly, and Milly for a sight of her new mistress had got up and come to the office two hours earlier than her official time. Lilian was amazed and very pleased. She remembered that she had once spent at any rate one night of toil in perfect friendliness with the queer, flat, cattish Millicent; and now she insisted on Milly helping them to eat cakes in the sacred room. The scene was idyllic. A little later Lilian, having arranged the details of Gertrude's temporary removal to Montpelier Square, announced that she must go, on account of some important
  • 42. shopping. Gertrude, sternly watchful against undue fatigue for Lilian, raised her eyebrows at the mention of shopping, but Lilian reassured her. A taxi was fetched by the flapper-of-all-work, and, noticing then for the first time that the road repairs in the neighbourhood were all finished, and every trace of them vanished, Lilian gave the driver an address in Piccadilly. Several girls were watching her departure from the windows; her upward glance caught them in the act, and the heads disappeared sharply within. "They are all working for me!" she thought with complacency, and could scarcely believe the wonderful thing. V Layette The pride of her reception in Clifford Street wafted her easily up the somewhat austere stairs of the first floor establishment in Piccadilly. She had long been familiar with the face of the commissionaire, and the brass signs, of this mysterious shop, but never till the leading word attracted her eyes as she was driving from Montpelier Square to Clifford Street had it occurred to her what the word signified. The deceiving staircase led to splendid rooms, indicating that the renown of the establishment could not be spurious. A bright and rosy young woman came smilingly forward and gave Lilian a chair. One other customer, a stout lady with her back to the world, was being served in a distant corner. A marvellous calm reigned, and the noise of Piccadilly seemed to beat vainly against the high, curtained windows.
  • 43. "Layettes?" Lilian began questioningly, with a strange exultation. The aspect of the interior had revived her taste for luxury while giving it a new direction. "Yes, madam." The esoteric conversation was engaged. Lilian sat entranced by the fineness and the diminutiveness and the disconcerting elegance of the display ranged abroad for her on the glass counter. She was glad that through culpable sloth she had done absolutely nothing as yet with her own needle. It was the books from Dr. Samson that had aroused her to the need for action of some sort, for she had had no wise woman to murmur in her eager ear the traditions and the Spanish etiquette of centuries of civilized maternity. "I shall bring Gertie to see these to-morrow," she thought. "It will please her frightfully to come, and she'll stop me from being too extravagant. Only I must arrange it so that her work won't be interfered with. Perhaps at lunch time. Never do to upset discipline right at the start!" And she asked to see still more stock. The articles stimulated her memory and her imagination into a kind of tranquil and yet rapturous contemplation of the events, voluptuous, tender and tragic, which had set her where she was. The thrill of conception, the long patience of gestation, the coming terror of labour mingled all together in her now mystical mind. Her destiny had been changed, or at least it was gravely diverted. Instead of glittering in public as the lovely darling and blossom of luxurious civilization, and in private rendering a man to the highest possible degree happy-- instead of this she was secretly and obscurely building a monument, in her body and also in her heart, to Felix--Felix whom already she
  • 44. had raised to be the perfect man, Felix who might have been alive then if she had not one evening behaved like a child, or if his sense of his duty towards her had not been so imperious. (Her commonsense had at last cured her of regarding herself as his murderess.) Whether she had loved him to the height of which she was capable of passionate love was doubtful. But she had profoundly admired him; she had been passionately grateful to him for his love of her; and, come what might when her beauty was restored to its empire, no other man could ever stand to her in the relation in which Felix had stood. He had set his imprint upon her and created her a woman. And so she was creating him a god. All these movements of her brooding mind originated from the spectacle of the articles on the counter. They did not prevent her from discussing layettes with the bright, rosy, shop-girl. That innocent, charming and unimaginative young creature fingered the treasures with the casualness of use. For her layettes were layettes, existing of and for themselves; they connoted nothing. PRINTED IN ENGLAND BY CASSELL & COMPANY, LIMITED, LONDON, E.C.4. ――――
  • 45. WORKS BY THE SAME AUTHOR NOVELS A Man from the North Helen With the High Hand Anna of the Five Towns The Card Leonora The Regent A Great Man The Lion's Share Sacred and Profane Love Clayhanger Whom God Hath Joined Hilda Lessways Buried Alive These Twain The Old Wives' Tale The Roll Call The Glimpse The Pretty Lady The Price of Love Mr. Prohack FANTASIAS The Ghost Teresa of Watling Street
  • 46. The Grand Babylon Hotel The Loot of Cities The Gates of Wrath Hugo The City of Pleasure SHORT STORIES Tales of the Five Towns The Grim Smile of the Five Towns The Matador of the Five Towns BELLES-LETTRES Journalism for Women Liberty Fame and Fiction Over There: War Scenes How to Become an Author Books and Persons The Truth About an Author Married Life Mental Efficiency The Author's Craft How to Live on Twenty-four Hours a Day Self and Self-Management The Human Machine From the Log of the "Velsa" Literary Taste Our Women
  • 47. Friendship and Happiness Things That Have Interested Me Those United States Paris Nights DRAMA Polite Farces The Great Adventure Cupid and Commonsense Judith What the Public Wants Sacred and Profane Love The Honeymoon The Love Match The Title Body and Soul Milestones (in collaboration with Edward Knoblock) (In collaboration with Eden Phillpotts) The Sinews of War: A Romance The Statue: A Romance *** END OF THIS PROJECT GUTENBERG EBOOK LILIAN ***
  • 49. *** END OF THE PROJECT GUTENBERG EBOOK LILIAN *** Updated editions will replace the previous one—the old editions will be renamed. Creating the works from print editions not protected by U.S. copyright law means that no one owns a United States copyright in these works, so the Foundation (and you!) can copy and distribute it in the United States without permission and without paying copyright royalties. Special rules, set forth in the General Terms of Use part of this license, apply to copying and distributing Project Gutenberg™ electronic works to protect the PROJECT GUTENBERG™ concept and trademark. Project Gutenberg is a registered trademark, and may not be used if you charge for an eBook, except by following the terms of the trademark license, including paying royalties for use of the Project Gutenberg trademark. If you do not charge anything for copies of this eBook, complying with the trademark license is very easy. You may use this eBook for nearly any purpose such as creation of derivative works, reports, performances and research. Project Gutenberg eBooks may be modified and printed and given away—you may do practically ANYTHING in the United States with eBooks not protected by U.S. copyright law. Redistribution is subject to the trademark license, especially commercial redistribution. START: FULL LICENSE
  • 50. THE FULL PROJECT GUTENBERG LICENSE
  • 51. PLEASE READ THIS BEFORE YOU DISTRIBUTE OR USE THIS WORK To protect the Project Gutenberg™ mission of promoting the free distribution of electronic works, by using or distributing this work (or any other work associated in any way with the phrase “Project Gutenberg”), you agree to comply with all the terms of the Full Project Gutenberg™ License available with this file or online at www.gutenberg.org/license. Section 1. General Terms of Use and Redistributing Project Gutenberg™ electronic works 1.A. By reading or using any part of this Project Gutenberg™ electronic work, you indicate that you have read, understand, agree to and accept all the terms of this license and intellectual property (trademark/copyright) agreement. If you do not agree to abide by all the terms of this agreement, you must cease using and return or destroy all copies of Project Gutenberg™ electronic works in your possession. If you paid a fee for obtaining a copy of or access to a Project Gutenberg™ electronic work and you do not agree to be bound by the terms of this agreement, you may obtain a refund from the person or entity to whom you paid the fee as set forth in paragraph 1.E.8. 1.B. “Project Gutenberg” is a registered trademark. It may only be used on or associated in any way with an electronic work by people who agree to be bound by the terms of this agreement. There are a few things that you can do with most Project Gutenberg™ electronic works even without complying with the full terms of this agreement. See paragraph 1.C below. There are a lot of things you can do with Project Gutenberg™ electronic works if you follow the terms of this agreement and help preserve free future access to Project Gutenberg™ electronic works. See paragraph 1.E below.
  • 52. 1.C. The Project Gutenberg Literary Archive Foundation (“the Foundation” or PGLAF), owns a compilation copyright in the collection of Project Gutenberg™ electronic works. Nearly all the individual works in the collection are in the public domain in the United States. If an individual work is unprotected by copyright law in the United States and you are located in the United States, we do not claim a right to prevent you from copying, distributing, performing, displaying or creating derivative works based on the work as long as all references to Project Gutenberg are removed. Of course, we hope that you will support the Project Gutenberg™ mission of promoting free access to electronic works by freely sharing Project Gutenberg™ works in compliance with the terms of this agreement for keeping the Project Gutenberg™ name associated with the work. You can easily comply with the terms of this agreement by keeping this work in the same format with its attached full Project Gutenberg™ License when you share it without charge with others. 1.D. The copyright laws of the place where you are located also govern what you can do with this work. Copyright laws in most countries are in a constant state of change. If you are outside the United States, check the laws of your country in addition to the terms of this agreement before downloading, copying, displaying, performing, distributing or creating derivative works based on this work or any other Project Gutenberg™ work. The Foundation makes no representations concerning the copyright status of any work in any country other than the United States. 1.E. Unless you have removed all references to Project Gutenberg: 1.E.1. The following sentence, with active links to, or other immediate access to, the full Project Gutenberg™ License must appear prominently whenever any copy of a Project Gutenberg™ work (any work on which the phrase “Project
  • 53. Gutenberg” appears, or with which the phrase “Project Gutenberg” is associated) is accessed, displayed, performed, viewed, copied or distributed: This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re- use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. 1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work.
  • 54. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1 with active links or immediate access to the full terms of the Project Gutenberg™ License. 1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg™ work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg™ website (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg™ License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg™ works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg™ electronic works provided that: • You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg™ works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg™ trademark,
  • 55. but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, “Information about donations to the Project Gutenberg Literary Archive Foundation.” • You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg™ License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg™ works. • You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. • You comply with all other terms of this agreement for free distribution of Project Gutenberg™ works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™ electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from the Project Gutenberg Literary Archive Foundation, the manager of the Project Gutenberg™ trademark. Contact the Foundation as set forth in Section 3 below. 1.F.
  • 56. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg™ collection. Despite these efforts, Project Gutenberg™ electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right of Replacement or Refund” described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg™ trademark, and any other party distributing a Project Gutenberg™ electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. 1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu
  • 57. of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. 1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. 1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg™ electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg™ electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg™ work, (b) alteration, modification, or additions or deletions to any Project Gutenberg™ work, and (c) any Defect you cause.
  • 58. Section 2. Information about the Mission of Project Gutenberg™ Project Gutenberg™ is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project Gutenberg™’s goals and ensuring that the Project Gutenberg™ collection will remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg™ and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation information page at www.gutenberg.org. Section 3. Information about the Project Gutenberg Literary Archive Foundation The Project Gutenberg Literary Archive Foundation is a non- profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. The Foundation’s business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email contact
  • 59. links and up to date contact information can be found at the Foundation’s website and official page at www.gutenberg.org/contact Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation Project Gutenberg™ depends upon and cannot survive without widespread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine-readable form accessible by the widest array of equipment including outdated equipment. Many small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit www.gutenberg.org/donate. While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff.
  • 60. Please check the Project Gutenberg web pages for current donation methods and addresses. Donations are accepted in a number of other ways including checks, online payments and credit card donations. To donate, please visit: www.gutenberg.org/donate. Section 5. General Information About Project Gutenberg™ electronic works Professor Michael S. Hart was the originator of the Project Gutenberg™ concept of a library of electronic works that could be freely shared with anyone. For forty years, he produced and distributed Project Gutenberg™ eBooks with only a loose network of volunteer support. Project Gutenberg™ eBooks are often created from several printed editions, all of which are confirmed as not protected by copyright in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. Most people start at our website which has the main PG search facility: www.gutenberg.org. This website includes information about Project Gutenberg™, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks.
  • 61. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! textbookfull.com