T-Mobile zadba o Twoją prywatność?

Zadzwoniła do mnie żona. Oboje mamy komórki w Erze (tzn. T-Mobile). Nie odebrałem, spadła na pocztę głosową.

OK. Zadzwoniłem na pocztę głosową, odsłuchałem, skasowałem.

W międzyczasie żona wróciła do domu. Chwilę później słyszymy, że jej komórka informuje o SMSie.

Czyta, pokazuje mi, a ja oczom nie wierzę:

Od: Poczta głosowa
Treść: Twoja wiadomosc glosowa, wyslada do mój numer, dnia 16/07 o 00:52, zostala odebrana dnia 16/07 o 01:12.

WHOA?! O ile w tym przypadku to żadna sprawa, o tyle jeśli zdarza mi się od kogoś nieodebrać połączenia, to niekoniecznie chcę by wiedział chwilę potem, że mam przy sobie komórkę i mogę odsłuchać pocztę. Bo np. może zadzwonić jeszcze raz!

Zadzwoniłem do boku, i tam się okazało, że:

  1. konsultant nie wiedział, że jest taka “usługa" (co sugeruje, że to nowość)
  2. nie da się tego wyłączyć (w/g konsultanta)

Ponieważ rzadko korzystam z komórek w ogóle, a z poczty głosowej w ogóle, ale cenię sobie moją prywatność, to po prostu wyłączyłem w ogóle pocztę głosowę (dla zainteresowanych: “zadzwonić" na numer: ##002#) i po problemie, ale ogólnie mam wrażenie, że mnie to irytuje. Czemu operator decyduje za mnie kto i co ma wiedzieć o mnie? Ja nawet kumam, że taka opcja może być przydatna. I niechby nawet, niech sobie będzie domyślnie włączona. Ale czemu tego nie da się wyłączyć?

Tak czy inaczej – krok za krokiem ograniczam sam sobie funkcjonalność telefonu – nie mam poczty głosowej, wyłączyłem możliwość dodzwonienia się do mnie z zastrzeżonych numerów. Pozostaje tylko pytanie – czy tak naprawdę, w dobie komputerów, skype'a itd, komórka jako przyrząd do rozmawiania ma jeszcze jakiś sens.

Write Ahead Log + Understanding postgresql.conf: checkpoint_segments, checkpoint_timeout, checkpoint_warning

While there are some docs on it, I decided to write about it, in perhaps more accessible language – not as a developer, but as PostgreSQL user.

Some parts (quite large parts) were described in one of my earlier posts, but I'll try to concentrate on WAL itself, and show a bit more in here.

Continue reading Write Ahead Log + Understanding postgresql.conf: checkpoint_segments, checkpoint_timeout, checkpoint_warning

explain.depesz.com update

Just updated explain.depesz.com site with new functionality – when showing parsed plan, there is new tab “stats". In there you can see some basic statistics of the query, used types of nodes, and tables that were used by it.

There are probably some problems with stats (it's new functionality, so bugs are imminent), but

As usual, some stats need to be added 🙂

  • Total count of plans in database: 18127
  • Count of private (not listed on history page) plans: 6965
  • Count of anonymized plans: 166 (this feature proved to be much less used than I thought it will be)
  • Since (including) May 2011, there are more private plans added than public ones. In June – 58.9% of all plans were private.

Waiting for 9.2 – relative paths in psql

On 6th of July, Robert Haas committed patch:

Add \ir command to psql.
 
\ir is short for "include relative"; when used from a script, the
supplied pathname will be interpreted relative to the input file,
rather than to the current working directory.
 
Gurjeet Singh, reviewed by Josh Kupershmidt, with substantial further
cleanup by me.

Continue reading Waiting for 9.2 – relative paths in psql

Waiting for 9.2 – NOT VALID CHECKS

On 30th of June, Alvaro Herrera committed patch:

Enable CHECK constraints to be declared NOT VALID
 
This means that they can initially be added to a large existing table
without checking its initial contents, but new tuples must comply to
them; a separate pass invoked by ALTER TABLE / VALIDATE can verify
existing data and ensure it complies with the constraint, at which point
it is marked validated and becomes a normal part of the table ecosystem.
 
An non-validated CHECK constraint is ignored in the planner for
constraint_exclusion purposes; when validated, cached plans are
recomputed so that partitioning starts working right away.
 
This patch also enables domains to have unvalidated CHECK constraints
attached to them as well by way of ALTER DOMAIN / ADD CONSTRAINT / NOT
VALID, which can later be validated with ALTER DOMAIN / VALIDATE
CONSTRAINT.
 
Thanks to Thom Brown, Dean Rasheed and Jaime Casanova for the various
reviews, and Robert Hass for documentation wording improvement
suggestions.
 
This patch was sponsored by Enova Financial.

Continue reading Waiting for 9.2 – NOT VALID CHECKS

Why is “depesz” between “de luca” and “de vil”?

Every so often someone asks why sorting behaves irrational. Like here:

$ SELECT string FROM test ORDER BY string;
  string
----------
 dean
 deer
 de luca
 depesz
 de vil
 dyslexia
(6 ROWS)

Why aren't “de luca" and “de vil" together?

Continue reading Why is “depesz" between “de luca" and “de vil"?

How to let clients to create new users?

Some (quite long) time ago, someone, somewhere (my memory is pretty fragile) asked a question. I don't have it exact, but the gist was: is it possible to give some users rights to create new users, without making them superusers, and forcing new users to have access only to one particular database.

After some discussion it was clear that the scenario was shared hosting with PostgreSQL, so the situation could look like this:

you are administrator of shared hosting service. One of services is PostgreSQL. You have client, named “depesz", and you want him to be able to create new users, but these users shouldn't be able to connect to any other database than depesz's db.

Is it doable?

Continue reading How to let clients to create new users?